【问题标题】:Calling methods on React-Leaflet components (LayerGroup)在 React-Leaflet 组件(LayerGroup)上调用方法
【发布时间】:2020-03-12 20:36:42
【问题描述】:

我正在尝试在我的 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

【问题讨论】:

    标签: javascript leaflet geojson kml react-leaflet


    【解决方案1】:

    只需要访问markers.leafletElement.toGeoJSON()。 Leaflet方法可以通过leafletElement访问。

    哎呀

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-02
      • 1970-01-01
      • 1970-01-01
      • 2016-06-26
      • 1970-01-01
      • 1970-01-01
      • 2022-10-22
      • 2022-08-14
      相关资源
      最近更新 更多