如何知道图层使用的投影代码?

时间:2015-04-27 22:04:14

标签: openlayers-3

我花了很多时间来实现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上找到了如何将投影从一个投影到另一个投影。但是,在另一个教程中,这一点并不十分清楚。我不习惯那些特定的投影代码,也不习惯哪个层使用哪个。

是否有一个列表,我可以知道图层使用哪个投影代码?

1 个答案:

答案 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}}功能更加方便。