UNPKG

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

Version:

Baidu Map map-overview-map-control Components for React.

41 lines 1.15 kB
import { useEffect, useState } from 'react'; import { useMapContext } from '@uiw/react-baidu-map-map'; import { useProperties, useVisiable, useEventProperties } from '@uiw/react-baidu-map-utils'; export function useOverviewMapControl(props) { if (props === void 0) { props = {}; } var [overviewMapControl, setOverviewMapControl] = useState(); var { anchor, offset, size, isOpen } = props; var { map } = useMapContext(); useEffect(() => { if (map && !overviewMapControl) { var instance = new BMap.OverviewMapControl({ anchor: anchor || BMAP_ANCHOR_TOP_LEFT, offset, size, isOpen }); map.addControl(instance); setOverviewMapControl(instance); return () => { map.removeControl(instance); }; } // eslint-disable-next-line react-hooks/exhaustive-deps }, [map]); useVisiable(overviewMapControl, props); useEventProperties(overviewMapControl, props, ['ViewChanged', 'ViewChanging']); useProperties(overviewMapControl, props, ['Anchor', 'Offset', 'Size']); return { overviewMapControl, setOverviewMapControl }; }