2 回答
TA贡献1921条经验 获得超9个赞
每个 GIS 地图都有一个坐标系。GIS Web 应用程序与桌面 GIS 地图非常相似,因此它们也有一个坐标系。在 OpenLayers 中称为投影。
在 OpenLayers 中,每个 Web 应用程序都由一个Map()需要view()显示地图的类组成。默认情况下,每次view()使用Web Mercator projection或EPSG:3857作为其投影。所以在你的代码中,你应该把中心放在EPSG:3857坐标系中。如果要在 WGS 84 或经纬度数字中使用中心坐标,则应将视图投影更改为EPSG:4326如下所示:
view: new ol.View({
center: [0,0],
projection: 'EPSG:4326',
zoom: 0
})
投影对于进一步使用非常重要。如果您在特定投影中有一些数据,Openlayers 无法将它们显示在具有另一个投影的地图上。例如,如果您在 WGS 84 中有一些数据,则不能在默认视图中使用它们(因为它是 Web Mercator)。
因此,在选择视图投影之前,请阅读有关限制。例如,底图并非像普通图层一样在每个投影中都可用。
此外,您还可以使用另一个选项。动态投影整个图层(在客户端浏览器中)需要一个庞大的过程,但我们总是可以投影一个点或单个要素,并在我们的图层或底图之间使用它们。在您的情况下,您只能投影您的中心点并在 Web Mercator 中使用地图。对于此选项,您需要fromLonLat()像这样使用:
center: ol.proj.fromLonLat([0,0])
希望说清楚。
添加回答
举报