如何解决如何随着地图位置的变化更新地图的边界? Working codesandbox
我的代码在这里:https://github.com/AlonaVa/NewRestaurants
函数 UpdateBounds 不能正常工作:
const [bbox,setBbox] = useState(null);
function UpdateBounds () {
const map = useMapEvent (()=>{
setBbox (map.getBounds());
},[])
}
我的问题是如何随着地图位置的变化自动更新bbox?
谢谢!
解决方法
您需要创建一个在其中使用 useMapEvents
的组件,然后它必须是 MapContainer
的子级。
这是在这里工作:
const MapEvents = ({ setBbox }) => {
const setBounds = () => setBbox(map.getBounds());
const map = useMapEvents({
moveend: setBounds
});
return null;
};
const Map = (props) => {
const [bbox,setBbox] = useState();
return (
<MapContainer
zoom={zoom}
center={center}
whenCreated={(map) => setBbox(map.getBounds())}
>
<MapEvents setBbox={setBbox} />
<TileLayerbburl="url" />
</MapContainer>
);
};
请注意,我还添加了 whenCreated
道具以在地图加载后抓取边界。
Working codesandbox
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。