UNPKG

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

Version:

Baidu Map map-navigation-control Components for React.

47 lines (46 loc) 1.36 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useNavigationControl = useNavigationControl; var _react = require("react"); var _reactBaiduMapMap = require("@uiw/react-baidu-map-map"); var _reactBaiduMapUtils = require("@uiw/react-baidu-map-utils"); function useNavigationControl() { let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; const [navigationControl, setNavigationControl] = (0, _react.useState)(); const { anchor, offset, type, showZoomInfo, enableGeolocation } = props; const { map } = (0, _reactBaiduMapMap.useMapContext)(); (0, _react.useEffect)(() => { if (!map || navigationControl) return; const 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]); (0, _reactBaiduMapUtils.useVisiable)(navigationControl, props); (0, _reactBaiduMapUtils.useProperties)(navigationControl, props, ['Anchor', 'Offset', 'Type']); return { navigationControl, setNavigationControl }; }