2011-07-31 8 views
2

OpenlayersとOSMのドラッグ可能なマーカーから緯度/経度を取得しようとしていますが、投影変換の設定がわかりません。間違っている? http://pastie.org/2300321(参照addMarker L140 & updateTargets L153)&と少しdemo test:ここOpenlayers - ポイントから緯度/経度を取得するときの投影の問題

コードがあります。

住所を送信してからマーカーをドラッグすると、経度と緯度が間違っています。私は問題がupdateTargetsメソッドの内部にあると思います

答えて

5

...私はいくつかの異なる投影をテストしたが、私は私が使用してきたかわからないんだけど:

var point = this.feature.geometry; 
var pixel = new OpenLayers.Pixel(point.x, point.y); 
var coord = this.map.getLonLatFromPixel(pixel).transform(
    new OpenLayers.Projection("EPSG:900913"), 
    new OpenLayers.Projection("EPSG:4326") 
); 

this.feature.geometryがすでに/経度で指定されていますピクセルではなく、緯度座標です。だから私はあなたが二行目をスキップしてLONにOpenStreetMapの投影からの変換を行うことを示唆している/直接ジオメトリオブジェクトにLAT:

var coord = this.feature.geometry.transform(
    new OpenLayers.Projection("EPSG:900913"), 
    new OpenLayers.Projection("EPSG:4326") 
); 
+0

はい、それは動作します:)私はCOORDにを取得した後、投影を再変換しなければなりませんでしたマーカーを再ドラッグできるようになりましたが、今は良いです、多くのありがとう;) –

関連する問題