在 React-Leaflet 组件(LayerGroup)上调用方法
Calling methods on React-Leaflet components (LayerGroup)
我正在尝试在我的 React-Leaflet LayerGroup 上调用方法 toGeoJSON
。
(最终我试图将图层组转换为 KML,但我找到了答案 here,我首先尝试将其转换为 geoJSON)
我尝试将 ref
添加到 LayerGroup,然后在其上调用 toGeoJSON
,但它失败了,因为那不是一个函数。在检查 LayerGroup 的 ref
时,它似乎没有 leaflet documentation
中可用的任何方法
有办法解决这个问题吗?我导入了 Leaflet 和 ReactLeaflet 库,并且在函数的范围内,我只是不确定如何找到该函数。
我的代码的简化版本:
function MyMap(){
const markerRef = useRef()
function export(){
let markers = markerRef.current
let GeoJSON = markers.toGeoJSON() // < THIS LINE THROWS AN ERROR
}
return (
<>
<button onClick={export}>Export</button>
<Map>
<LayerGroup ref={this.markersRef}>{markers}</LayerGroup>
</Map>
</>
)
}
更详尽的示例:https://codesandbox.io/s/react-lealfet-map-bug-report-4258z
刚好需要访问 markers.leafletElement.toGeoJSON()
。可以通过 leafletElement
.
访问传单方法
糟糕
我正在尝试在我的 React-Leaflet LayerGroup 上调用方法 toGeoJSON
。
(最终我试图将图层组转换为 KML,但我找到了答案 here,我首先尝试将其转换为 geoJSON)
我尝试将 ref
添加到 LayerGroup,然后在其上调用 toGeoJSON
,但它失败了,因为那不是一个函数。在检查 LayerGroup 的 ref
时,它似乎没有 leaflet documentation
有办法解决这个问题吗?我导入了 Leaflet 和 ReactLeaflet 库,并且在函数的范围内,我只是不确定如何找到该函数。
我的代码的简化版本:
function MyMap(){
const markerRef = useRef()
function export(){
let markers = markerRef.current
let GeoJSON = markers.toGeoJSON() // < THIS LINE THROWS AN ERROR
}
return (
<>
<button onClick={export}>Export</button>
<Map>
<LayerGroup ref={this.markersRef}>{markers}</LayerGroup>
</Map>
</>
)
}
更详尽的示例:https://codesandbox.io/s/react-lealfet-map-bug-report-4258z
刚好需要访问 markers.leafletElement.toGeoJSON()
。可以通过 leafletElement
.
糟糕