如何解决react-leaflet 获取当前缩放边界
我目前有这张地图
import React,{ useEffect } from "react";
import "./App.css";
import { MapContainer,TileLayer,Marker } from "react-leaflet";
function App() {
useEffect(() => {
console.log("first run");
},[]);
return (
<div className="App">
<div id="mapid">
<MapContainer
style={{ height: "100vh",width: "100vw" }}
center={[51.505,-0.09]}
zoom={13}
scrollWheelZoom={true}
>
<TileLayer
attribution='© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
/>
<Marker position={[51.505,-0.09]}></Marker>
<Marker position={[51.490114,-0.09066]}></Marker>
</MapContainer>
</div>
</div>
);
}
export default App;
我需要找到最小纬度、最大纬度、最小经度、最大经度
但是我找不到如何使用钩子/使用效果来做到这一点
解决方法
获取地图参考后,当组件挂载时,可以使用map.getBounds()
获取地图边界。它包含当前或更新的西南、东南、西北、东北等坐标。
useEffect(() => {
if (!map) return;
console.log(map.getBounds());
},[map]);
如果您想在放大或缩小后使用新的,您可以添加一个 zoomend
事件
useEffect(() => {
if (!map) return;
console.log(map.getBounds());
map.on("zoomend",function () {
console.log(map.getBounds());
});
},[map]);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。