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

58 lines (45 loc) 1.7 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 MapPolygonWrapper(_a) { var children = _a.children, options = tslib.__rest(_a, ["children"]); //controller var controller = MintMapProvider.useMintMapController(); //lifecycle React.useEffect(function () { return function () { if (polygonRef.current) { // console.log('polygon cleared') controller.clearDrawable(polygonRef.current); polygonRef.current = undefined; } }; }, []); //create/update object var polygonRef = React.useRef(); React.useEffect(function () { //console.log('Polygon useEffect') if (options) { if (polygonRef.current) { //console.log('update Polygon', options) controller.updatePolygon(polygonRef.current, options); } else { var polygon = new MapDrawables.Polygon(options); polygonRef.current = polygon; //console.log('create Polygon', options) controller.createPolygon(polygon); } } }, [options]); return React__default["default"].createElement(React__default["default"].Fragment, null, options && children); } exports.MapPolygonWrapper = MapPolygonWrapper;