1

私はopenLayersを使用しており、OSMベースレイヤーを作成しています。デフォルトでは、レイヤーはEPSG:900913を使用し、座標はメートル単位です。EPSG:4326で度単位の座標を使用したいので、次のコマンドでレイヤーを初期化します。

base_layer.addOptions({ sphericalMercator: true, 
    projection: new OpenLayers.Projection('EPSG:4326')}, true);

現在、地図は度数を使用していますが、次の問題があります。緯度37.296、経度-5.929(http://www.openstreetmap.org/?lat=37.296&lon=-5.929&zoom=12&layers=Q#)と同じ座標のポイントGoogle Maps)は、緯度で表示されます(マップを移動map.getCenter()し、firebugで実行します)。-49.75、lon。-5.929。

なんで?openstreetmap.orgで返されるのと同じ次数の座標を持つOSMレイヤーを使用するにはどうすればよいnominatim.openstreetmap.orgですか?

4

1 に答える 1

2

EPSG:4326表示しているタイルが実際にでレンダリングされたときにレイヤーが存在すると主張することはできませんEPSG:3857。それは無意味です。

正直に言うと、ここで何をしようとしているのかはよくわかりませんが、OpenLayersがユーザーとの間で値を通信するときに度を使用するように設定displayProjectionすると役立つ場合があります。EPSG:4326

マップの場所をコードで読み取ったり設定したりする場合は、場所の値でメソッドを呼び出して、取得した値getCenterまたは自分に与えた値を再投影する必要があります。setCentertransform

于 2013-02-15T09:19:23.170 に答える