在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: ‘&copy; <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 react-leaflet 中编译失败

在反应传单上使用Leaflet插件

如何使用 react-leaflet 从 geojson 数据创建图例

Leaflet.js 地图不占用全宽 [React.js]

使用 react-leaflet 在标记内实现动态 JSX 元素

React-Leaflet在地图上绘制圆圈标记