我开始使用react-leaflet,我遇到了一个问题:在我的应用程序中,用户填写一个表单,然后请求返回GeoJSON的休息服务,然后将其添加为我的地图上的新图层.我的问题:如何在react-leaflet中动态添加图层?
谢谢.
最好的方法是为react-leaflet 创建 GeoJSON 层包装器。在 React-leaflet 的插件部分中,有一个类似的具有集群功能的 GeoJSON 层的实现。然后,您应该将该图层添加到地图组件中,并在需要时更改其数据。因此不需要动态添加图层而是动态更改其数据。检查传单的 GeoJSON 示例以了解其想法http://leafletjs.com/examples/geojson/。
如果您有一层数据不断变化,则该方法将起作用。但如果您有不同的数据集,则需要为每个数据集添加一个 GeoJSON 层。
<Map ...>
{this.props.datasets.map((ds, ix) => {
return (<GeoJSONOverlay data={ds} key={ix} />);
})}
</Map>
Run Code Online (Sandbox Code Playgroud)