我在openLayers3
中遇到了问题它的函数名称是'ol.proj.transform'
我想从'EPSG:5186'坐标
更改为'EPSG:4326'坐标var lonlat1 = ol.proj.transform([111111.1111,222222.2222222],'EPSG:5186','EPSG:4326');
console.log(lonlat1);
lonlat1值为[111111.1111,222222.2222222]
ol.proj.transform无效
为什么功能不起作用?
如何使用ol.proj.transform函数
请帮助我......答案 0 :(得分:1)
我猜ol.proj默认不包含EPSG:5186。幸运的是,您可以使用Proj4 library添加自定义投影。
下载proj4.js脚本并将其包含在您的地图页面上。
还包括来自epsg.io的EPSG:5186的定义:
<script src="https://epsg.io/5186.js"></script>
现在,在进行转换之前,请在变量中定义投影:
var koreanProj = ol.proj.get('EPSG:5186');
最后,在转换中使用该变量:
var lonlat1 = ol.proj.transform([111111.1111,222222.2222222], koreanProj, 'EPSG:4326');
答案 1 :(得分:0)
我不熟悉EPSG:5186格式;但是,这是一个似乎有效的类似示例(演示ol.proj.transform()
函数按预期工作的情况):
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script src="ol/v3.18.2/build/ol.js"></script>
</head>
<body>
ol.proj.transform([-85.49675,38.60643333], 'EPSG:4326', 'EPSG:3857');
<script>
var lonlat1 = ol.proj.transform([-85.49675,38.60643333], 'EPSG:4326', 'EPSG:3857');
console.log(lonlat1);
</script>
</body>
</html>
在控制台中提供以下结果:
Array [ -9517454.674479812, 4665452.296008711 ]