我怎么知道图层正在使用哪个投影代码?
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
功能。
我花了很多时间来实现 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
功能。