getExtent () in OpenLayers gibt seltsame Werte zurück


8

Ich versuche, den Begrenzungsrahmen des Kartenbereichs von OpenLayers anzuzeigen.

Ich habe versucht, map.getExtent () zu verwenden, da es genau das sein sollte, was ich brauche, aber die zurückgegebenen Werte sind "seltsam":

Wenn ich zum Beispiel die Karte mit Zoomstufe 14 um Grenoble (Frankreich, 45.19 5.71) zentriere, gibt getExtent Folgendes zurück: 634409.225396,5647894.800465,643008.391077,5652672.114732 Ich denke, ich mache etwas falsch, aber ich kann nicht herausfinden, was. GetExtent () soll ein gebundenes Objekt mit Lat / Lon-Werten zurückgeben ...

Die Karte wird erstellt mit:

var map = new OpenLayers.Map('map', {
  projection: new OpenLayers.Projection("EPSG:900913"),
  displayProjection: new OpenLayers.Projection("EPSG:4326")
});

Ich verwende OSM als Basisschicht.

Antworten:


11

Es sieht so aus, als würden die Koordinaten in der Projektion der Karte zurückkommen (epsg 900913 AKA Web Mercator). Sie sollten in der Lage sein, die Transformation für Ihr Bounds-Objekt aufzurufen , um es in lat / long zu konvertieren. Versuchen Sie so etwas (ungetestet):

map.getExtent().transform(map.projection, map.displayProjection)

+1 - die displayProjection wird nur von einigen Steuerelementen verwendet, die Koordinaten anzeigen
geographika
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.