我有一个基于 Leaflet 的地图解决方案,它使用用户提供的 ArcGIS 地图配置(我不知道它会是什么,他们将使用自己的 ArcGIS 服务对其进行自定义)。问题是投影几乎可以是任何东西,我需要使用 Proj4Leaflet 相应地配置地图的 CRS。我遇到的问题是我不确定如何计算比例/分辨率数组。用户正在输入这些值:投影键、Proj4 字符串、原点、边界、缩放级别。
因此,例如(是的,我知道 EPSG:3857 是标准的,我可以只使用 L.CRS.EPSG3857,但它是如何使用 Proj4Leaflet 设置相同内容的一个很好的例子):
Projection key = EPSG:3857
Proj4 string = +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs
Origin = [0,0]
Bounds = [[-20026376.39, -20048966.10], [20026376.39, 20048966.10]]
Zoom levels = 18
有了这个,我认为我有足够的能力为它设置一个 L.Proj.CRS:
var crs = new L.Proj.CRS("EPSG:3857", "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs",
{
resolutions : [?????],
origin : [0,0],
bounds : [[-20026376.39, -20048966.10], [20026376.39, 20048966.10]]
});
除了分辨率数组之外,我拥有我需要的一切,我不确定如何根据给定的数据进行设置,并且很难找到答案让我指向正确的方向。