Für mein Projekt möchte ich ein Textfeld mit den x-und y-Koordinaten füllen, wenn ich in die Karte klicken. Ich habe das auf meinem Bildschirm mit diesem diesem Standardcode angezeigt Koordinaten:erhalten Koordinaten als Variablen aus Openlayer 3 Karte
var mousePositionControl = new ol.control.MousePosition({
className: 'custom-mouse-position',
target: document.getElementById('location'),
coordinateFormat: ol.coordinate.createStringXY(5),
undefinedHTML: ' '
});
so dachte ich: wenn ich mousePositionControl als Variable für die x verwenden und y-Koordinate i dies erhalten in der Textbox. Also habe ich versucht, dies:
map.on('click', function() {
document.getElementById("coördinates").value = mousePositionControl;
});
aber das Ergebnis i in das Textfeld erhalten, ist dies: [object Object]
Kann mir jemand helfen mit diesem Problem?
String Darstellung eines Objekts vom Typ 'ol.control.MousePosition' ist "[object Object]", so der Code tut genau das, was Sie es sind zu fragen zu tun . Der "Click" -Handler empfängt das "Ereignis" -Objekt, das bereits die Koordinaten des angeklickten Pixels enthält, so dass kein Steuerelement eingebunden werden muss. – kryger
ist das Element 'location', das' x' und 'y' zeigt. Warum musst du 'x' und' y' zum zweiten Mal für das Element 'coordinates' verwenden? – Nurlan
Als eine Randnotiz, "coördinates" und "coöperate" werden als "Koordinaten" und "kooperieren" in Englisch geschrieben. –