getExtent () trong OpenLayers trả về các giá trị lạ


8

Tôi đang cố gắng để có được khung giới hạn của khu vực bản đồ được hiển thị bởi OpenLayers.

Tôi đã cố gắng sử dụng map.getExtent () vì nó chính xác là những gì tôi cần, nhưng các giá trị được trả về là "lạ":

Ví dụ: nếu tôi căn giữa bản đồ xung quanh Grenoble (Pháp, 45,19 5,71) với mức thu phóng 14, thì getExtent trả về: 634409.225394,5647894.800465.643008.391077,5652672.114732 Tôi đoán tôi đang làm gì đó sai. GetExtent () được cho là trả về một đối tượng bị ràng buộc với các giá trị Lat / Lon ...

Bản đồ được tạo với:

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

Tôi đang sử dụng OSM làm lớp cơ sở của mình.

Câu trả lời:


11

Có vẻ như các tọa độ đang quay trở lại trong phép chiếu của bản đồ (epsg 900913 AKA web mercator). Bạn sẽ có thể gọi biến đổi trên đối tượng giới hạn của mình để chuyển đổi nó thành lat / long. Hãy thử một cái gì đó như thế này (chưa được kiểm tra):

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

+1 - trình chiếu Hiển thị chỉ được sử dụng bởi một số điều khiển hiển thị tọa độ
geographika
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.