Hallo,
bin seit langem auf der Suche nach der richtigen Koordinatenangabe.
Im Anhang habe ich ein Beispielbild hochgeladen. Ich möchte in OL3 die follgenden extent richtig angeben.
HTML:
js:
Code, wenn ich eine Stelle anklicke damit die Koordinaten angezeigt werden.
Meine Frage wäre wie kann ich den Nullpunkt nicht links definieren sondern wie kann ich dies rechts definieren? Spricht die Meterangabe am Bild sind gespiegelt worden. Nullpunkt fängt nicht wie gewohnt von links an sondern laut Bild von rechts. Also links 55 und rechts -20. Wenn ich die jeweiligen extent Bereich ändere, dann werden auch die Koordinaten nicht richtig angezeigt.
Hoffe war verständlich von mir ;-(
Ich bedanke mich für eure HIlfe!
bin seit langem auf der Suche nach der richtigen Koordinatenangabe.
Im Anhang habe ich ein Beispielbild hochgeladen. Ich möchte in OL3 die follgenden extent richtig angeben.
HTML:
Code:
<label class="radio" for="bild-switch_2"> <input id="bild-switch_2" class="bild-switch_1a" type="radio" name="bilder" value="Bild2" onchange="checkedRadioBtn('Haus.png', [750, 547], [-20, -10, 55, 20])" />Haus </label>
Code:
function checkedRadioBtn(url, size, extProj){ var resultExt, r2 = 0, ext = 1; if(extProj[0] < 0){ ext = extProj[0] * (-1); //Dreisatz resultExt = (((extProj[2] + ext)*size[1])/size[0])+extProj[1]; }else{ resultExt = (((extProj[2] - extProj[0])*size[1]) / size[0])-extProj[1]; } resultExt.toFixed(2); var newSizeProjection = new ol.proj.Projection({ code: 'metrics', units: 'm', extent: [extProj[0], extProj[1], extProj[2], resultExt] //Xmin, Ymin, Xmax, Ymax }); //remove map.removeLayer(baseLayer); //get layers and remove marker var allLayers = map.getLayers().getArray()[0]; map.removeLayer(allLayers); for(var i = 0; i<icons.length; i++){ map.removeLayer(icons[i]); } var extent = newSizeProjection.getExtent(); var center = ol.extent.getCenter(extent); var newV = new ol.View2D({ projection: newSizeProjection, center: center, zoom: 2 }); map.updateSize(); map.addLayer(newL); map.getView().getView2D().setProjection(newSizeProjection); map.getView().getView2D().setCenter(center); $("#extentResult").text('Extent: ' +newSizeProjection.getExtent()[0].toFixed(2)+", "+newSizeProjection.getExtent()[1].toFixed(2)+", "+newSizeProjection.getExtent()[2].toFixed(2)+", "+newSizeProjection.getExtent()[3].toFixed(2));
Code:
map.on('click', function(evt){ var coordinate = evt.coordinate; $("#result").text('You clicked here: x:' + coordinate[0].toFixed(2) + " m - y:" + coordinate[1].toFixed(2) + " m"); overlay.setPosition(coordinate); content.innerHTML = '<p>You clicked here:</p></br><code>x: ' + coordinate[0].toFixed(2) + ' m </br> y: ' + coordinate[1].toFixed(2) + ' m</code>'; container.style.display = 'block'; });
Hoffe war verständlich von mir ;-(
Ich bedanke mich für eure HIlfe!
Kommentar