@mint-ui/map 0.10.0-beta → 0.10.0-beta-test2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/mint-map/core/advanced/canvas/CanvasMarker.js +1 -0
- package/dist/components/mint-map/core/provider/MarkerAutoTransitionProvider.d.ts +20 -0
- package/dist/components/mint-map/core/provider/MarkerAutoTransitionProvider.js +105 -0
- package/dist/components/mint-map/core/provider/index.d.ts +1 -0
- package/dist/components/mint-map/core/wrapper/MapMarkerWrapper.js +14 -0
- package/dist/index.es.js +97 -1
- package/dist/index.js +4 -0
- package/dist/index.umd.js +99 -0
- package/package.json +1 -1
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var tslib = require('tslib');
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var MintMapProvider = require('../../provider/MintMapProvider.js');
|
|
8
|
+
require('../../provider/MarkerAutoTransitionProvider.js');
|
|
8
9
|
var MapDrawables = require('../../../types/MapDrawables.js');
|
|
9
10
|
require('../../../types/MapTypes.js');
|
|
10
11
|
require('../../../types/MapEventTypes.js');
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Position } from "../../types";
|
|
3
|
+
export declare type TransitionType = 'diagonal';
|
|
4
|
+
export declare type TransitionSizeFunction = (zoomLevel: number) => number;
|
|
5
|
+
export interface MarkerAutoTransitionOption {
|
|
6
|
+
type?: TransitionType;
|
|
7
|
+
sizeInMeter?: number | TransitionSizeFunction;
|
|
8
|
+
}
|
|
9
|
+
export interface MarkerAutoTransitionContextType {
|
|
10
|
+
option: Required<MarkerAutoTransitionOption>;
|
|
11
|
+
transition: (pos: Position) => {
|
|
12
|
+
pos: Position;
|
|
13
|
+
no?: number;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export declare const MarkerAutoTransitionContext: React.Context<MarkerAutoTransitionContextType>;
|
|
17
|
+
export declare const baseCenter: Position;
|
|
18
|
+
export interface MarkerAutoTransitionProviderProps extends MarkerAutoTransitionOption {
|
|
19
|
+
}
|
|
20
|
+
export declare function MarkerAutoTransitionProvider({ children, sizeInMeter, type, }: React.PropsWithChildren<MarkerAutoTransitionProviderProps>): JSX.Element;
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var React = require('react');
|
|
6
|
+
require('../../types/MapDrawables.js');
|
|
7
|
+
var MapTypes = require('../../types/MapTypes.js');
|
|
8
|
+
require('../../types/MapEventTypes.js');
|
|
9
|
+
require('../util/animation.js');
|
|
10
|
+
var geo = require('../util/geo.js');
|
|
11
|
+
require('tslib');
|
|
12
|
+
require('../util/polygon.js');
|
|
13
|
+
require('../util/status.js');
|
|
14
|
+
var MintMapProvider = require('./MintMapProvider.js');
|
|
15
|
+
|
|
16
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
17
|
+
|
|
18
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
19
|
+
|
|
20
|
+
var MarkerAutoTransitionContext = React.createContext({
|
|
21
|
+
option: {
|
|
22
|
+
sizeInMeter: 2,
|
|
23
|
+
type: 'diagonal'
|
|
24
|
+
},
|
|
25
|
+
transition: function (pos) {
|
|
26
|
+
return {
|
|
27
|
+
pos: pos,
|
|
28
|
+
no: undefined
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
}); // provider
|
|
32
|
+
|
|
33
|
+
var baseCenter = new MapTypes.Position(37.504497373023206, 127.04896282498558);
|
|
34
|
+
function MarkerAutoTransitionProvider(_a) {
|
|
35
|
+
var children = _a.children,
|
|
36
|
+
_b = _a.sizeInMeter,
|
|
37
|
+
sizeInMeter = _b === void 0 ? 2 : _b,
|
|
38
|
+
_c = _a.type,
|
|
39
|
+
type = _c === void 0 ? 'diagonal' : _c;
|
|
40
|
+
var controller = MintMapProvider.useMintMapController();
|
|
41
|
+
|
|
42
|
+
var _d = React.useState(controller.getZoomLevel()),
|
|
43
|
+
zoom = _d[0],
|
|
44
|
+
setZoom = _d[1];
|
|
45
|
+
|
|
46
|
+
React.useEffect(function () {
|
|
47
|
+
var onZoomChanged = function () {
|
|
48
|
+
setZoom(controller.getZoomLevel());
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
controller.addEventListener('ZOOM_CHANGED', onZoomChanged);
|
|
52
|
+
return function () {
|
|
53
|
+
controller.removeEventListener('ZOOM_CHANGED', onZoomChanged);
|
|
54
|
+
};
|
|
55
|
+
}, []);
|
|
56
|
+
var calcSize = typeof sizeInMeter === 'number' ? sizeInMeter : sizeInMeter(controller.getZoomLevel());
|
|
57
|
+
var deltaLat = geo.GeoCalulator.convertMeterToLatitudeValue(calcSize);
|
|
58
|
+
var offset1 = controller.positionToOffset(baseCenter);
|
|
59
|
+
var offset2 = controller.positionToOffset(new MapTypes.Position(baseCenter.lat + deltaLat, baseCenter.lng));
|
|
60
|
+
var deltaOffsetY = offset2.y - offset1.y;
|
|
61
|
+
var offset3 = new MapTypes.Offset(offset1.x + deltaOffsetY, offset2.y);
|
|
62
|
+
var deltaLng = baseCenter.lng - controller.offsetToPosition(offset3).lng;
|
|
63
|
+
var posMap = new Map();
|
|
64
|
+
|
|
65
|
+
var transition = function (pos) {
|
|
66
|
+
var key = positionToMapKey(pos);
|
|
67
|
+
var count = posMap.get(key);
|
|
68
|
+
|
|
69
|
+
if (count === undefined) {
|
|
70
|
+
count = 1;
|
|
71
|
+
posMap.set(key, count);
|
|
72
|
+
return {
|
|
73
|
+
no: count,
|
|
74
|
+
pos: pos
|
|
75
|
+
};
|
|
76
|
+
} //type : diagonal
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
var newPos = new MapTypes.Position(pos.lat + count * deltaLat, pos.lng + count * deltaLng);
|
|
80
|
+
count += 1;
|
|
81
|
+
posMap.set(key, count);
|
|
82
|
+
return {
|
|
83
|
+
no: count,
|
|
84
|
+
pos: newPos
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
return React__default["default"].createElement(MarkerAutoTransitionContext.Provider, {
|
|
89
|
+
value: {
|
|
90
|
+
option: {
|
|
91
|
+
sizeInMeter: sizeInMeter,
|
|
92
|
+
type: type
|
|
93
|
+
},
|
|
94
|
+
transition: transition
|
|
95
|
+
}
|
|
96
|
+
}, zoom && children);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
function positionToMapKey(pos) {
|
|
100
|
+
return "".concat(pos.lat, "-").concat(pos.lng);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
exports.MarkerAutoTransitionContext = MarkerAutoTransitionContext;
|
|
104
|
+
exports.MarkerAutoTransitionProvider = MarkerAutoTransitionProvider;
|
|
105
|
+
exports.baseCenter = baseCenter;
|
|
@@ -8,6 +8,7 @@ var reactDom = require('react-dom');
|
|
|
8
8
|
var MintMapProvider = require('../provider/MintMapProvider.js');
|
|
9
9
|
var MarkerMovingHook = require('../hooks/MarkerMovingHook.js');
|
|
10
10
|
var MapDrawables = require('../../types/MapDrawables.js');
|
|
11
|
+
var MarkerAutoTransitionProvider = require('../provider/MarkerAutoTransitionProvider.js');
|
|
11
12
|
|
|
12
13
|
var offsetCalibration = function (mapType, divElement, options, autoFitToViewport, autoAdjustAnchor, autoAdjustAnchorConfig, mapDivElement) {
|
|
13
14
|
//google 맵의 anchor 보정 (네이버와 같이 왼쪽/위 기준으로 처리)
|
|
@@ -214,8 +215,21 @@ function MapMarkerWrapper(_a) {
|
|
|
214
215
|
};
|
|
215
216
|
}, []); //create / update object
|
|
216
217
|
|
|
218
|
+
var transition = React.useContext(MarkerAutoTransitionProvider.MarkerAutoTransitionContext).transition;
|
|
219
|
+
var positionNo = React.useRef();
|
|
217
220
|
React.useEffect(function () {
|
|
218
221
|
if (options) {
|
|
222
|
+
if (!Array.isArray(options.position)) {
|
|
223
|
+
var _a = transition(options.position),
|
|
224
|
+
no = _a.no,
|
|
225
|
+
pos = _a.pos;
|
|
226
|
+
|
|
227
|
+
if (positionNo.current !== no) {
|
|
228
|
+
options.position = pos;
|
|
229
|
+
positionNo.current = no;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
|
|
219
233
|
if (markerRef.current) {
|
|
220
234
|
//console.log('update Marker')
|
|
221
235
|
controller.updateMarker(markerRef.current, options); //disablePointerEvent 처리
|
package/dist/index.es.js
CHANGED
|
@@ -4283,6 +4283,89 @@ function useMarkerMoving(_a) {
|
|
|
4283
4283
|
return [start, stop, resume];
|
|
4284
4284
|
}
|
|
4285
4285
|
|
|
4286
|
+
var MarkerAutoTransitionContext = createContext({
|
|
4287
|
+
option: {
|
|
4288
|
+
sizeInMeter: 2,
|
|
4289
|
+
type: 'diagonal'
|
|
4290
|
+
},
|
|
4291
|
+
transition: function (pos) {
|
|
4292
|
+
return {
|
|
4293
|
+
pos: pos,
|
|
4294
|
+
no: undefined
|
|
4295
|
+
};
|
|
4296
|
+
}
|
|
4297
|
+
}); // provider
|
|
4298
|
+
|
|
4299
|
+
var baseCenter = new Position(37.504497373023206, 127.04896282498558);
|
|
4300
|
+
function MarkerAutoTransitionProvider(_a) {
|
|
4301
|
+
var children = _a.children,
|
|
4302
|
+
_b = _a.sizeInMeter,
|
|
4303
|
+
sizeInMeter = _b === void 0 ? 2 : _b,
|
|
4304
|
+
_c = _a.type,
|
|
4305
|
+
type = _c === void 0 ? 'diagonal' : _c;
|
|
4306
|
+
var controller = useMintMapController();
|
|
4307
|
+
|
|
4308
|
+
var _d = useState(controller.getZoomLevel()),
|
|
4309
|
+
zoom = _d[0],
|
|
4310
|
+
setZoom = _d[1];
|
|
4311
|
+
|
|
4312
|
+
useEffect(function () {
|
|
4313
|
+
var onZoomChanged = function () {
|
|
4314
|
+
setZoom(controller.getZoomLevel());
|
|
4315
|
+
};
|
|
4316
|
+
|
|
4317
|
+
controller.addEventListener('ZOOM_CHANGED', onZoomChanged);
|
|
4318
|
+
return function () {
|
|
4319
|
+
controller.removeEventListener('ZOOM_CHANGED', onZoomChanged);
|
|
4320
|
+
};
|
|
4321
|
+
}, []);
|
|
4322
|
+
var calcSize = typeof sizeInMeter === 'number' ? sizeInMeter : sizeInMeter(controller.getZoomLevel());
|
|
4323
|
+
var deltaLat = GeoCalulator.convertMeterToLatitudeValue(calcSize);
|
|
4324
|
+
var offset1 = controller.positionToOffset(baseCenter);
|
|
4325
|
+
var offset2 = controller.positionToOffset(new Position(baseCenter.lat + deltaLat, baseCenter.lng));
|
|
4326
|
+
var deltaOffsetY = offset2.y - offset1.y;
|
|
4327
|
+
var offset3 = new Offset(offset1.x + deltaOffsetY, offset2.y);
|
|
4328
|
+
var deltaLng = baseCenter.lng - controller.offsetToPosition(offset3).lng;
|
|
4329
|
+
var posMap = new Map();
|
|
4330
|
+
|
|
4331
|
+
var transition = function (pos) {
|
|
4332
|
+
var key = positionToMapKey(pos);
|
|
4333
|
+
var count = posMap.get(key);
|
|
4334
|
+
|
|
4335
|
+
if (count === undefined) {
|
|
4336
|
+
count = 1;
|
|
4337
|
+
posMap.set(key, count);
|
|
4338
|
+
return {
|
|
4339
|
+
no: count,
|
|
4340
|
+
pos: pos
|
|
4341
|
+
};
|
|
4342
|
+
} //type : diagonal
|
|
4343
|
+
|
|
4344
|
+
|
|
4345
|
+
var newPos = new Position(pos.lat + count * deltaLat, pos.lng + count * deltaLng);
|
|
4346
|
+
count += 1;
|
|
4347
|
+
posMap.set(key, count);
|
|
4348
|
+
return {
|
|
4349
|
+
no: count,
|
|
4350
|
+
pos: newPos
|
|
4351
|
+
};
|
|
4352
|
+
};
|
|
4353
|
+
|
|
4354
|
+
return React.createElement(MarkerAutoTransitionContext.Provider, {
|
|
4355
|
+
value: {
|
|
4356
|
+
option: {
|
|
4357
|
+
sizeInMeter: sizeInMeter,
|
|
4358
|
+
type: type
|
|
4359
|
+
},
|
|
4360
|
+
transition: transition
|
|
4361
|
+
}
|
|
4362
|
+
}, zoom && children);
|
|
4363
|
+
}
|
|
4364
|
+
|
|
4365
|
+
function positionToMapKey(pos) {
|
|
4366
|
+
return "".concat(pos.lat, "-").concat(pos.lng);
|
|
4367
|
+
}
|
|
4368
|
+
|
|
4286
4369
|
var offsetCalibration = function (mapType, divElement, options, autoFitToViewport, autoAdjustAnchor, autoAdjustAnchorConfig, mapDivElement) {
|
|
4287
4370
|
//google 맵의 anchor 보정 (네이버와 같이 왼쪽/위 기준으로 처리)
|
|
4288
4371
|
var baseTransform = '';
|
|
@@ -4488,8 +4571,21 @@ function MapMarkerWrapper(_a) {
|
|
|
4488
4571
|
};
|
|
4489
4572
|
}, []); //create / update object
|
|
4490
4573
|
|
|
4574
|
+
var transition = useContext(MarkerAutoTransitionContext).transition;
|
|
4575
|
+
var positionNo = useRef();
|
|
4491
4576
|
useEffect(function () {
|
|
4492
4577
|
if (options) {
|
|
4578
|
+
if (!Array.isArray(options.position)) {
|
|
4579
|
+
var _a = transition(options.position),
|
|
4580
|
+
no = _a.no,
|
|
4581
|
+
pos = _a.pos;
|
|
4582
|
+
|
|
4583
|
+
if (positionNo.current !== no) {
|
|
4584
|
+
options.position = pos;
|
|
4585
|
+
positionNo.current = no;
|
|
4586
|
+
}
|
|
4587
|
+
}
|
|
4588
|
+
|
|
4493
4589
|
if (markerRef.current) {
|
|
4494
4590
|
//console.log('update Marker')
|
|
4495
4591
|
controller.updateMarker(markerRef.current, options); //disablePointerEvent 처리
|
|
@@ -5892,4 +5988,4 @@ function MapCanvasMarkerWrapper(_props) {
|
|
|
5892
5988
|
return React.createElement(React.Fragment, null);
|
|
5893
5989
|
}
|
|
5894
5990
|
|
|
5895
|
-
export { AnimationPlayer, Bounds, CanvasMarker, CircleMarker, Drawable, GeoCalulator, GoogleMintMapController, MapBuildingProjection, MapCanvasMarkerWrapper, MapCanvasWrapper, MapControlWrapper, MapEvent, MapLoadingWithImage, MapMarkerWrapper, MapPolygonWrapper, MapPolylineWrapper, MapUIEvent, Marker, MintMap, MintMapCanvasRenderer, MintMapController, MintMapCore, MintMapProvider, NaverMintMapController, Offset, PointLoading, Polygon, PolygonCalculator, PolygonMarker, Polyline, Position, SVGCircle, SVGPolygon, SVGRect, Status, getClusterInfo, getMapOfType, log, useMarkerMoving, useMintMapController, waiting };
|
|
5991
|
+
export { AnimationPlayer, Bounds, CanvasMarker, CircleMarker, Drawable, GeoCalulator, GoogleMintMapController, MapBuildingProjection, MapCanvasMarkerWrapper, MapCanvasWrapper, MapControlWrapper, MapEvent, MapLoadingWithImage, MapMarkerWrapper, MapPolygonWrapper, MapPolylineWrapper, MapUIEvent, Marker, MarkerAutoTransitionContext, MarkerAutoTransitionProvider, MintMap, MintMapCanvasRenderer, MintMapController, MintMapCore, MintMapProvider, NaverMintMapController, Offset, PointLoading, Polygon, PolygonCalculator, PolygonMarker, Polyline, Position, SVGCircle, SVGPolygon, SVGRect, Status, baseCenter, getClusterInfo, getMapOfType, log, useMarkerMoving, useMintMapController, waiting };
|
package/dist/index.js
CHANGED
|
@@ -16,6 +16,7 @@ var MapBuildingProjection = require('./components/mint-map/core/advanced/MapBuil
|
|
|
16
16
|
var MapLoadingComponents = require('./components/mint-map/core/advanced/MapLoadingComponents.js');
|
|
17
17
|
var MarkerMovingHook = require('./components/mint-map/core/hooks/MarkerMovingHook.js');
|
|
18
18
|
var MintMapProvider = require('./components/mint-map/core/provider/MintMapProvider.js');
|
|
19
|
+
var MarkerAutoTransitionProvider = require('./components/mint-map/core/provider/MarkerAutoTransitionProvider.js');
|
|
19
20
|
var animation = require('./components/mint-map/core/util/animation.js');
|
|
20
21
|
var geo = require('./components/mint-map/core/util/geo.js');
|
|
21
22
|
var waiting = require('./components/mint-map/core/util/waiting.js');
|
|
@@ -54,6 +55,9 @@ exports.PointLoading = MapLoadingComponents.PointLoading;
|
|
|
54
55
|
exports.useMarkerMoving = MarkerMovingHook.useMarkerMoving;
|
|
55
56
|
exports.MintMapProvider = MintMapProvider.MintMapProvider;
|
|
56
57
|
exports.useMintMapController = MintMapProvider.useMintMapController;
|
|
58
|
+
exports.MarkerAutoTransitionContext = MarkerAutoTransitionProvider.MarkerAutoTransitionContext;
|
|
59
|
+
exports.MarkerAutoTransitionProvider = MarkerAutoTransitionProvider.MarkerAutoTransitionProvider;
|
|
60
|
+
exports.baseCenter = MarkerAutoTransitionProvider.baseCenter;
|
|
57
61
|
exports.AnimationPlayer = animation.AnimationPlayer;
|
|
58
62
|
exports.GeoCalulator = geo.GeoCalulator;
|
|
59
63
|
exports.waiting = waiting.waiting;
|
package/dist/index.umd.js
CHANGED
|
@@ -4287,6 +4287,89 @@
|
|
|
4287
4287
|
return [start, stop, resume];
|
|
4288
4288
|
}
|
|
4289
4289
|
|
|
4290
|
+
var MarkerAutoTransitionContext = React.createContext({
|
|
4291
|
+
option: {
|
|
4292
|
+
sizeInMeter: 2,
|
|
4293
|
+
type: 'diagonal'
|
|
4294
|
+
},
|
|
4295
|
+
transition: function (pos) {
|
|
4296
|
+
return {
|
|
4297
|
+
pos: pos,
|
|
4298
|
+
no: undefined
|
|
4299
|
+
};
|
|
4300
|
+
}
|
|
4301
|
+
}); // provider
|
|
4302
|
+
|
|
4303
|
+
var baseCenter = new Position(37.504497373023206, 127.04896282498558);
|
|
4304
|
+
function MarkerAutoTransitionProvider(_a) {
|
|
4305
|
+
var children = _a.children,
|
|
4306
|
+
_b = _a.sizeInMeter,
|
|
4307
|
+
sizeInMeter = _b === void 0 ? 2 : _b,
|
|
4308
|
+
_c = _a.type,
|
|
4309
|
+
type = _c === void 0 ? 'diagonal' : _c;
|
|
4310
|
+
var controller = useMintMapController();
|
|
4311
|
+
|
|
4312
|
+
var _d = React.useState(controller.getZoomLevel()),
|
|
4313
|
+
zoom = _d[0],
|
|
4314
|
+
setZoom = _d[1];
|
|
4315
|
+
|
|
4316
|
+
React.useEffect(function () {
|
|
4317
|
+
var onZoomChanged = function () {
|
|
4318
|
+
setZoom(controller.getZoomLevel());
|
|
4319
|
+
};
|
|
4320
|
+
|
|
4321
|
+
controller.addEventListener('ZOOM_CHANGED', onZoomChanged);
|
|
4322
|
+
return function () {
|
|
4323
|
+
controller.removeEventListener('ZOOM_CHANGED', onZoomChanged);
|
|
4324
|
+
};
|
|
4325
|
+
}, []);
|
|
4326
|
+
var calcSize = typeof sizeInMeter === 'number' ? sizeInMeter : sizeInMeter(controller.getZoomLevel());
|
|
4327
|
+
var deltaLat = GeoCalulator.convertMeterToLatitudeValue(calcSize);
|
|
4328
|
+
var offset1 = controller.positionToOffset(baseCenter);
|
|
4329
|
+
var offset2 = controller.positionToOffset(new Position(baseCenter.lat + deltaLat, baseCenter.lng));
|
|
4330
|
+
var deltaOffsetY = offset2.y - offset1.y;
|
|
4331
|
+
var offset3 = new Offset(offset1.x + deltaOffsetY, offset2.y);
|
|
4332
|
+
var deltaLng = baseCenter.lng - controller.offsetToPosition(offset3).lng;
|
|
4333
|
+
var posMap = new Map();
|
|
4334
|
+
|
|
4335
|
+
var transition = function (pos) {
|
|
4336
|
+
var key = positionToMapKey(pos);
|
|
4337
|
+
var count = posMap.get(key);
|
|
4338
|
+
|
|
4339
|
+
if (count === undefined) {
|
|
4340
|
+
count = 1;
|
|
4341
|
+
posMap.set(key, count);
|
|
4342
|
+
return {
|
|
4343
|
+
no: count,
|
|
4344
|
+
pos: pos
|
|
4345
|
+
};
|
|
4346
|
+
} //type : diagonal
|
|
4347
|
+
|
|
4348
|
+
|
|
4349
|
+
var newPos = new Position(pos.lat + count * deltaLat, pos.lng + count * deltaLng);
|
|
4350
|
+
count += 1;
|
|
4351
|
+
posMap.set(key, count);
|
|
4352
|
+
return {
|
|
4353
|
+
no: count,
|
|
4354
|
+
pos: newPos
|
|
4355
|
+
};
|
|
4356
|
+
};
|
|
4357
|
+
|
|
4358
|
+
return React__default["default"].createElement(MarkerAutoTransitionContext.Provider, {
|
|
4359
|
+
value: {
|
|
4360
|
+
option: {
|
|
4361
|
+
sizeInMeter: sizeInMeter,
|
|
4362
|
+
type: type
|
|
4363
|
+
},
|
|
4364
|
+
transition: transition
|
|
4365
|
+
}
|
|
4366
|
+
}, zoom && children);
|
|
4367
|
+
}
|
|
4368
|
+
|
|
4369
|
+
function positionToMapKey(pos) {
|
|
4370
|
+
return "".concat(pos.lat, "-").concat(pos.lng);
|
|
4371
|
+
}
|
|
4372
|
+
|
|
4290
4373
|
var offsetCalibration = function (mapType, divElement, options, autoFitToViewport, autoAdjustAnchor, autoAdjustAnchorConfig, mapDivElement) {
|
|
4291
4374
|
//google 맵의 anchor 보정 (네이버와 같이 왼쪽/위 기준으로 처리)
|
|
4292
4375
|
var baseTransform = '';
|
|
@@ -4492,8 +4575,21 @@
|
|
|
4492
4575
|
};
|
|
4493
4576
|
}, []); //create / update object
|
|
4494
4577
|
|
|
4578
|
+
var transition = React.useContext(MarkerAutoTransitionContext).transition;
|
|
4579
|
+
var positionNo = React.useRef();
|
|
4495
4580
|
React.useEffect(function () {
|
|
4496
4581
|
if (options) {
|
|
4582
|
+
if (!Array.isArray(options.position)) {
|
|
4583
|
+
var _a = transition(options.position),
|
|
4584
|
+
no = _a.no,
|
|
4585
|
+
pos = _a.pos;
|
|
4586
|
+
|
|
4587
|
+
if (positionNo.current !== no) {
|
|
4588
|
+
options.position = pos;
|
|
4589
|
+
positionNo.current = no;
|
|
4590
|
+
}
|
|
4591
|
+
}
|
|
4592
|
+
|
|
4497
4593
|
if (markerRef.current) {
|
|
4498
4594
|
//console.log('update Marker')
|
|
4499
4595
|
controller.updateMarker(markerRef.current, options); //disablePointerEvent 처리
|
|
@@ -5914,6 +6010,8 @@
|
|
|
5914
6010
|
exports.MapPolylineWrapper = MapPolylineWrapper;
|
|
5915
6011
|
exports.MapUIEvent = MapUIEvent;
|
|
5916
6012
|
exports.Marker = Marker;
|
|
6013
|
+
exports.MarkerAutoTransitionContext = MarkerAutoTransitionContext;
|
|
6014
|
+
exports.MarkerAutoTransitionProvider = MarkerAutoTransitionProvider;
|
|
5917
6015
|
exports.MintMap = MintMap;
|
|
5918
6016
|
exports.MintMapCanvasRenderer = MintMapCanvasRenderer;
|
|
5919
6017
|
exports.MintMapController = MintMapController;
|
|
@@ -5931,6 +6029,7 @@
|
|
|
5931
6029
|
exports.SVGPolygon = SVGPolygon;
|
|
5932
6030
|
exports.SVGRect = SVGRect;
|
|
5933
6031
|
exports.Status = Status;
|
|
6032
|
+
exports.baseCenter = baseCenter;
|
|
5934
6033
|
exports.getClusterInfo = getClusterInfo;
|
|
5935
6034
|
exports.getMapOfType = getMapOfType;
|
|
5936
6035
|
exports.log = log;
|