Подтвердить что ты не робот

Преобразование точки в лат-лон

Интересно, как я могу получить координаты событий клика по карте как lat, lon?

Вот мой код:

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]

Но мне нужен lat lon и т.д.: ([39,54876,32,547821])

Аннотация: Мне нужно преобразовать координату epsg: 3857 в координату epsg: 4326 (lat/lon)

Любая идея?

4b9b3361

Ответ 1

Если ваша проекция проекции карты - это Web Mercator (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];
  // …
});