UNPKG

@mint-ui/map

Version:

- React map library - Control various map with one interface - Google, Naver, Kakao map supported now - Typescript supported - Canvas marker supported

57 lines (44 loc) 1.72 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var tslib = require('tslib'); var React = require('react'); var MintMapProvider = require('../provider/MintMapProvider.js'); var MapDrawables = require('../../types/MapDrawables.js'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var React__default = /*#__PURE__*/_interopDefaultLegacy(React); /** * Mint Map 컴포넌트 * * @param {MapControlWrapperProps} MapControlWrapperProps * * @returns {JSX.Element} JSX */ function MapPolylineWrapper(_a) { var children = _a.children, options = tslib.__rest(_a, ["children"]); //controller var controller = MintMapProvider.useMintMapController(); //lifecycle React.useEffect(function () { return function () { if (polylineRef.current) { controller.clearDrawable(polylineRef.current); polylineRef.current = undefined; // console.log('polyline cleared') } }; }, []); //create/update object var polylineRef = React.useRef(); React.useEffect(function () { //console.log('Polyline useEffect') if (options) { if (polylineRef.current) { //console.log('update Polyline', options) controller.updatePolyline(polylineRef.current, options); } else { var polyline = new MapDrawables.Polyline(options); polylineRef.current = polyline; //console.log('create Polyline', options) controller.createPolyline(polyline); } } }, [options]); return React__default["default"].createElement(React__default["default"].Fragment, null, options && children); } exports.MapPolylineWrapper = MapPolylineWrapper;