Как использовать proj4lefleat в реакции-листовке?

У меня есть рабочая листовка с реагирующей картой, которую нужно переопределить, чтобы она содержала пользовательскую проекцию (ETRS89 / UTM зона 32N, EPSG:25832), поскольку стандартный EPSG:3857 WMS-запрос, отправленный Leaflet, создает сдвинутую карту (поэтому Администрация города, я использую данные, сказал мне, чтобы использовать их родную проекцию).

Я могу импортировать proj4leaflet и определить проекцию следующим образом:

import "proj4leaflet";
const crs = new Leaflet.Proj.CRS(
    'EPSG:25832',
    '+proj=utm +zone=32 +ellps=GRS80 +units=m +no_defs ',
    {
        resolutions: [
            8192, 4096, 2048, 1024, 512, 256, 128,
            64, 32, 16, 8, 4, 2, 1, 0.5
        ],
        origin: [0, 0]
    });

Когда я добавляю это к моей карте:

<Map
  center={center}
  zoom={zoom}
  className="Map"
  onClick={onClick}
  crs={crs}
  >

ни мой WMSTileLayer, ни мой TileLayer не будут визуализироваться впоследствии. Каков наилучший способ отладки этого? Обратите внимание, что у меня нет доступа к серверам, к которым я обращаюсь, так как я использую WMS с открытыми данными правительства, поэтому я не вижу журналы там.

1 ответ

Спасибо, Эван. При составлении примера JSFiddle я обнаружил ошибку (у меня была неправильная ссылка в ссылке библиотеки Proj4).

const crs = new window.L.Proj.CRS

Я добавлю здесь рабочий пример для других в качестве ссылки: JSFiddle Пример Proj4 Leaflet Map CRS

Другие вопросы по тегам