我怎么知道图层正在使用哪个投影代码?

How can I know which projection code a layer is using?

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

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

默认情况下,当传递给 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 将使这更方便,具有 fromLonLat 功能。