在react中使用leaflet
Posted jojoray
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在react中使用leaflet相关的知识,希望对你有一定的参考价值。
如果有样式问题,检查是否引入leaflet.css,地图容器是否标注宽高
引入方式:
import React from ‘react‘; import L from ‘leaflet‘; class Map extends React.Component { componentDidMount() { // create map this.map = L.map(‘map‘, { center: [49.8419, 24.0315], zoom: 16, layers: [ L.tileLayer(‘http://{s}.tile.osm.org/{z}/{x}/{y}.png‘, { attribution: ‘© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors‘ }), ] }); } render() { return <div id="map"></div> } } export default Map;
添加标记
componentDidMount() { ... // add marker this.marker = L.marker(this.props.markerPosition).addTo(this.map); }
更新标记
componentDidUpdate({ markerPosition }) {
// check if position has changed
if (this.props.markerPosition !== markerPosition) {
this.marker.setLatLng(this.props.markerPosition);
}
}
添加标记层
componentDidMount() {
...
// add layer
this.layer = L.layerGroup().addTo(this.map);
}
以上是关于在react中使用leaflet的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 react-leaflet 从 geojson 数据创建图例