ol.proj.transform(coordinate, source, destination)

  • 将坐标从源投影转换为目标投影。这将返回一个新的坐标(并且不会修改原始坐标)。

示例:

1、将地理坐标转为投影坐标

ol.proj.transform(pos, 'EPSG:4326', 'EPSG:3857')

2、将投影坐标转为地理坐标

ol.proj.transform(pos, 'EPSG:3857', 'EPSG:4326')

注意:为什么这样写

我们一般用的比较多的是设置地图的中心点,所以使用的时候是将地理坐标转为投影坐标,如下所示。通常,数据存储在EPSG:4326中并显示在 EPSG:3857中。

function anmiteCenter(map, attr, zoom) {
let pos = [parseFloat(attr.lon), parseFloat(attr.lat)];
pos = ol.proj.transform(pos, 'EPSG:4326', 'EPSG:3857');
map.getView().animate({
center: pos,
zoom: zoom
});
}