getExtent () di OpenLayers mengembalikan nilai aneh

8

Saya mencoba untuk mendapatkan kotak pembatas dari area peta yang ditampilkan oleh OpenLayers.

Saya mencoba menggunakan map.getExtent () karena harus persis apa yang saya butuhkan, tetapi nilai yang dikembalikan "aneh":

Misalnya, jika saya memusatkan peta di sekitar Grenoble (Prancis, 45,19 5.71) dengan tingkat zoom 14, pengembalian getExtent: 634409.225396.5647894.800465,643008.391077,5652672.114732 Saya kira saya melakukan sesuatu yang salah, tapi saya tidak tahu apa. GetExtent () seharusnya mengembalikan objek terikat dengan nilai Lat / Lon ...

Peta dibuat dengan:

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

Saya menggunakan OSM sebagai lapisan dasar saya.

Marc
sumber

Jawaban:

11

Sepertinya koordinat kembali dalam proyeksi peta (epsg 900913 web mercator AKA). Anda harus dapat memanggil transformasi pada objek batas Anda untuk mengubahnya menjadi lat / long. Coba sesuatu seperti ini (belum diuji):

map.getExtent().transform(map.projection, map.displayProjection)
Derek Swingley
sumber
+1 - displayProjection hanya digunakan oleh beberapa kontrol yang menampilkan koordinat
geografi