UNPKG

rc-bmap

Version:

<p align="center"> <img src="https://bmap.jser-club.com/home.png" width="200px"> </p> <p align="center">基于 React 的百度地图组件</p>

37 lines (30 loc) 926 B
import { PureComponent } from 'react'; import PropTypes from 'prop-types'; import { TileLayer as BTileLayer } from '../../core'; class TileLayer extends PureComponent { static contextTypes = { getMapInstance: PropTypes.func, } componentDidMount() { const { context, props } = this; const { children, ...resetProps } = props; this.config = { ...this.config, ...resetProps }; this.mapInstance = context.getMapInstance(); const layer = new BTileLayer(this.config, this.mapInstance); this.layer = layer; this.instance = layer.instance; } componentDidUpdate() { const { children, ...resetProps } = this.props; this.config = { ...this.config, ...resetProps }; this.layer.repaint({ ...this.config }); } componentWillUnmount() { this.layer.destroy(); } render() { const { children } = this.props; return children || null; } } export default TileLayer;