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.

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)

+1 - displayProjection hanya digunakan oleh beberapa kontrol yang menampilkan koordinat
geografi
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.