UNPKG

@uiw/react-amap-hawk-eye-control

Version:

鹰眼控件,用于显示缩略地图,显示于地图右下角,可以随主图的视口变化而变化,也可以配置成固定位置实现类似于南海附图的效果。

44 lines 1.28 kB
import _extends from "@babel/runtime/helpers/extends"; import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose"; var _excluded = ["offset", "visiable", "visible"]; import { useEffect, useState } from 'react'; import { useVisiable } from '@uiw/react-amap-utils'; import { useMapContext } from '@uiw/react-amap-map'; export function useHawkEyeControl(props) { if (props === void 0) { props = {}; } var [hawkEyeControl, setHawkEyeControl] = useState(); var { offset, visiable, visible } = props, other = _objectWithoutPropertiesLoose(props, _excluded); var { map } = useMapContext(); useEffect(() => { if (map && !hawkEyeControl) { var instance; map.plugin(['AMap.HawkEye'], () => { instance = new AMap.HawkEye(_extends({ offset: offset }, other)); map.addControl(instance); setHawkEyeControl(instance); }); } return () => { if (hawkEyeControl && map) { map && map.removeControl(hawkEyeControl); setHawkEyeControl(undefined); } }; }, [map, hawkEyeControl]); useVisiable(hawkEyeControl, visible != null ? visible : visiable); return { hawkEyeControl, setHawkEyeControl }; }