UNPKG

@uiw/react-baidu-map-navigation-control

Version:

Baidu Map map-navigation-control Components for React.

43 lines 1.12 kB
import { useEffect, useState } from 'react'; import { useMapContext } from '@uiw/react-baidu-map-map'; import { useProperties, useVisiable } from '@uiw/react-baidu-map-utils'; export function useNavigationControl(props) { if (props === void 0) { props = {}; } var [navigationControl, setNavigationControl] = useState(); var { anchor, offset, type, showZoomInfo, enableGeolocation } = props; var { map } = useMapContext(); useEffect(() => { if (!map || navigationControl) return; var instance = new BMap.NavigationControl({ anchor: anchor || BMAP_ANCHOR_TOP_LEFT, offset, type, showZoomInfo, enableGeolocation }); map.addControl(instance); setNavigationControl(instance); return () => { if (map && instance) { map.removeControl(instance); } }; // eslint-disable-next-line react-hooks/exhaustive-deps }, [map]); useVisiable(navigationControl, props); useProperties(navigationControl, props, ['Anchor', 'Offset', 'Type']); return { navigationControl, setNavigationControl }; }