如何使用 react-leaflet 获取边界
How to get bounds with react-leaflet
我想获取当前地图的边界,以便我可以使用立交桥搜索这些边界 API。
对于传单,我知道方法只是 map.getBounds(),但我不知道如何在 react-leaflet 中实现它。
class SimpleExample extends React.Component {
constructor() {
super();
this.state = {
lat: 51.505,
lng: -0.09,
zoom: 13,
};
}
componentDidMount() {
console.log(this.refs.map.getBounds())
}
render() {
const position = [this.state.lat, this.state.lng];
return (
<Map center={position} zoom={this.state.zoom} ref='map'>
<TileLayer
attribution='© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
url='http://{s}.tile.osm.org/{z}/{x}/{y}.png'
/>
</Map>
);
}
}
这是我试过的。错误提示 this.refs.map.getBounds
不是一个函数。
尝试this.refs.map.leafletElement.getBounds
。
根据 documentation:
You can directly access the Leaflet element created by a component
using this.leafletElement in this component. This leaflet element
is usually created in componentWillMount(), except for the Map
component where it can only be created after the container is
rendered.
这是一种说法,他们将传单对象存储为 leafletElement
属性 在其组件对象上。
我想获取当前地图的边界,以便我可以使用立交桥搜索这些边界 API。
对于传单,我知道方法只是 map.getBounds(),但我不知道如何在 react-leaflet 中实现它。
class SimpleExample extends React.Component {
constructor() {
super();
this.state = {
lat: 51.505,
lng: -0.09,
zoom: 13,
};
}
componentDidMount() {
console.log(this.refs.map.getBounds())
}
render() {
const position = [this.state.lat, this.state.lng];
return (
<Map center={position} zoom={this.state.zoom} ref='map'>
<TileLayer
attribution='© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
url='http://{s}.tile.osm.org/{z}/{x}/{y}.png'
/>
</Map>
);
}
}
这是我试过的。错误提示 this.refs.map.getBounds
不是一个函数。
尝试this.refs.map.leafletElement.getBounds
。
根据 documentation:
You can directly access the Leaflet element created by a component using this.leafletElement in this component. This leaflet element is usually created in componentWillMount(), except for the Map component where it can only be created after the container is rendered.
这是一种说法,他们将传单对象存储为 leafletElement
属性 在其组件对象上。