web-dev-qa-db-ja.com

ポイントを緯度経度に変換

どうすれば地図クリックイベントの座標を緯度経度で取得できますか?

これが私のコードです:

map.on('click', function(evt) {
    var element = popup.getElement();
    var coordinate = evt.coordinate;

    var latLon = ol.proj.transform(coordinate, 'EPSG:3857', 'EPSG:4326');

    $(element).popover('destroy');
    popup.setPosition(coordinate);

通常、座標値は配列などを提供します:[48654.02545、3265468.45455]

しかし、緯度経度などが必要です:([39,54876,32,547821])

要約:epsg:3857座標をepsg:4326座標に変換する必要があります(緯度/経度)

何か案が?

15
gokhangokce

マップビューの投影がデフォルトのWebメルカトル(EPSG:3857)の場合、次のように機能します。

map.on('click', function(evt) {
  var lonlat = ol.proj.transform(evt.coordinate, 'EPSG:3857', 'EPSG:4326');
  var lon = lonlat[0];
  var lat = lonlat[1];
  // …
});
35
erilem