getExtent () en OpenLayers devuelve valores extraños

8

Estoy tratando de que OpenLayers muestre el cuadro delimitador del área del mapa.

Intenté usar map.getExtent () porque debería ser exactamente lo que necesito, pero los valores devueltos son "extraños":

Por ejemplo, si centro el mapa alrededor de Grenoble (Francia, 45.19 5.71) con nivel de zoom 14, el getExtent devuelve: 634409.225396,5647894.800465,643008.391077,5652672.114732 Supongo que estoy haciendo algo mal, pero no puedo entender qué. Se supone que getExtent () devuelve un objeto vinculado con valores Lat / Lon ...

El mapa se crea con:

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

Estoy usando OSM como mi capa base.

Bagazo
fuente

Respuestas:

11

Parece que las coordenadas están volviendo en la proyección del mapa (epsg 900913 AKA web mercator). Debería poder llamar a transform en su objeto de límites para convertirlo a lat / long. Pruebe algo como esto (no probado):

map.getExtent().transform(map.projection, map.displayProjection)
Derek Swingley
fuente
+1: la proyección de pantalla solo es utilizada por algunos controles que muestran coordenadas
geographika