如何在 React-Leaflet 地图上向 GeoJson 形状添加图案?

How to add pattern to GeoJson shape on a React-Leaflet map?

我正在使用 React-Leaflet to display a Leaflet.js map. I use React-Leaflet GeoJSON (source here) 在地图上显示多边形图层。

虽然我可以改变多边形填充 (fillOpacity) 的不透明度,但我找不到用图案(例如跳棋、条纹等)填充多边形的选项

我找到了一个支持向 Leaflet.js 形状添加填充图案的项目 (Leaflet.pattern),但它尚未适用于 React-Leaflet

所以我的问题是:如何向 React-Leaflet 形状添加图案,或调整 Leaflet.pattern 以与 React-Leaflet 一起使用? (对于后者,关于如何创建自定义 React-Leaflet 组件的说明是 here,但我不知道如何为这种情况做 - 它似乎比平常更复杂)

看看section in the docs about extending react-leaflet

如果您使用的是 react-leaflet v1,您可以直接扩展 react-leaflet 的 GeoJSON class。如果您使用的是 v2,则需要扩展 Path class instead. To understand why that's necessary take a look at this issue.

一旦您确定要扩展哪个 class,您的大部分更改可能需要发生在 createLeafletElement 函数中,也许还有 updateLeafletElement 函数。