Javascript GeoJSON的自定义传单渲染器
默认情况下,我希望以与传单不同的方式呈现GeoJSON。不幸的是,更改Javascript GeoJSON的自定义传单渲染器,javascript,reactjs,leaflet,react-leaflet,Javascript,Reactjs,Leaflet,React Leaflet,默认情况下,我希望以与传单不同的方式呈现GeoJSON。不幸的是,更改style()函数是不够的,因为我需要对正在创建的矢量图形进行更大的控制 这样做的惯用方式是什么?我认为我可以重用在src/layers/vector/SVG.js中找到的默认SVG渲染器的许多部分。不过,我只想将其替换为一个GeoJSON层/一个FeatureGroup。因为这些都不是从路径继承的,所以这似乎是不可能的 我尝试以一种非常基本的方式扩展SVG类: import {SVG} from 'leaflet/src/l
style()
函数是不够的,因为我需要对正在创建的矢量图形进行更大的控制
这样做的惯用方式是什么?我认为我可以重用在src/layers/vector/SVG.js
中找到的默认SVG渲染器的许多部分。不过,我只想将其替换为一个GeoJSON层/一个FeatureGroup。因为这些都不是从路径继承的,所以这似乎是不可能的
我尝试以一种非常基本的方式扩展SVG类:
import {SVG} from 'leaflet/src/layer/vector/SVG'
export default class CustomSVG extends SVG {
_updatePoly (layer, closed) {
console.log('Custom renderer in action')
super._updatePoly(layer, closed)
}
}
然后在初始化传单时将其设置为渲染器,但失败的原因是TypeError:max2未定义
(这是一个未经处理的承诺拒绝,源于我使用react传单
)
我遗漏了什么?我再次阅读了文档,似乎遗漏了:
style
:定义用于设置GeoJSON线和多边形样式的函数,在添加数据时在内部调用。默认值是不覆盖任何默认值:
function (geoJsonFeature) {
return {}
}
另一方面,路径选项采用渲染器,我可以使用该渲染器仅覆盖此特定GeoJSON层的渲染。希望这对其他人有帮助 我再次阅读了文档,似乎遗漏了:
style
:定义用于设置GeoJSON线和多边形样式的函数,在添加数据时在内部调用。默认值是不覆盖任何默认值:
function (geoJsonFeature) {
return {}
}
另一方面,路径选项采用渲染器,我可以使用该渲染器仅覆盖此特定GeoJSON层的渲染。希望这对其他人有帮助 你需要什么样的“对矢量图形的更大控制”呢?你需要什么样的“对矢量图形的更大控制”?