我正在尝试使用带有特定投影 EPSG:2169(Luref 或卢森堡)的 Leaflet。我看到如果我不使用像 WGS84 这样的“标准”投影,我必须使用 Proj4Leaflet 并将其引用到地图上。
这就是我现在所做的:
this.crs = new L.Proj.CRS('EPSG:2169',
'+proj=tmerc +lat_0=49.83333333333334 +lon_0=6.166666666666667 +k=1 +x_0=80000 +y_0=100000 +ellps=intl +towgs84=-189.681,18.3463,-42.7695,-0.33746,-3.09264,2.53861,0.4598 +units=m +no_defs');
this.map = L.map('map', {
center: [ 74000, 96000 ],
zoom: 3,
crs: this.crs,
});
当我用地图加载页面时,控制台给了我这些错误:
Cannot read property '3' of undefined
Cannot read property 'x' of undefined
经过一番谷歌搜索,我发现我必须定义“分辨率”选项。我不确切知道它是如何使用的,但我从一个样本中获取,现在是 CRS 的外观:
this.crs = new L.Proj.CRS('EPSG:2169',
'+proj=tmerc +lat_0=49.83333333333334 +lon_0=6.166666666666667 +k=1 +x_0=80000 +y_0=100000 +ellps=intl +towgs84=-189.681,18.3463,-42.7695,-0.33746,-3.09264,2.53861,0.4598 +units=m +no_defs',
{
resolutions: [8192, 4096, 2048, 1024, 512, 256, 128]
});
现在加载地图时,控制台中出现此错误:
TypeError: coordinates must be finite numbers
而现在我不知道下一步该做什么。这里有人已经遇到过这种问题吗?
我看一下这个推荐的帖子:尝试在 Leaflet 中使用 EPSG:3857 但我没有找到我想要的。我的目标是在 EPSG:2169 中准备一张地图,这样我就可以从这个投影中的 GeoServer WMS 检索 GeoJson 数据。
提前谢谢了。