我花了很多时间来实现this:
var view = new ol.View({
//this doesn't work
//center: [-73.979681,40.7033127],
//this works
center: ol.proj.transform([-73.979681,40.7033127], 'EPSG:4326', 'EPSG:3857'),
zoom: 8
});
我在OpenLayer's quickstart上找到了如何将投影从一个投影到另一个投影。但是,在另一个教程中,这一点并不十分清楚。我不习惯那些特定的投影代码,也不习惯哪个层使用哪个。
是否有一个列表,我可以知道图层使用哪个投影代码?
答案 0 :(得分:1)
默认情况下,如果在传递给ol.View
构造函数的选项中未指定投影,则视图投影为Web Mercator(其EPSG代码为EPSG:3857
)。
您可以map.getView().getProjection()
进行视图投影。然后在返回的投影对象上调用getCode
以获取其代码。
要将坐标从lon / lat转换为Web Mercator,您需要使用以下内容:
var coords = ol.proj.transform([lon, lat], 'EPSG:4326', 'EPSG:3857');
下周到期的OpenLayers v3.5.0将使{{1}}功能更加方便。