私はかなり混乱しています。ポイントがあります:
x= -12669114.702301
y= 5561132.6760608
DrawFeature コントローラーを使用してベクター レイヤーに正方形を描画した結果です。
数字は...うーん...非常に大きいようですが、機能しているようです。後ですべて同じ点で四角形を描くと、同じ位置にあるので、正しくなければならないと思います。
問題は、この点を緯度と経度に変換しようとするときです。
私は使用しています:
map.getLonLatFromPixel(pointToPixel(points[0]));
points[0] はジオメトリ ポイントであり、pointToPixel 関数は任意のポイントを取り、それをピクセルに変換します (getLonLatFromPixel にはピクセルが必要なため)。これは、単にポイントの x を取得し、それをピクセル x にすることなどによって行われます。
私が取得する緯度と経度は次の順序です。
lat: -54402718463.864
lng: -18771380.353223
これは明らかに間違っています。私は本当に混乱しています。以下を使用して、このオブジェクトを投影してみます。
.transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject());
しかし、私は本当にそれを理解していません.とにかく、私はそれを間違ってやったと確信しています.
私のコードはここにあります: http://pastie.org/909644
私は途方に暮れています。同じ結果を得るためにそれらを再利用できるため、座標は一貫しているように見えます...しかし、openLayers Webサイトで見ているどの例よりもはるかに大きいようです...