将点转换为lat lon

时间:2014-11-17 07:33:34

标签: openlayers-3

我想知道,我怎样才能将地图点击事件的坐标视为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坐标(纬度/经度)

有什么想法吗?

1 个答案:

答案 0 :(得分:33)

如果您的地图视图投影是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];
  // …
});