如何在OpenLayers中获得真实坐标


How to get real coordinates in OpenLayers?

在OpenLayers中,我使用ol.source.XYZ.

所以我使用了一个带有变量{x}{y}{z}和{a-z}的URL。我想用另一台网络服务器渲染一些图片。

但我不明白变量x y和z告诉我什么。

我需要纬度和经度的坐标。例如:10.1234567和9.1234567。谷歌不能告诉我,我是否可以转换这个?还是应该使用另一个OpenLayers解决方案?

OpenLayers给了我以下值,例如:

x=3,y=262144,z=19

这些坐标是平铺坐标。xy是平铺网格中的列和行,y是缩放级别。如果你需要知道瓷砖角落的纬度和经度,你可以使用

var extent = source.getTileGrid().getTileCoordExtent([z, x, y]);

这将为您提供视图投影中的范围。要转换为地理坐标,请使用

ol.proj.transformExtent(extent, map.getView().getProjection, 'EPSG:4326');