Как получить границы с react-leaflet
Я хочу получить границы текущей карты, чтобы я мог искать эти границы с помощью API Overpass.
для листовки Я знаю, что метод-это просто карта.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
Не функция.
1 ответов
попробовать this.refs.map.leafletElement.getBounds
.
по словам документация:
вы можете напрямую получить доступ к элементу листовки, созданному компонентом используя это.leafletElement в этом компоненте. Этот элемент листовки обычно создается в componentWillMount(), за исключением карты компонент, где он может быть создан только после контейнера оказанный.
что является круглым способом сказать, что они хранят объект листовки как leafletElement
свойства составляющих их объектов.