我正在尝试调整以下OSM / OpenLayers示例,该示例将Google地图用于我的项目
http://openlayers.org/en/v3.0.0/examples/google-map.html
我构建了以下页面,非常简单:
http://185.8.104.235/testOSM/testOSM.html
问题是当我加载页面时,地图总是设置为lon / lat(0,0),当我想缩放到不同的坐标时。
IOW,view.setZoom(5)工作,而view.setCenter([47,3])不...
有什么建议吗? 提前谢谢。
答案 0 :(得分:0)
您正在以度为单位设置中心(因为您可能认为坐标在EPSG中:4326)而OpenLayers 3中的defaut坐标使用EPSG:3857又称球形墨卡托。
您必须从EPSG:4326转换为EPSG:3857
在您的代码中,
var center = ol.proj.transform(view.getCenter(), 'EPSG:3857', 'EPSG:4326');
应该是
var center = ol.proj.transform(view.getCenter(), 'EPSG:4326', 'EPSG:3857');
和
view.setCenter([47, 3]);
应该是
view.setCenter(ol.proj.transform([47, 3], 'EPSG:4326', 'EPSG:3857'));