我應該如何遷移現有的 Leaflet 腳本以上傳 kml 文件以在 React-Leaflet 中運行

羅伯托·費爾南德斯

我想知道如何遷移下面的 javascript 代碼(插件)以在 React 中運行。它允許將 kml 文件上傳到在 html 中運行的傳單,但在 React-Leaflet 中不起作用

https://www.npmjs.com/package/leaflet-filelayer

我已經在為 React 使用 Leaflet 的一個版本,但它沒有允許在地圖上上傳 kml 文件的對象......

感謝您的指導

布勒

創建一個自定義組件,您將在安裝並將其與togeojson一起導入後加載傳單文件層庫。

因此安裝並導入兩個庫

import togeojson from 'togeojson'
import fileLayer from 'leaflet-filelayer'

調用fileLayer(null, L, togeojson)能夠使用L.Control.fileLayerLoad

然後創建你在官方庫中看到的組件,並將邏輯放在 useEffect 下

...imports

fileLayer(null, L, togeojson);
...

export default function LeafletFileLayer() {
  const map = useMap();

  useEffect(() => {
    const control = L.Control.fileLayerLoad({
      fitBounds: true,
      layerOptions: {
        style: style,
        pointToLayer: function (data, latlng) {
          return L.circleMarker(latlng, { style: style });
        }
      }
    });
    control.addTo(map);
    control.loader.on("data:loaded", function (e) {
      var layer = e.layer;
      console.log(layer);
    });
  }, [map]);

  return null;
}

像這樣使用它

 <MapContainer ...>
    ...
    <LeafletFileLayer />
 </MapContainer>

我在沙箱上上傳了來自官方傳單站點的 geojson 和一個 kml 以便能夠對其進行測試。您必須先下載它們。

演示

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何与从 Leaflet 中的 .kml 文件绘制的邮政编码叠加进行交互

如何在Leaflet.js的文件系统中存储图块

如何在React-leaflet中做成椭圆形?

Leaflet.Draw-geoJSON到Kml

当我知道使用Leaflet-Control-geocoder在React-Leaflet中的经度和纬度时,如何检索地点的地址?

React-Leaflet中的映射状态

在 React Leaflet 的地图中定位我

Leaflet JS如何从文件系统加载图块

在react-leaflet上使用Leaflet插件

React-leaflet如何重置样式

React-leaflet:如何更新标记位置?

React Leaflet按键警告

如何删除 Leaflet 中的现有控件?

使用React Typescript在react-leaflet-markerclusterer中显示所有群集标记

如何在react-leaflet中使用leaflet.bezier插件?

React-leaflet 自定义组件,如何从 Leaflet 扩展 Polyline?

如何在React-leaflet中将Leaflet的FeatureGroup与OverlappingMarkerSpiderfier结合使用?

如何在Angular中显示Leaflet标记?

如何更改 reactJS Leaflet 中的按钮位置?

我应该如何在React-leaflet中使用OverlappingMarkerSpiderfier?

React Leaflet:动态添加标记

React Leaflet 创建多个地图

React Leaflet -- 地图辅助按钮

如何将R map中的Leaflet保存为png或jpg文件?

单击React Leaflet v.3.x中的标记时,如何动态更改地图缩放?

如何在geojson层中手动控制react-leaflet弹出窗口(通过props)?

如何在缩放更改事件时在react-leaflet中获取Map对象

如何将数据绑定到 React Leaflet 中的标记点击?

如何根据react-leaflet中的选定位置flyTo然后在位置周围获取Bounds