@lugg/maps 0.2.0-alpha.2 → 0.2.0-alpha.20

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.
Files changed (96) hide show
  1. package/README.md +17 -4
  2. package/android/src/main/java/com/luggmaps/LuggGoogleMapView.kt +31 -37
  3. package/android/src/main/java/com/luggmaps/LuggMapWrapperView.kt +6 -5
  4. package/android/src/main/java/com/luggmaps/LuggMarkerView.kt +136 -14
  5. package/android/src/main/java/com/luggmaps/LuggMarkerViewManager.kt +21 -0
  6. package/android/src/main/java/com/luggmaps/LuggPolylineView.kt +16 -0
  7. package/android/src/main/java/com/luggmaps/LuggPolylineViewManager.kt +22 -0
  8. package/android/src/main/java/com/luggmaps/core/PolylineAnimator.kt +157 -52
  9. package/ios/LuggAppleMapView.mm +154 -42
  10. package/ios/LuggGoogleMapView.mm +52 -22
  11. package/ios/LuggMarkerView.h +9 -0
  12. package/ios/LuggMarkerView.mm +79 -0
  13. package/ios/LuggPolylineView.h +4 -0
  14. package/ios/LuggPolylineView.mm +23 -0
  15. package/ios/core/GMSPolylineAnimator.h +3 -0
  16. package/ios/core/GMSPolylineAnimator.m +164 -41
  17. package/ios/core/MKPolylineAnimator.h +4 -0
  18. package/ios/core/MKPolylineAnimator.m +162 -43
  19. package/ios/core/PolylineAnimatorBase.h +14 -0
  20. package/ios/core/PolylineAnimatorBase.m +33 -0
  21. package/ios/extensions/MKMapView+Zoom.h +2 -0
  22. package/ios/extensions/MKMapView+Zoom.m +14 -4
  23. package/lib/module/MapProvider.js +13 -0
  24. package/lib/module/MapProvider.js.map +1 -0
  25. package/lib/module/MapProvider.types.js +4 -0
  26. package/lib/module/MapProvider.types.js.map +1 -0
  27. package/lib/module/MapProvider.web.js +20 -0
  28. package/lib/module/MapProvider.web.js.map +1 -0
  29. package/lib/module/MapView.js +2 -2
  30. package/lib/module/MapView.js.map +1 -1
  31. package/lib/module/MapView.web.js +272 -0
  32. package/lib/module/MapView.web.js.map +1 -0
  33. package/lib/module/components/Marker.js +10 -1
  34. package/lib/module/components/Marker.js.map +1 -1
  35. package/lib/module/components/Marker.web.js +33 -0
  36. package/lib/module/components/Marker.web.js.map +1 -0
  37. package/lib/module/components/Polyline.js +8 -3
  38. package/lib/module/components/Polyline.js.map +1 -1
  39. package/lib/module/components/Polyline.web.js +229 -0
  40. package/lib/module/components/Polyline.web.js.map +1 -0
  41. package/lib/module/components/index.js +2 -2
  42. package/lib/module/components/index.js.map +1 -1
  43. package/lib/module/components/index.web.js +5 -0
  44. package/lib/module/components/index.web.js.map +1 -0
  45. package/lib/module/fabric/LuggMarkerViewNativeComponent.ts +7 -1
  46. package/lib/module/fabric/LuggPolylineViewNativeComponent.ts +8 -0
  47. package/lib/module/index.js +3 -2
  48. package/lib/module/index.js.map +1 -1
  49. package/lib/module/index.web.js +6 -0
  50. package/lib/module/index.web.js.map +1 -0
  51. package/lib/typescript/src/MapProvider.d.ts +8 -0
  52. package/lib/typescript/src/MapProvider.d.ts.map +1 -0
  53. package/lib/typescript/src/MapProvider.types.d.ts +16 -0
  54. package/lib/typescript/src/MapProvider.types.d.ts.map +1 -0
  55. package/lib/typescript/src/MapProvider.web.d.ts +11 -0
  56. package/lib/typescript/src/MapProvider.web.d.ts.map +1 -0
  57. package/lib/typescript/src/MapView.d.ts +1 -1
  58. package/lib/typescript/src/MapView.d.ts.map +1 -1
  59. package/lib/typescript/src/MapView.types.d.ts +2 -2
  60. package/lib/typescript/src/MapView.types.d.ts.map +1 -1
  61. package/lib/typescript/src/MapView.web.d.ts +3 -0
  62. package/lib/typescript/src/MapView.web.d.ts.map +1 -0
  63. package/lib/typescript/src/components/Marker.d.ts +21 -0
  64. package/lib/typescript/src/components/Marker.d.ts.map +1 -1
  65. package/lib/typescript/src/components/Marker.web.d.ts +3 -0
  66. package/lib/typescript/src/components/Marker.web.d.ts.map +1 -0
  67. package/lib/typescript/src/components/Polyline.d.ts +32 -0
  68. package/lib/typescript/src/components/Polyline.d.ts.map +1 -1
  69. package/lib/typescript/src/components/Polyline.web.d.ts +3 -0
  70. package/lib/typescript/src/components/Polyline.web.d.ts.map +1 -0
  71. package/lib/typescript/src/components/index.web.d.ts +5 -0
  72. package/lib/typescript/src/components/index.web.d.ts.map +1 -0
  73. package/lib/typescript/src/fabric/LuggMarkerViewNativeComponent.d.ts +4 -1
  74. package/lib/typescript/src/fabric/LuggMarkerViewNativeComponent.d.ts.map +1 -1
  75. package/lib/typescript/src/fabric/LuggPolylineViewNativeComponent.d.ts +7 -0
  76. package/lib/typescript/src/fabric/LuggPolylineViewNativeComponent.d.ts.map +1 -1
  77. package/lib/typescript/src/index.d.ts +3 -1
  78. package/lib/typescript/src/index.d.ts.map +1 -1
  79. package/lib/typescript/src/index.web.d.ts +7 -0
  80. package/lib/typescript/src/index.web.d.ts.map +1 -0
  81. package/package.json +15 -2
  82. package/src/MapProvider.tsx +10 -0
  83. package/src/MapProvider.types.ts +16 -0
  84. package/src/MapProvider.web.tsx +14 -0
  85. package/src/MapView.tsx +2 -2
  86. package/src/MapView.types.ts +2 -2
  87. package/src/MapView.web.tsx +337 -0
  88. package/src/components/Marker.tsx +37 -3
  89. package/src/components/Marker.web.tsx +33 -0
  90. package/src/components/Polyline.tsx +38 -1
  91. package/src/components/Polyline.web.tsx +287 -0
  92. package/src/components/index.web.ts +4 -0
  93. package/src/fabric/LuggMarkerViewNativeComponent.ts +7 -1
  94. package/src/fabric/LuggPolylineViewNativeComponent.ts +8 -0
  95. package/src/index.ts +8 -1
  96. package/src/index.web.ts +17 -0
@@ -0,0 +1,272 @@
1
+ "use strict";
2
+
3
+ import { forwardRef, useCallback, useEffect, useId, useImperativeHandle, useRef, useState } from 'react';
4
+ import { View } from 'react-native';
5
+ import { Map, useMap } from '@vis.gl/react-google-maps';
6
+ import { Marker } from "./components/Marker.web.js";
7
+ import { MapContext } from "./MapProvider.web.js";
8
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ const createSyntheticEvent = nativeEvent => ({
10
+ nativeEvent,
11
+ currentTarget: null,
12
+ target: null,
13
+ bubbles: false,
14
+ cancelable: false,
15
+ defaultPrevented: false,
16
+ eventPhase: 0,
17
+ isTrusted: true,
18
+ preventDefault: () => {},
19
+ stopPropagation: () => {},
20
+ isDefaultPrevented: () => false,
21
+ isPropagationStopped: () => false,
22
+ persist: () => {},
23
+ timeStamp: Date.now(),
24
+ type: ''
25
+ });
26
+ const userLocationDotStyle = {
27
+ width: 16,
28
+ height: 16,
29
+ backgroundColor: '#4285F4',
30
+ border: '2px solid white',
31
+ borderRadius: '50%',
32
+ boxShadow: '0 1px 4px rgba(0,0,0,0.3)'
33
+ };
34
+ function UserLocationMarker({
35
+ enabled
36
+ }) {
37
+ const [coordinate, setCoordinate] = useState(null);
38
+ useEffect(() => {
39
+ if (!enabled) {
40
+ setCoordinate(null);
41
+ return;
42
+ }
43
+ let watchId = null;
44
+ const updateLocation = position => {
45
+ setCoordinate({
46
+ latitude: position.coords.latitude,
47
+ longitude: position.coords.longitude
48
+ });
49
+ };
50
+ navigator.geolocation.getCurrentPosition(updateLocation, () => {});
51
+ watchId = navigator.geolocation.watchPosition(updateLocation, () => {});
52
+ return () => {
53
+ if (watchId !== null) {
54
+ navigator.geolocation.clearWatch(watchId);
55
+ }
56
+ };
57
+ }, [enabled]);
58
+ if (!coordinate) return null;
59
+ return /*#__PURE__*/_jsx(Marker, {
60
+ coordinate: coordinate,
61
+ anchor: {
62
+ x: 0.5,
63
+ y: 0.5
64
+ },
65
+ children: /*#__PURE__*/_jsx("div", {
66
+ style: userLocationDotStyle
67
+ })
68
+ });
69
+ }
70
+ export const MapView = /*#__PURE__*/forwardRef(function MapView(props, ref) {
71
+ const {
72
+ mapId = google.maps.Map.DEMO_MAP_ID,
73
+ initialCoordinate,
74
+ initialZoom = 10,
75
+ minZoom,
76
+ maxZoom,
77
+ zoomEnabled = true,
78
+ scrollEnabled = true,
79
+ pitchEnabled = true,
80
+ padding,
81
+ userLocationEnabled,
82
+ onCameraMove,
83
+ onCameraIdle,
84
+ onReady,
85
+ children,
86
+ style
87
+ } = props;
88
+ const id = useId();
89
+ const map = useMap(id);
90
+ const containerRef = useRef(null);
91
+ const readyFired = useRef(false);
92
+ const [isDragging, setIsDragging] = useState(false);
93
+ const wasGesture = useRef(false);
94
+ const prevPadding = useRef(padding);
95
+ const offsetCenter = useCallback((coord, zoom, paddingOverride, reverse = false) => {
96
+ const p = paddingOverride ?? padding;
97
+ const div = map?.getDiv();
98
+ if (!p || !div) {
99
+ return {
100
+ lat: coord.latitude,
101
+ lng: coord.longitude
102
+ };
103
+ }
104
+ const dir = reverse ? -1 : 1;
105
+ const scale = 256 * Math.pow(2, zoom);
106
+ const offsetX = dir * ((p.right ?? 0) - (p.left ?? 0)) / 2;
107
+ const offsetY = dir * ((p.bottom ?? 0) - (p.top ?? 0)) / 2;
108
+ const latRad = coord.latitude * Math.PI / 180;
109
+ const x = (coord.longitude + 180) / 360 * scale + offsetX;
110
+ const y = (1 - Math.log(Math.tan(latRad) + 1 / Math.cos(latRad)) / Math.PI) / 2 * scale + offsetY;
111
+ const lng = x / scale * 360 - 180;
112
+ const lat = Math.atan(Math.sinh(Math.PI * (1 - 2 * y / scale))) * 180 / Math.PI;
113
+ return {
114
+ lat,
115
+ lng
116
+ };
117
+ }, [map, padding]);
118
+ useImperativeHandle(ref, () => ({
119
+ moveCamera(coordinate, options) {
120
+ if (!map) return;
121
+ const {
122
+ zoom = 0,
123
+ duration = -1
124
+ } = options ?? {};
125
+ const targetZoom = zoom || map.getZoom() || initialZoom;
126
+ const center = offsetCenter(coordinate, targetZoom, undefined, false);
127
+ if (duration === 0) {
128
+ map.moveCamera({
129
+ center,
130
+ zoom: targetZoom
131
+ });
132
+ } else {
133
+ const currentZoom = map.getZoom();
134
+ const zoomChanged = zoom !== 0 && zoom !== currentZoom;
135
+ if (zoomChanged) {
136
+ map.setZoom(zoom);
137
+ }
138
+ map.panTo(center);
139
+ }
140
+ },
141
+ fitCoordinates(coordinates, options) {
142
+ const first = coordinates[0];
143
+ if (!map || !first) return;
144
+ const {
145
+ padding: fitPadding,
146
+ duration = -1
147
+ } = options ?? {};
148
+ if (coordinates.length === 1) {
149
+ this.moveCamera(first, {
150
+ zoom: initialZoom,
151
+ duration
152
+ });
153
+ return;
154
+ }
155
+ const bounds = new google.maps.LatLngBounds();
156
+ coordinates.forEach(coord => {
157
+ bounds.extend({
158
+ lat: coord.latitude,
159
+ lng: coord.longitude
160
+ });
161
+ });
162
+ map.fitBounds(bounds, {
163
+ top: (padding?.top ?? 0) + (fitPadding?.top ?? 0),
164
+ left: (padding?.left ?? 0) + (fitPadding?.left ?? 0),
165
+ bottom: (padding?.bottom ?? 0) + (fitPadding?.bottom ?? 0),
166
+ right: (padding?.right ?? 0) + (fitPadding?.right ?? 0)
167
+ });
168
+ }
169
+ }), [map, initialZoom, padding, offsetCenter]);
170
+ useEffect(() => {
171
+ if (map && !readyFired.current) {
172
+ readyFired.current = true;
173
+ onReady?.();
174
+ }
175
+ }, [map, onReady]);
176
+ useEffect(() => {
177
+ if (!map || !padding) return;
178
+ const prev = prevPadding.current;
179
+ const paddingChanged = prev?.top !== padding.top || prev?.left !== padding.left || prev?.bottom !== padding.bottom || prev?.right !== padding.right;
180
+ if (paddingChanged) {
181
+ const center = map.getCenter();
182
+ const zoom = map.getZoom() ?? initialZoom;
183
+ if (center) {
184
+ const logicalCenter = offsetCenter({
185
+ latitude: center.lat(),
186
+ longitude: center.lng()
187
+ }, zoom, prev, true);
188
+ const newCenter = offsetCenter({
189
+ latitude: logicalCenter.lat,
190
+ longitude: logicalCenter.lng
191
+ }, zoom, padding, false);
192
+ map.panTo(newCenter);
193
+ }
194
+ prevPadding.current = padding;
195
+ }
196
+ }, [map, padding, initialZoom, offsetCenter]);
197
+ const handleDragStart = () => {
198
+ setIsDragging(true);
199
+ wasGesture.current = true;
200
+ };
201
+ const handleDragEnd = () => {
202
+ setIsDragging(false);
203
+ };
204
+ const handleCameraChanged = event => {
205
+ const logicalCenter = offsetCenter({
206
+ latitude: event.detail.center.lat,
207
+ longitude: event.detail.center.lng
208
+ }, event.detail.zoom, undefined, true);
209
+ const payload = {
210
+ coordinate: {
211
+ latitude: logicalCenter.lat,
212
+ longitude: logicalCenter.lng
213
+ },
214
+ zoom: event.detail.zoom,
215
+ gesture: isDragging
216
+ };
217
+ onCameraMove?.(createSyntheticEvent(payload));
218
+ };
219
+ const handleIdle = event => {
220
+ const center = event.map.getCenter();
221
+ const zoom = event.map.getZoom() ?? 0;
222
+ const logicalCenter = offsetCenter({
223
+ latitude: center?.lat() ?? 0,
224
+ longitude: center?.lng() ?? 0
225
+ }, zoom, undefined, true);
226
+ const payload = {
227
+ coordinate: {
228
+ latitude: logicalCenter.lat,
229
+ longitude: logicalCenter.lng
230
+ },
231
+ zoom,
232
+ gesture: wasGesture.current
233
+ };
234
+ onCameraIdle?.(createSyntheticEvent(payload));
235
+ wasGesture.current = false;
236
+ };
237
+ const gestureHandling = scrollEnabled === false && zoomEnabled === false ? 'none' : scrollEnabled === false ? 'cooperative' : 'auto';
238
+ const defaultCenter = initialCoordinate ? {
239
+ lat: initialCoordinate.latitude,
240
+ lng: initialCoordinate.longitude
241
+ } : undefined;
242
+ return /*#__PURE__*/_jsx(MapContext.Provider, {
243
+ value: {
244
+ map,
245
+ isDragging
246
+ },
247
+ children: /*#__PURE__*/_jsx(View, {
248
+ ref: containerRef,
249
+ style: style,
250
+ children: /*#__PURE__*/_jsxs(Map, {
251
+ id: id,
252
+ mapId: mapId,
253
+ defaultCenter: defaultCenter,
254
+ defaultZoom: initialZoom,
255
+ minZoom: minZoom,
256
+ maxZoom: maxZoom,
257
+ gestureHandling: gestureHandling,
258
+ disableDefaultUI: true,
259
+ isFractionalZoomEnabled: true,
260
+ tilt: pitchEnabled === false ? 0 : undefined,
261
+ onDragstart: handleDragStart,
262
+ onDragend: handleDragEnd,
263
+ onCameraChanged: handleCameraChanged,
264
+ onIdle: handleIdle,
265
+ children: [/*#__PURE__*/_jsx(UserLocationMarker, {
266
+ enabled: userLocationEnabled
267
+ }), children]
268
+ })
269
+ })
270
+ });
271
+ });
272
+ //# sourceMappingURL=MapView.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["forwardRef","useCallback","useEffect","useId","useImperativeHandle","useRef","useState","View","Map","useMap","Marker","MapContext","jsx","_jsx","jsxs","_jsxs","createSyntheticEvent","nativeEvent","currentTarget","target","bubbles","cancelable","defaultPrevented","eventPhase","isTrusted","preventDefault","stopPropagation","isDefaultPrevented","isPropagationStopped","persist","timeStamp","Date","now","type","userLocationDotStyle","width","height","backgroundColor","border","borderRadius","boxShadow","UserLocationMarker","enabled","coordinate","setCoordinate","watchId","updateLocation","position","latitude","coords","longitude","navigator","geolocation","getCurrentPosition","watchPosition","clearWatch","anchor","x","y","children","style","MapView","props","ref","mapId","google","maps","DEMO_MAP_ID","initialCoordinate","initialZoom","minZoom","maxZoom","zoomEnabled","scrollEnabled","pitchEnabled","padding","userLocationEnabled","onCameraMove","onCameraIdle","onReady","id","map","containerRef","readyFired","isDragging","setIsDragging","wasGesture","prevPadding","offsetCenter","coord","zoom","paddingOverride","reverse","p","div","getDiv","lat","lng","dir","scale","Math","pow","offsetX","right","left","offsetY","bottom","top","latRad","PI","log","tan","cos","atan","sinh","moveCamera","options","duration","targetZoom","getZoom","center","undefined","currentZoom","zoomChanged","setZoom","panTo","fitCoordinates","coordinates","first","fitPadding","length","bounds","LatLngBounds","forEach","extend","fitBounds","current","prev","paddingChanged","getCenter","logicalCenter","newCenter","handleDragStart","handleDragEnd","handleCameraChanged","event","detail","payload","gesture","handleIdle","gestureHandling","defaultCenter","Provider","value","defaultZoom","disableDefaultUI","isFractionalZoomEnabled","tilt","onDragstart","onDragend","onCameraChanged","onIdle"],"sourceRoot":"../../src","sources":["MapView.web.tsx"],"mappings":"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","ignoreList":[]}
@@ -12,15 +12,24 @@ export class Marker extends React.Component {
12
12
  title,
13
13
  description,
14
14
  anchor,
15
+ zIndex,
16
+ rotate = 0,
17
+ scale = 1,
18
+ rasterize = true,
15
19
  children
16
20
  } = this.props;
17
21
  return /*#__PURE__*/_jsx(LuggMarkerViewNativeComponent, {
18
- style: styles.marker,
22
+ style: [{
23
+ zIndex
24
+ }, styles.marker],
19
25
  name: name,
20
26
  coordinate: coordinate,
21
27
  title: title,
22
28
  description: description,
23
29
  anchor: anchor,
30
+ rotate: rotate,
31
+ scale: scale,
32
+ rasterize: rasterize,
24
33
  children: children
25
34
  });
26
35
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","StyleSheet","LuggMarkerViewNativeComponent","jsx","_jsx","Marker","Component","render","name","coordinate","title","description","anchor","children","props","style","styles","marker","create","position","pointerEvents"],"sourceRoot":"../../../src","sources":["components/Marker.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,UAAU,QAAQ,cAAc;AACzC,OAAOC,6BAA6B,MAAM,yCAAyC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AA8BpF,OAAO,MAAMC,MAAM,SAASL,KAAK,CAACM,SAAS,CAAc;EACvDC,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEC,IAAI;MAAEC,UAAU;MAAEC,KAAK;MAAEC,WAAW;MAAEC,MAAM;MAAEC;IAAS,CAAC,GAC9D,IAAI,CAACC,KAAK;IAEZ,oBACEV,IAAA,CAACF,6BAA6B;MAC5Ba,KAAK,EAAEC,MAAM,CAACC,MAAO;MACrBT,IAAI,EAAEA,IAAK;MACXC,UAAU,EAAEA,UAAW;MACvBC,KAAK,EAAEA,KAAM;MACbC,WAAW,EAAEA,WAAY;MACzBC,MAAM,EAAEA,MAAO;MAAAC,QAAA,EAEdA;IAAQ,CACoB,CAAC;EAEpC;AACF;AAEA,MAAMG,MAAM,GAAGf,UAAU,CAACiB,MAAM,CAAC;EAC/BD,MAAM,EAAE;IACNE,QAAQ,EAAE,UAAU;IACpBC,aAAa,EAAE;EACjB;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","StyleSheet","LuggMarkerViewNativeComponent","jsx","_jsx","Marker","Component","render","name","coordinate","title","description","anchor","zIndex","rotate","scale","rasterize","children","props","style","styles","marker","create","position","pointerEvents"],"sourceRoot":"../../../src","sources":["components/Marker.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,UAAU,QAAQ,cAAc;AACzC,OAAOC,6BAA6B,MAAM,yCAAyC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAmDpF,OAAO,MAAMC,MAAM,SAASL,KAAK,CAACM,SAAS,CAAc;EACvDC,MAAMA,CAAA,EAAG;IACP,MAAM;MACJC,IAAI;MACJC,UAAU;MACVC,KAAK;MACLC,WAAW;MACXC,MAAM;MACNC,MAAM;MACNC,MAAM,GAAG,CAAC;MACVC,KAAK,GAAG,CAAC;MACTC,SAAS,GAAG,IAAI;MAChBC;IACF,CAAC,GAAG,IAAI,CAACC,KAAK;IAEd,oBACEd,IAAA,CAACF,6BAA6B;MAC5BiB,KAAK,EAAE,CAAC;QAAEN;MAAO,CAAC,EAAEO,MAAM,CAACC,MAAM,CAAE;MACnCb,IAAI,EAAEA,IAAK;MACXC,UAAU,EAAEA,UAAW;MACvBC,KAAK,EAAEA,KAAM;MACbC,WAAW,EAAEA,WAAY;MACzBC,MAAM,EAAEA,MAAO;MACfE,MAAM,EAAEA,MAAO;MACfC,KAAK,EAAEA,KAAM;MACbC,SAAS,EAAEA,SAAU;MAAAC,QAAA,EAEpBA;IAAQ,CACoB,CAAC;EAEpC;AACF;AAEA,MAAMG,MAAM,GAAGnB,UAAU,CAACqB,MAAM,CAAC;EAC/BD,MAAM,EAAE;IACNE,QAAQ,EAAE,UAAU;IACpBC,aAAa,EAAE;EACjB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ import { AdvancedMarker } from '@vis.gl/react-google-maps';
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ const toWebAnchor = value => `-${value * 100}%`;
6
+ export function Marker({
7
+ coordinate,
8
+ title,
9
+ anchor,
10
+ zIndex,
11
+ rotate,
12
+ scale,
13
+ children
14
+ }) {
15
+ const transforms = [];
16
+ if (rotate) transforms.push(`rotate(${rotate}deg)`);
17
+ if (scale && scale !== 1) transforms.push(`scale(${scale})`);
18
+ return /*#__PURE__*/_jsx(AdvancedMarker, {
19
+ position: {
20
+ lat: coordinate.latitude,
21
+ lng: coordinate.longitude
22
+ },
23
+ title: title,
24
+ zIndex: zIndex,
25
+ anchorLeft: anchor ? toWebAnchor(anchor.x) : undefined,
26
+ anchorTop: anchor ? toWebAnchor(anchor.y) : undefined,
27
+ style: transforms.length > 0 ? {
28
+ transform: transforms.join(' ')
29
+ } : undefined,
30
+ children: children
31
+ });
32
+ }
33
+ //# sourceMappingURL=Marker.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AdvancedMarker","jsx","_jsx","toWebAnchor","value","Marker","coordinate","title","anchor","zIndex","rotate","scale","children","transforms","push","position","lat","latitude","lng","longitude","anchorLeft","x","undefined","anchorTop","y","style","length","transform","join"],"sourceRoot":"../../../src","sources":["components/Marker.web.tsx"],"mappings":";;AAAA,SAASA,cAAc,QAAQ,2BAA2B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG3D,MAAMC,WAAW,GAAIC,KAAa,IAAK,IAAIA,KAAK,GAAG,GAAG,GAAG;AAEzD,OAAO,SAASC,MAAMA,CAAC;EACrBC,UAAU;EACVC,KAAK;EACLC,MAAM;EACNC,MAAM;EACNC,MAAM;EACNC,KAAK;EACLC;AACW,CAAC,EAAE;EACd,MAAMC,UAAoB,GAAG,EAAE;EAC/B,IAAIH,MAAM,EAAEG,UAAU,CAACC,IAAI,CAAC,UAAUJ,MAAM,MAAM,CAAC;EACnD,IAAIC,KAAK,IAAIA,KAAK,KAAK,CAAC,EAAEE,UAAU,CAACC,IAAI,CAAC,SAASH,KAAK,GAAG,CAAC;EAE5D,oBACET,IAAA,CAACF,cAAc;IACbe,QAAQ,EAAE;MAAEC,GAAG,EAAEV,UAAU,CAACW,QAAQ;MAAEC,GAAG,EAAEZ,UAAU,CAACa;IAAU,CAAE;IAClEZ,KAAK,EAAEA,KAAM;IACbE,MAAM,EAAEA,MAAO;IACfW,UAAU,EAAEZ,MAAM,GAAGL,WAAW,CAACK,MAAM,CAACa,CAAC,CAAC,GAAGC,SAAU;IACvDC,SAAS,EAAEf,MAAM,GAAGL,WAAW,CAACK,MAAM,CAACgB,CAAC,CAAC,GAAGF,SAAU;IACtDG,KAAK,EACHZ,UAAU,CAACa,MAAM,GAAG,CAAC,GAAG;MAAEC,SAAS,EAAEd,UAAU,CAACe,IAAI,CAAC,GAAG;IAAE,CAAC,GAAGN,SAC/D;IAAAV,QAAA,EAEAA;EAAQ,CACK,CAAC;AAErB","ignoreList":[]}
@@ -10,14 +10,19 @@ export class Polyline extends React.Component {
10
10
  coordinates,
11
11
  strokeColors,
12
12
  strokeWidth,
13
- animated = false
13
+ animated = false,
14
+ animatedOptions,
15
+ zIndex
14
16
  } = this.props;
15
17
  return /*#__PURE__*/_jsx(LuggPolylineViewNativeComponent, {
16
- style: styles.polyline,
18
+ style: [{
19
+ zIndex
20
+ }, styles.polyline],
17
21
  coordinates: coordinates,
18
22
  strokeColors: strokeColors,
19
23
  strokeWidth: strokeWidth,
20
- animated: animated
24
+ animated: animated,
25
+ animatedOptions: animatedOptions
21
26
  });
22
27
  }
23
28
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","StyleSheet","LuggPolylineViewNativeComponent","jsx","_jsx","Polyline","Component","render","coordinates","strokeColors","strokeWidth","animated","props","style","styles","polyline","create","position","pointerEvents"],"sourceRoot":"../../../src","sources":["components/Polyline.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,UAAU,QAAQ,cAAc;AACzC,OAAOC,+BAA+B,MAAM,2CAA2C;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAsBxF,OAAO,MAAMC,QAAQ,SAASL,KAAK,CAACM,SAAS,CAAgB;EAC3DC,MAAMA,CAAA,EAAG;IACP,MAAM;MACJC,WAAW;MACXC,YAAY;MACZC,WAAW;MACXC,QAAQ,GAAG;IACb,CAAC,GAAG,IAAI,CAACC,KAAK;IAEd,oBACER,IAAA,CAACF,+BAA+B;MAC9BW,KAAK,EAAEC,MAAM,CAACC,QAAS;MACvBP,WAAW,EAAEA,WAAY;MACzBC,YAAY,EAAEA,YAAa;MAC3BC,WAAW,EAAEA,WAAY;MACzBC,QAAQ,EAAEA;IAAS,CACpB,CAAC;EAEN;AACF;AAEA,MAAMG,MAAM,GAAGb,UAAU,CAACe,MAAM,CAAC;EAC/BD,QAAQ,EAAE;IACRE,QAAQ,EAAE,UAAU;IACpBC,aAAa,EAAE;EACjB;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","StyleSheet","LuggPolylineViewNativeComponent","jsx","_jsx","Polyline","Component","render","coordinates","strokeColors","strokeWidth","animated","animatedOptions","zIndex","props","style","styles","polyline","create","position","pointerEvents"],"sourceRoot":"../../../src","sources":["components/Polyline.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,UAAU,QAAQ,cAAc;AACzC,OAAOC,+BAA+B,MAAM,2CAA2C;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAwDxF,OAAO,MAAMC,QAAQ,SAASL,KAAK,CAACM,SAAS,CAAgB;EAC3DC,MAAMA,CAAA,EAAG;IACP,MAAM;MACJC,WAAW;MACXC,YAAY;MACZC,WAAW;MACXC,QAAQ,GAAG,KAAK;MAChBC,eAAe;MACfC;IACF,CAAC,GAAG,IAAI,CAACC,KAAK;IAEd,oBACEV,IAAA,CAACF,+BAA+B;MAC9Ba,KAAK,EAAE,CAAC;QAAEF;MAAO,CAAC,EAAEG,MAAM,CAACC,QAAQ,CAAE;MACrCT,WAAW,EAAEA,WAAY;MACzBC,YAAY,EAAEA,YAAa;MAC3BC,WAAW,EAAEA,WAAY;MACzBC,QAAQ,EAAEA,QAAS;MACnBC,eAAe,EAAEA;IAAgB,CAClC,CAAC;EAEN;AACF;AAEA,MAAMI,MAAM,GAAGf,UAAU,CAACiB,MAAM,CAAC;EAC/BD,QAAQ,EAAE;IACRE,QAAQ,EAAE,UAAU;IACpBC,aAAa,EAAE;EACjB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,229 @@
1
+ "use strict";
2
+
3
+ import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
4
+ import { useMapContext } from "../MapProvider.web.js";
5
+ const DEFAULT_DURATION = 2150;
6
+ function applyEasing(t, easing = 'linear') {
7
+ switch (easing) {
8
+ case 'easeIn':
9
+ return t * t;
10
+ case 'easeOut':
11
+ return t * (2 - t);
12
+ case 'easeInOut':
13
+ return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;
14
+ default:
15
+ return t;
16
+ }
17
+ }
18
+ function interpolateColor(color1, color2, t) {
19
+ const hex = c => parseInt(c, 16);
20
+ const r1 = hex(color1.slice(1, 3));
21
+ const g1 = hex(color1.slice(3, 5));
22
+ const b1 = hex(color1.slice(5, 7));
23
+ const r2 = hex(color2.slice(1, 3));
24
+ const g2 = hex(color2.slice(3, 5));
25
+ const b2 = hex(color2.slice(5, 7));
26
+ const r = Math.round(r1 + (r2 - r1) * t);
27
+ const g = Math.round(g1 + (g2 - g1) * t);
28
+ const b = Math.round(b1 + (b2 - b1) * t);
29
+ return `#${r.toString(16).padStart(2, '0')}${g.toString(16).padStart(2, '0')}${b.toString(16).padStart(2, '0')}`;
30
+ }
31
+ function getGradientColor(colors, position) {
32
+ if (colors.length === 0) return '#000000';
33
+ if (colors.length === 1 || position <= 0) return colors[0];
34
+ if (position >= 1) return colors[colors.length - 1];
35
+ const scaledPos = position * (colors.length - 1);
36
+ const index = Math.floor(scaledPos);
37
+ const t = scaledPos - index;
38
+ return interpolateColor(colors[index], colors[index + 1], t);
39
+ }
40
+ export function Polyline({
41
+ coordinates,
42
+ strokeColors,
43
+ strokeWidth = 1,
44
+ animated,
45
+ animatedOptions,
46
+ zIndex
47
+ }) {
48
+ const resolvedZIndex = zIndex ?? (animated ? 1 : 0);
49
+ const {
50
+ map,
51
+ isDragging
52
+ } = useMapContext();
53
+ const polylinesRef = useRef([]);
54
+ const animationRef = useRef(0);
55
+ const isPausedRef = useRef(false);
56
+ const colors = useMemo(() => strokeColors && strokeColors.length > 0 ? strokeColors : ['#000000'], [strokeColors]);
57
+ const hasGradient = colors.length > 1;
58
+
59
+ // Refs for animation loop access
60
+ const propsRef = useRef({
61
+ map,
62
+ colors,
63
+ strokeWidth,
64
+ hasGradient,
65
+ zIndex: resolvedZIndex
66
+ });
67
+ const [mapReady, setMapReady] = useState(!!map);
68
+ useEffect(() => {
69
+ propsRef.current = {
70
+ map,
71
+ colors,
72
+ strokeWidth,
73
+ hasGradient,
74
+ zIndex: resolvedZIndex
75
+ };
76
+ if (map && !mapReady) setMapReady(true);
77
+ }, [map, colors, strokeWidth, hasGradient, resolvedZIndex, mapReady]);
78
+ const updatePath = useCallback(path => {
79
+ const {
80
+ map: currentMap,
81
+ colors: currentColors,
82
+ strokeWidth: currentStrokeWidth,
83
+ hasGradient: currentHasGradient,
84
+ zIndex: currentZIndex
85
+ } = propsRef.current;
86
+ if (!currentMap || path.length < 2) return;
87
+ const neededSegments = currentHasGradient ? path.length - 1 : 1;
88
+ const existing = polylinesRef.current;
89
+
90
+ // Update or create segments
91
+ for (let i = 0; i < neededSegments; i++) {
92
+ const segmentPath = currentHasGradient ? [path[i], path[i + 1]] : path;
93
+ const color = currentHasGradient ? getGradientColor(currentColors, i / (path.length - 1)) : currentColors[0];
94
+ const segment = existing[i];
95
+ if (segment) {
96
+ segment.setPath(segmentPath);
97
+ segment.setOptions({
98
+ strokeColor: color
99
+ });
100
+ } else {
101
+ existing.push(new google.maps.Polyline({
102
+ path: segmentPath,
103
+ strokeColor: color,
104
+ strokeWeight: currentStrokeWidth,
105
+ strokeOpacity: 1,
106
+ zIndex: currentZIndex,
107
+ map: currentMap
108
+ }));
109
+ }
110
+ }
111
+
112
+ // Remove extra segments
113
+ for (let i = neededSegments; i < existing.length; i++) {
114
+ existing[i]?.setMap(null);
115
+ }
116
+ existing.length = neededSegments;
117
+ }, []);
118
+
119
+ // Cleanup on unmount
120
+ useEffect(() => {
121
+ const polylines = polylinesRef.current;
122
+ return () => {
123
+ cancelAnimationFrame(animationRef.current);
124
+ polylines.forEach(p => p.setMap(null));
125
+ };
126
+ }, []);
127
+
128
+ // Pause/resume animation during drag
129
+ useEffect(() => {
130
+ isPausedRef.current = isDragging;
131
+ }, [isDragging]);
132
+
133
+ // Main effect
134
+ useEffect(() => {
135
+ if (!propsRef.current.map || coordinates.length === 0) return;
136
+ const fullPath = coordinates.map(c => ({
137
+ lat: c.latitude,
138
+ lng: c.longitude
139
+ }));
140
+ cancelAnimationFrame(animationRef.current);
141
+ if (!animated) {
142
+ updatePath(fullPath);
143
+ return;
144
+ }
145
+ const duration = animatedOptions?.duration ?? DEFAULT_DURATION;
146
+ const easing = animatedOptions?.easing ?? 'linear';
147
+ const trailLength = Math.max(0.01, Math.min(1, animatedOptions?.trailLength ?? 1));
148
+ const delay = animatedOptions?.delay ?? 0;
149
+ const totalPoints = fullPath.length;
150
+ const useTrailMode = trailLength < 1;
151
+ const cycleDuration = useTrailMode ? duration : duration * 2;
152
+ let startTime = null;
153
+ let delayRemaining = delay;
154
+ const animate = time => {
155
+ if (isPausedRef.current) {
156
+ startTime = null;
157
+ animationRef.current = requestAnimationFrame(animate);
158
+ return;
159
+ }
160
+ if (startTime === null) {
161
+ startTime = time;
162
+ }
163
+ const elapsed = time - startTime;
164
+ if (delayRemaining > 0) {
165
+ if (elapsed < delayRemaining) {
166
+ animationRef.current = requestAnimationFrame(animate);
167
+ return;
168
+ }
169
+ startTime = time - (elapsed - delayRemaining);
170
+ delayRemaining = 0;
171
+ }
172
+ const rawProgress = (time - startTime) % cycleDuration / duration;
173
+ const maxProgress = useTrailMode ? 1 : 2;
174
+ const clampedProgress = Math.min(rawProgress, maxProgress);
175
+ const easedProgress = applyEasing(clampedProgress / maxProgress, easing) * maxProgress;
176
+ let startIdx;
177
+ let endIdx;
178
+ if (useTrailMode) {
179
+ endIdx = easedProgress * totalPoints;
180
+ startIdx = Math.max(0, endIdx - trailLength * totalPoints);
181
+ } else {
182
+ startIdx = easedProgress <= 1 ? 0 : (easedProgress - 1) * totalPoints;
183
+ endIdx = easedProgress <= 1 ? easedProgress * totalPoints : totalPoints;
184
+ }
185
+ if (rawProgress >= maxProgress) {
186
+ delayRemaining = delay;
187
+ startTime = time;
188
+ }
189
+ const partialPath = [];
190
+ const startFloor = Math.floor(startIdx);
191
+ const endFloor = Math.floor(endIdx);
192
+
193
+ // Start point (interpolated)
194
+ if (startFloor < totalPoints) {
195
+ const frac = startIdx - startFloor;
196
+ const from = fullPath[startFloor];
197
+ const to = fullPath[Math.min(startFloor + 1, totalPoints - 1)];
198
+ partialPath.push(frac > 0 ? {
199
+ lat: from.lat + (to.lat - from.lat) * frac,
200
+ lng: from.lng + (to.lng - from.lng) * frac
201
+ } : from);
202
+ }
203
+
204
+ // Middle points
205
+ for (let i = startFloor + 1; i <= Math.min(endFloor, totalPoints - 1); i++) {
206
+ partialPath.push(fullPath[i]);
207
+ }
208
+
209
+ // End point (interpolated)
210
+ if (endFloor < totalPoints - 1) {
211
+ const frac = endIdx - endFloor;
212
+ const from = fullPath[endFloor];
213
+ const to = fullPath[endFloor + 1];
214
+ if (frac > 0) {
215
+ partialPath.push({
216
+ lat: from.lat + (to.lat - from.lat) * frac,
217
+ lng: from.lng + (to.lng - from.lng) * frac
218
+ });
219
+ }
220
+ }
221
+ updatePath(partialPath);
222
+ animationRef.current = requestAnimationFrame(animate);
223
+ };
224
+ animationRef.current = requestAnimationFrame(animate);
225
+ return () => cancelAnimationFrame(animationRef.current);
226
+ }, [coordinates, animated, animatedOptions, hasGradient, updatePath, mapReady]);
227
+ return null;
228
+ }
229
+ //# sourceMappingURL=Polyline.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","useMapContext","DEFAULT_DURATION","applyEasing","t","easing","interpolateColor","color1","color2","hex","c","parseInt","r1","slice","g1","b1","r2","g2","b2","r","Math","round","g","b","toString","padStart","getGradientColor","colors","position","length","scaledPos","index","floor","Polyline","coordinates","strokeColors","strokeWidth","animated","animatedOptions","zIndex","resolvedZIndex","map","isDragging","polylinesRef","animationRef","isPausedRef","hasGradient","propsRef","mapReady","setMapReady","current","updatePath","path","currentMap","currentColors","currentStrokeWidth","currentHasGradient","currentZIndex","neededSegments","existing","i","segmentPath","color","segment","setPath","setOptions","strokeColor","push","google","maps","strokeWeight","strokeOpacity","setMap","polylines","cancelAnimationFrame","forEach","p","fullPath","lat","latitude","lng","longitude","duration","trailLength","max","min","delay","totalPoints","useTrailMode","cycleDuration","startTime","delayRemaining","animate","time","requestAnimationFrame","elapsed","rawProgress","maxProgress","clampedProgress","easedProgress","startIdx","endIdx","partialPath","startFloor","endFloor","frac","from","to"],"sourceRoot":"../../../src","sources":["components/Polyline.web.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
 
3
- export * from "./Marker.js";
4
- export * from "./Polyline.js";
3
+ export * from './Marker';
4
+ export * from './Polyline';
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["components/index.ts"],"mappings":";;AAAA,cAAc,aAAU;AACxB,cAAc,eAAY","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["components/index.ts"],"mappings":";;AAAA,cAAc,UAAU;AACxB,cAAc,YAAY","ignoreList":[]}