Я пытаюсь использовать Leaflet с заданной c проекцией EPSG: 2169 (Люреф, или Люксембург). Я увидел, что если я не использую «стандартную» проекцию, такую как 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
После некоторого поиска в Google я обнаружил, что должен определить опцию «разрешения». Я не знаю точно, как это используется, но я взял из примера, и вот теперь, как выглядит 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
И теперь я не знаю, что делать дальше. У кого-нибудь здесь уже была такая проблема?
Я смотрю на этот рекомендуемый пост: пытаюсь использовать EPSG: 3857 в Leaflet Но я не нашел то, что хочу. Моя цель - подготовить карту в EPSG: 2169, чтобы я мог получить данные Geo Json из WMS GeoServer, которые находятся в этой проекции.
Заранее большое спасибо.