react-leaflet v3 缩放侦听器

宝主

我正在尝试订阅缩放更改事件,但无法获取每次缩放更改的更新。

我的目标是达到缩放级别的标记缩放。在这种情况下类似于React-Leaflet:缩放后的​​缩放标记

但是 v3 中的 react-leaflet 没有 MapContainer 的 onZoomChange 事件。所以我无法获得缩放更新来缩放我的 DivIcon

宝主

使用 react-leaflet v3 中提供的 useMapEvents hook 找到了解决方案:https ://react-leaflet.js.org/docs/api-map#usemapevents

import {useMapEvents} from "react-leaflet";
import {useState} from "react";

function MyComponent() {
    const [zoomLevel, setZoomLevel] = useState(5); // initial zoom level provided for MapContainer
    
    const mapEvents = useMapEvents({
        zoomend: () => {
            setZoomLevel(mapEvents.getZoom());
        },
    });

    console.log(zoomLevel);

    return null
}

function MyMapComponent() {
    return (
        <MapContainer center={[50.5, 30.5]} zoom={5}>
            <MyComponent />
        </MapContainer>
    )
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章