OpenLayersのgetExtent()が奇妙な値を返す


8

OpenLayersによって表示されるマップ領域の境界ボックスを取得しようとしています。

map.getExtent()を使用しようとしましたが、それはまさに私が必要とするものでなければならないためですが、戻り値は「奇妙」です。

たとえば、ズームレベル14でグルノーブル(フランス、45.19 5.71)を中心にマップを配置すると、getExtentは次を返します。getExtent()はLat / Lon値を持つバインドされたオブジェクトを返すことになっています...

マップは次のように作成されます:

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

OSMをベースレイヤーとして使用しています。

回答:


11

座標がマップの投影法(epsg 900913 AKA web mercator)に戻ってきているようです。境界オブジェクトで変換を呼び出して、緯度/経度に変換できるはずです。次のようなものを試してください(試していない):

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

+1 - displayProjectionのみ表示座標といういくつかのコントロールによって使用される
geographika
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.