2

我有一个工作反应传单地图,我需要重新定义以保存自定义投影(ETRS89 / UTM 区域 32N,EPSG:25832),因为传单发送的默认 EPSG:3857 WMS 请求正在生成一个移位地图(所以市政府我正在使用的数据告诉我使用他们的原生投影)。

我可以像这样导入 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,因此我无法访问我正在查询的服务器,因此我看不到那里的日志。

4

1 回答 1

0

谢谢,埃文。在整理一个 JSFiddle 示例时,我发现了这个错误(我在 Proj4 库链接中的引用有误)。

const crs = new window.L.Proj.CRS

我在这里添加其他人的工作示例作为参考:JSFiddle Example of Proj4 Leaflet Map CRS

于 2017-03-27T09:31:44.997 回答