4

openlayers で正方形のポリゴンを使用して境界ボックスを取得しようとしています。ボックスから北、南、西、東の値を取得する必要があります。今私は使用しています:

var topleft = vectors.features[0].geometry.getVertices()[0];

左上の頂点を取得します。ただし、次のような値を返します。

POINT(-13393350.718762 4024321.5982824)

この返されたポイントから緯度と経度の値を取得するにはどうすればよいですか?

4

1 に答える 1

6

あなたが持っている1つのオプションは、 getVertices()[i] を使用してポイントを生成することです

var myPoint = new OpenLayers.Geometry.Point(vectors.features[0].geometry.getVertices()[0].x,
                              vectors.features[0].geometry.getVertices()[0].y )

次に、そのポイントを変換して、次のような方法で緯度と経度を取得します

var myLatLonPoint = myPoint.transform( map.getProjectionObject(),
                   new OpenLayers.Projection("EPSG:4326"));

次に、それらのポイントから緯度と経度を取得できるはずです。

別のオプションとして、境界を変換してから個々の頂点を引き出すという方法が、おそらく好ましいと思われます。

var myLatLonSquare = vectors.features[0].geometry.transform( map.getProjectionObject(),
                   new OpenLayers.Projection("EPSG:4326"));

次に、頂点の緯度経度を次のように引き出します。

myLatLonSquare.getVertices()[0].x  myLatLonSquare.getVertices()[0].y
于 2011-12-08T16:52:06.547 に答える