Вызов методов для компонентов React-Leaflet (LayerGroup) - PullRequest
1 голос
/ 12 марта 2020

Я пытаюсь вызвать метод toGeoJSON в React-Leaflet LayerGroup. (В конечном итоге я пытаюсь преобразовать группу слоев в KML, но я нашел ответ здесь , и сначала я пытаюсь преобразовать ее в geo JSON)

Я попытался добавить ref для LayerGroup, а затем вызывать toGeoJSON для нее, но она завершается ошибкой, поскольку это не функция. При проверке ref для LayerGroup, похоже, нет ни одного из методов, доступных в документации

Есть ли способ обойти это? У меня импортированы библиотеки 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

1 Ответ

1 голос
/ 13 марта 2020

Просто необходимо для доступа к markers.leafletElement.toGeoJSON(). Доступ к методам листовки можно получить через leafletElement.

oops

...