@lugg/maps 0.2.0-alpha.18 → 0.2.0-alpha.19

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 (40) hide show
  1. package/android/src/main/java/com/luggmaps/LuggGoogleMapView.kt +13 -0
  2. package/android/src/main/java/com/luggmaps/LuggMapWrapperView.kt +20 -0
  3. package/android/src/main/java/com/luggmaps/LuggMarkerView.kt +54 -13
  4. package/android/src/main/java/com/luggmaps/LuggMarkerViewManager.kt +10 -0
  5. package/android/src/main/java/com/luggmaps/core/PolylineAnimator.kt +8 -0
  6. package/ios/LuggAppleMapView.mm +56 -33
  7. package/ios/LuggGoogleMapView.mm +43 -29
  8. package/ios/LuggMarkerView.h +4 -0
  9. package/ios/LuggMarkerView.mm +42 -0
  10. package/ios/core/GMSPolylineAnimator.h +2 -0
  11. package/ios/core/GMSPolylineAnimator.m +8 -0
  12. package/ios/core/MKPolylineAnimator.h +2 -0
  13. package/ios/core/MKPolylineAnimator.m +8 -0
  14. package/lib/module/MapProvider.web.js +5 -2
  15. package/lib/module/MapProvider.web.js.map +1 -1
  16. package/lib/module/MapView.web.js +14 -11
  17. package/lib/module/MapView.web.js.map +1 -1
  18. package/lib/module/components/Marker.js +4 -0
  19. package/lib/module/components/Marker.js.map +1 -1
  20. package/lib/module/components/Marker.web.js +8 -0
  21. package/lib/module/components/Marker.web.js.map +1 -1
  22. package/lib/module/components/Polyline.web.js +15 -4
  23. package/lib/module/components/Polyline.web.js.map +1 -1
  24. package/lib/module/fabric/LuggMarkerViewNativeComponent.ts +2 -0
  25. package/lib/typescript/src/MapProvider.web.d.ts +8 -2
  26. package/lib/typescript/src/MapProvider.web.d.ts.map +1 -1
  27. package/lib/typescript/src/components/Marker.d.ts +11 -0
  28. package/lib/typescript/src/components/Marker.d.ts.map +1 -1
  29. package/lib/typescript/src/components/Marker.web.d.ts +1 -1
  30. package/lib/typescript/src/components/Marker.web.d.ts.map +1 -1
  31. package/lib/typescript/src/components/Polyline.web.d.ts.map +1 -1
  32. package/lib/typescript/src/fabric/LuggMarkerViewNativeComponent.d.ts +2 -0
  33. package/lib/typescript/src/fabric/LuggMarkerViewNativeComponent.d.ts.map +1 -1
  34. package/package.json +1 -1
  35. package/src/MapProvider.web.tsx +5 -2
  36. package/src/MapView.web.tsx +11 -11
  37. package/src/components/Marker.tsx +15 -0
  38. package/src/components/Marker.web.tsx +9 -0
  39. package/src/components/Polyline.web.tsx +13 -4
  40. package/src/fabric/LuggMarkerViewNativeComponent.ts +2 -0
@@ -4,7 +4,7 @@ import { forwardRef, useCallback, useEffect, useId, useImperativeHandle, useRef,
4
4
  import { View } from 'react-native';
5
5
  import { Map, useMap } from '@vis.gl/react-google-maps';
6
6
  import { Marker } from "./components/Marker.web.js";
7
- import { MapIdContext } from "./MapProvider.web.js";
7
+ import { MapContext } from "./MapProvider.web.js";
8
8
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
9
  const createSyntheticEvent = nativeEvent => ({
10
10
  nativeEvent,
@@ -89,7 +89,7 @@ export const MapView = /*#__PURE__*/forwardRef(function MapView(props, ref) {
89
89
  const map = useMap(id);
90
90
  const containerRef = useRef(null);
91
91
  const readyFired = useRef(false);
92
- const isDragging = useRef(false);
92
+ const [isDragging, setIsDragging] = useState(false);
93
93
  const wasGesture = useRef(false);
94
94
  const prevPadding = useRef(padding);
95
95
  const offsetCenter = useCallback((coord, zoom, paddingOverride, reverse = false) => {
@@ -119,10 +119,10 @@ export const MapView = /*#__PURE__*/forwardRef(function MapView(props, ref) {
119
119
  moveCamera(coordinate, options) {
120
120
  if (!map) return;
121
121
  const {
122
- zoom,
122
+ zoom = 0,
123
123
  duration = -1
124
- } = options;
125
- const targetZoom = zoom ?? map.getZoom() ?? initialZoom;
124
+ } = options ?? {};
125
+ const targetZoom = zoom || map.getZoom() || initialZoom;
126
126
  const center = offsetCenter(coordinate, targetZoom, undefined, false);
127
127
  if (duration === 0) {
128
128
  map.moveCamera({
@@ -131,7 +131,7 @@ export const MapView = /*#__PURE__*/forwardRef(function MapView(props, ref) {
131
131
  });
132
132
  } else {
133
133
  const currentZoom = map.getZoom();
134
- const zoomChanged = zoom !== undefined && zoom !== currentZoom;
134
+ const zoomChanged = zoom !== 0 && zoom !== currentZoom;
135
135
  if (zoomChanged) {
136
136
  map.setZoom(zoom);
137
137
  }
@@ -195,11 +195,11 @@ export const MapView = /*#__PURE__*/forwardRef(function MapView(props, ref) {
195
195
  }
196
196
  }, [map, padding, initialZoom, offsetCenter]);
197
197
  const handleDragStart = () => {
198
- isDragging.current = true;
198
+ setIsDragging(true);
199
199
  wasGesture.current = true;
200
200
  };
201
201
  const handleDragEnd = () => {
202
- isDragging.current = false;
202
+ setIsDragging(false);
203
203
  };
204
204
  const handleCameraChanged = event => {
205
205
  const logicalCenter = offsetCenter({
@@ -212,7 +212,7 @@ export const MapView = /*#__PURE__*/forwardRef(function MapView(props, ref) {
212
212
  longitude: logicalCenter.lng
213
213
  },
214
214
  zoom: event.detail.zoom,
215
- gesture: isDragging.current
215
+ gesture: isDragging
216
216
  };
217
217
  onCameraMove?.(createSyntheticEvent(payload));
218
218
  };
@@ -239,8 +239,11 @@ export const MapView = /*#__PURE__*/forwardRef(function MapView(props, ref) {
239
239
  lat: initialCoordinate.latitude,
240
240
  lng: initialCoordinate.longitude
241
241
  } : undefined;
242
- return /*#__PURE__*/_jsx(MapIdContext.Provider, {
243
- value: id,
242
+ return /*#__PURE__*/_jsx(MapContext.Provider, {
243
+ value: {
244
+ map,
245
+ isDragging
246
+ },
244
247
  children: /*#__PURE__*/_jsx(View, {
245
248
  ref: containerRef,
246
249
  style: style,
@@ -1 +1 @@
1
- {"version":3,"names":["forwardRef","useCallback","useEffect","useId","useImperativeHandle","useRef","useState","View","Map","useMap","Marker","MapIdContext","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","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":[]}
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":[]}
@@ -13,6 +13,8 @@ export class Marker extends React.Component {
13
13
  description,
14
14
  anchor,
15
15
  zIndex,
16
+ rotate = 0,
17
+ scale = 1,
16
18
  rasterize = true,
17
19
  children
18
20
  } = this.props;
@@ -25,6 +27,8 @@ export class Marker extends React.Component {
25
27
  title: title,
26
28
  description: description,
27
29
  anchor: anchor,
30
+ rotate: rotate,
31
+ scale: scale,
28
32
  rasterize: rasterize,
29
33
  children: children
30
34
  });
@@ -1 +1 @@
1
- {"version":3,"names":["React","StyleSheet","LuggMarkerViewNativeComponent","jsx","_jsx","Marker","Component","render","name","coordinate","title","description","anchor","zIndex","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;AAwCpF,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,SAAS,GAAG,IAAI;MAChBC;IACF,CAAC,GAAG,IAAI,CAACC,KAAK;IAEd,oBACEZ,IAAA,CAACF,6BAA6B;MAC5Be,KAAK,EAAE,CAAC;QAAEJ;MAAO,CAAC,EAAEK,MAAM,CAACC,MAAM,CAAE;MACnCX,IAAI,EAAEA,IAAK;MACXC,UAAU,EAAEA,UAAW;MACvBC,KAAK,EAAEA,KAAM;MACbC,WAAW,EAAEA,WAAY;MACzBC,MAAM,EAAEA,MAAO;MACfE,SAAS,EAAEA,SAAU;MAAAC,QAAA,EAEpBA;IAAQ,CACoB,CAAC;EAEpC;AACF;AAEA,MAAMG,MAAM,GAAGjB,UAAU,CAACmB,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":[]}
@@ -8,8 +8,13 @@ export function Marker({
8
8
  title,
9
9
  anchor,
10
10
  zIndex,
11
+ rotate,
12
+ scale,
11
13
  children
12
14
  }) {
15
+ const transforms = [];
16
+ if (rotate) transforms.push(`rotate(${rotate}deg)`);
17
+ if (scale && scale !== 1) transforms.push(`scale(${scale})`);
13
18
  return /*#__PURE__*/_jsx(AdvancedMarker, {
14
19
  position: {
15
20
  lat: coordinate.latitude,
@@ -19,6 +24,9 @@ export function Marker({
19
24
  zIndex: zIndex,
20
25
  anchorLeft: anchor ? toWebAnchor(anchor.x) : undefined,
21
26
  anchorTop: anchor ? toWebAnchor(anchor.y) : undefined,
27
+ style: transforms.length > 0 ? {
28
+ transform: transforms.join(' ')
29
+ } : undefined,
22
30
  children: children
23
31
  });
24
32
  }
@@ -1 +1 @@
1
- {"version":3,"names":["AdvancedMarker","jsx","_jsx","toWebAnchor","value","Marker","coordinate","title","anchor","zIndex","children","position","lat","latitude","lng","longitude","anchorLeft","x","undefined","anchorTop","y"],"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;AACW,CAAC,EAAE;EACd,oBACER,IAAA,CAACF,cAAc;IACbW,QAAQ,EAAE;MAAEC,GAAG,EAAEN,UAAU,CAACO,QAAQ;MAAEC,GAAG,EAAER,UAAU,CAACS;IAAU,CAAE;IAClER,KAAK,EAAEA,KAAM;IACbE,MAAM,EAAEA,MAAO;IACfO,UAAU,EAAER,MAAM,GAAGL,WAAW,CAACK,MAAM,CAACS,CAAC,CAAC,GAAGC,SAAU;IACvDC,SAAS,EAAEX,MAAM,GAAGL,WAAW,CAACK,MAAM,CAACY,CAAC,CAAC,GAAGF,SAAU;IAAAR,QAAA,EAErDA;EAAQ,CACK,CAAC;AAErB","ignoreList":[]}
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":[]}
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
4
- import { useMap } from '@vis.gl/react-google-maps';
5
- import { useMapId } from "../MapProvider.web.js";
4
+ import { useMapContext } from "../MapProvider.web.js";
6
5
  const ANIMATION_DURATION = 1500;
7
6
  function interpolateColor(color1, color2, t) {
8
7
  const hex = c => parseInt(c, 16);
@@ -34,10 +33,13 @@ export function Polyline({
34
33
  zIndex
35
34
  }) {
36
35
  const resolvedZIndex = zIndex ?? (animated ? 1 : 0);
37
- const mapId = useMapId();
38
- const map = useMap(mapId);
36
+ const {
37
+ map,
38
+ isDragging
39
+ } = useMapContext();
39
40
  const polylinesRef = useRef([]);
40
41
  const animationRef = useRef(0);
42
+ const isPausedRef = useRef(false);
41
43
  const colors = useMemo(() => strokeColors && strokeColors.length > 0 ? strokeColors : ['#000000'], [strokeColors]);
42
44
  const hasGradient = colors.length > 1;
43
45
 
@@ -110,6 +112,11 @@ export function Polyline({
110
112
  };
111
113
  }, []);
112
114
 
115
+ // Pause/resume animation during drag
116
+ useEffect(() => {
117
+ isPausedRef.current = isDragging;
118
+ }, [isDragging]);
119
+
113
120
  // Main effect
114
121
  useEffect(() => {
115
122
  if (!propsRef.current.map || coordinates.length === 0) return;
@@ -125,6 +132,10 @@ export function Polyline({
125
132
  const totalPoints = fullPath.length;
126
133
  const cycleDuration = ANIMATION_DURATION * 2;
127
134
  const animate = time => {
135
+ if (isPausedRef.current) {
136
+ animationRef.current = requestAnimationFrame(animate);
137
+ return;
138
+ }
128
139
  const progress = time % cycleDuration / ANIMATION_DURATION;
129
140
  const startIdx = progress <= 1 ? 0 : (progress - 1) * totalPoints;
130
141
  const endIdx = progress <= 1 ? progress * totalPoints : totalPoints;
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","useMap","useMapId","ANIMATION_DURATION","interpolateColor","color1","color2","t","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","zIndex","resolvedZIndex","mapId","map","polylinesRef","animationRef","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","totalPoints","cycleDuration","animate","time","progress","startIdx","endIdx","partialPath","startFloor","endFloor","frac","from","to","min","requestAnimationFrame"],"sourceRoot":"../../../src","sources":["components/Polyline.web.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","useMapContext","ANIMATION_DURATION","interpolateColor","color1","color2","t","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","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","totalPoints","cycleDuration","animate","time","requestAnimationFrame","progress","startIdx","endIdx","partialPath","startFloor","endFloor","frac","from","to","min"],"sourceRoot":"../../../src","sources":["components/Polyline.web.tsx"],"mappings":"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","ignoreList":[]}
@@ -21,6 +21,8 @@ export interface NativeProps extends ViewProps {
21
21
  title?: string;
22
22
  description?: string;
23
23
  anchor?: Point;
24
+ rotate?: WithDefault<Double, 0>;
25
+ scale?: WithDefault<Double, 1>;
24
26
  rasterize?: WithDefault<boolean, true>;
25
27
  }
26
28
 
@@ -1,5 +1,11 @@
1
1
  import type { MapProviderProps } from './MapProvider.types';
2
- export declare const MapIdContext: import("react").Context<string | null>;
3
- export declare const useMapId: () => string | null;
2
+ export declare const MapContext: import("react").Context<{
3
+ map: google.maps.Map | null;
4
+ isDragging: boolean;
5
+ }>;
6
+ export declare const useMapContext: () => {
7
+ map: google.maps.Map | null;
8
+ isDragging: boolean;
9
+ };
4
10
  export declare function MapProvider({ apiKey, children }: MapProviderProps): import("react/jsx-runtime").JSX.Element;
5
11
  //# sourceMappingURL=MapProvider.web.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MapProvider.web.d.ts","sourceRoot":"","sources":["../../../src/MapProvider.web.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,eAAO,MAAM,YAAY,wCAAqC,CAAC;AAE/D,eAAO,MAAM,QAAQ,qBAAiC,CAAC;AAEvD,wBAAgB,WAAW,CAAC,EAAE,MAAW,EAAE,QAAQ,EAAE,EAAE,gBAAgB,2CAEtE"}
1
+ {"version":3,"file":"MapProvider.web.d.ts","sourceRoot":"","sources":["../../../src/MapProvider.web.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,eAAO,MAAM,UAAU;SAChB,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI;gBACf,OAAO;EACe,CAAC;AAErC,eAAO,MAAM,aAAa;SAJnB,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI;gBACf,OAAO;CAGoC,CAAC;AAE1D,wBAAgB,WAAW,CAAC,EAAE,MAAW,EAAE,QAAQ,EAAE,EAAE,gBAAgB,2CAEtE"}
@@ -26,9 +26,20 @@ export interface MarkerProps {
26
26
  * Z-index for marker ordering. Higher values render on top.
27
27
  */
28
28
  zIndex?: number;
29
+ /**
30
+ * Rotation angle in degrees clockwise from north.
31
+ * @default 0
32
+ */
33
+ rotate?: number;
34
+ /**
35
+ * Scale factor for the marker.
36
+ * @default 1
37
+ */
38
+ scale?: number;
29
39
  /**
30
40
  * Rasterize custom marker view to bitmap for better performance.
31
41
  * Set to false if you need live view updates (e.g., animations).
42
+ * @platform ios, android
32
43
  * @default true
33
44
  */
34
45
  rasterize?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"Marker.d.ts","sourceRoot":"","sources":["../../../../src/components/Marker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAElD,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,UAAU,EAAE,UAAU,CAAC;IACvB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,qBAAa,MAAO,SAAQ,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC;IACtD,MAAM;CA0BP"}
1
+ {"version":3,"file":"Marker.d.ts","sourceRoot":"","sources":["../../../../src/components/Marker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAElD,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,UAAU,EAAE,UAAU,CAAC;IACvB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,qBAAa,MAAO,SAAQ,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC;IACtD,MAAM;CA8BP"}
@@ -1,3 +1,3 @@
1
1
  import type { MarkerProps } from './Marker';
2
- export declare function Marker({ coordinate, title, anchor, zIndex, children, }: MarkerProps): import("react/jsx-runtime").JSX.Element;
2
+ export declare function Marker({ coordinate, title, anchor, zIndex, rotate, scale, children, }: MarkerProps): import("react/jsx-runtime").JSX.Element;
3
3
  //# sourceMappingURL=Marker.web.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Marker.web.d.ts","sourceRoot":"","sources":["../../../../src/components/Marker.web.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAI5C,wBAAgB,MAAM,CAAC,EACrB,UAAU,EACV,KAAK,EACL,MAAM,EACN,MAAM,EACN,QAAQ,GACT,EAAE,WAAW,2CAYb"}
1
+ {"version":3,"file":"Marker.web.d.ts","sourceRoot":"","sources":["../../../../src/components/Marker.web.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAI5C,wBAAgB,MAAM,CAAC,EACrB,UAAU,EACV,KAAK,EACL,MAAM,EACN,MAAM,EACN,MAAM,EACN,KAAK,EACL,QAAQ,GACT,EAAE,WAAW,2CAmBb"}
@@ -1 +1 @@
1
- {"version":3,"file":"Polyline.web.d.ts","sourceRoot":"","sources":["../../../../src/components/Polyline.web.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAkChD,wBAAgB,QAAQ,CAAC,EACvB,WAAW,EACX,YAAY,EACZ,WAAe,EACf,QAAQ,EACR,MAAM,GACP,EAAE,aAAa,QAuKf"}
1
+ {"version":3,"file":"Polyline.web.d.ts","sourceRoot":"","sources":["../../../../src/components/Polyline.web.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAkChD,wBAAgB,QAAQ,CAAC,EACvB,WAAW,EACX,YAAY,EACZ,WAAe,EACf,QAAQ,EACR,MAAM,GACP,EAAE,aAAa,QAiLf"}
@@ -14,6 +14,8 @@ export interface NativeProps extends ViewProps {
14
14
  title?: string;
15
15
  description?: string;
16
16
  anchor?: Point;
17
+ rotate?: WithDefault<Double, 0>;
18
+ scale?: WithDefault<Double, 1>;
17
19
  rasterize?: WithDefault<boolean, true>;
18
20
  }
19
21
  declare const _default: HostComponent<NativeProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"LuggMarkerViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/fabric/LuggMarkerViewNativeComponent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,KAAK,EACV,MAAM,EACN,WAAW,EACZ,MAAM,2CAA2C,CAAC;AAEnD,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,KAAK;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,SAAS,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;CACxC;wBAII,aAAa,CAAC,WAAW,CAAC;AAF/B,wBAEgC"}
1
+ {"version":3,"file":"LuggMarkerViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/fabric/LuggMarkerViewNativeComponent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,KAAK,EACV,MAAM,EACN,WAAW,EACZ,MAAM,2CAA2C,CAAC;AAEnD,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,KAAK;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAChC,KAAK,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;CACxC;wBAII,aAAa,CAAC,WAAW,CAAC;AAF/B,wBAEgC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lugg/maps",
3
- "version": "0.2.0-alpha.18",
3
+ "version": "0.2.0-alpha.19",
4
4
  "description": "Universal maps for React Native.",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -2,9 +2,12 @@ import { createContext, useContext } from 'react';
2
2
  import { APIProvider } from '@vis.gl/react-google-maps';
3
3
  import type { MapProviderProps } from './MapProvider.types';
4
4
 
5
- export const MapIdContext = createContext<string | null>(null);
5
+ export const MapContext = createContext<{
6
+ map: google.maps.Map | null;
7
+ isDragging: boolean;
8
+ }>({ map: null, isDragging: false });
6
9
 
7
- export const useMapId = () => useContext(MapIdContext);
10
+ export const useMapContext = () => useContext(MapContext);
8
11
 
9
12
  export function MapProvider({ apiKey = '', children }: MapProviderProps) {
10
13
  return <APIProvider apiKey={apiKey}>{children}</APIProvider>;
@@ -17,7 +17,7 @@ import {
17
17
  type MapEvent,
18
18
  } from '@vis.gl/react-google-maps';
19
19
  import { Marker } from './components/Marker.web';
20
- import { MapIdContext } from './MapProvider.web';
20
+ import { MapContext } from './MapProvider.web';
21
21
 
22
22
  import type {
23
23
  MapViewProps,
@@ -119,7 +119,7 @@ export const MapView = forwardRef<MapViewRef, MapViewProps>(function MapView(
119
119
  const map = useMap(id);
120
120
  const containerRef = useRef<View>(null);
121
121
  const readyFired = useRef(false);
122
- const isDragging = useRef(false);
122
+ const [isDragging, setIsDragging] = useState(false);
123
123
  const wasGesture = useRef(false);
124
124
  const prevPadding = useRef(padding);
125
125
 
@@ -161,18 +161,18 @@ export const MapView = forwardRef<MapViewRef, MapViewProps>(function MapView(
161
161
  useImperativeHandle(
162
162
  ref,
163
163
  () => ({
164
- moveCamera(coordinate: Coordinate, options: MoveCameraOptions) {
164
+ moveCamera(coordinate: Coordinate, options?: MoveCameraOptions) {
165
165
  if (!map) return;
166
166
 
167
- const { zoom, duration = -1 } = options;
168
- const targetZoom = zoom ?? map.getZoom() ?? initialZoom;
167
+ const { zoom = 0, duration = -1 } = options ?? {};
168
+ const targetZoom = zoom || map.getZoom() || initialZoom;
169
169
  const center = offsetCenter(coordinate, targetZoom, undefined, false);
170
170
 
171
171
  if (duration === 0) {
172
172
  map.moveCamera({ center, zoom: targetZoom });
173
173
  } else {
174
174
  const currentZoom = map.getZoom();
175
- const zoomChanged = zoom !== undefined && zoom !== currentZoom;
175
+ const zoomChanged = zoom !== 0 && zoom !== currentZoom;
176
176
 
177
177
  if (zoomChanged) {
178
178
  map.setZoom(zoom);
@@ -251,12 +251,12 @@ export const MapView = forwardRef<MapViewRef, MapViewProps>(function MapView(
251
251
  }, [map, padding, initialZoom, offsetCenter]);
252
252
 
253
253
  const handleDragStart = () => {
254
- isDragging.current = true;
254
+ setIsDragging(true);
255
255
  wasGesture.current = true;
256
256
  };
257
257
 
258
258
  const handleDragEnd = () => {
259
- isDragging.current = false;
259
+ setIsDragging(false);
260
260
  };
261
261
 
262
262
  const handleCameraChanged = (event: MapCameraChangedEvent) => {
@@ -272,7 +272,7 @@ export const MapView = forwardRef<MapViewRef, MapViewProps>(function MapView(
272
272
  longitude: logicalCenter.lng,
273
273
  },
274
274
  zoom: event.detail.zoom,
275
- gesture: isDragging.current,
275
+ gesture: isDragging,
276
276
  };
277
277
  onCameraMove?.(createSyntheticEvent(payload));
278
278
  };
@@ -310,7 +310,7 @@ export const MapView = forwardRef<MapViewRef, MapViewProps>(function MapView(
310
310
  : undefined;
311
311
 
312
312
  return (
313
- <MapIdContext.Provider value={id}>
313
+ <MapContext.Provider value={{ map, isDragging }}>
314
314
  <View ref={containerRef} style={style}>
315
315
  <Map
316
316
  id={id}
@@ -332,6 +332,6 @@ export const MapView = forwardRef<MapViewRef, MapViewProps>(function MapView(
332
332
  {children}
333
333
  </Map>
334
334
  </View>
335
- </MapIdContext.Provider>
335
+ </MapContext.Provider>
336
336
  );
337
337
  });
@@ -29,9 +29,20 @@ export interface MarkerProps {
29
29
  * Z-index for marker ordering. Higher values render on top.
30
30
  */
31
31
  zIndex?: number;
32
+ /**
33
+ * Rotation angle in degrees clockwise from north.
34
+ * @default 0
35
+ */
36
+ rotate?: number;
37
+ /**
38
+ * Scale factor for the marker.
39
+ * @default 1
40
+ */
41
+ scale?: number;
32
42
  /**
33
43
  * Rasterize custom marker view to bitmap for better performance.
34
44
  * Set to false if you need live view updates (e.g., animations).
45
+ * @platform ios, android
35
46
  * @default true
36
47
  */
37
48
  rasterize?: boolean;
@@ -50,6 +61,8 @@ export class Marker extends React.Component<MarkerProps> {
50
61
  description,
51
62
  anchor,
52
63
  zIndex,
64
+ rotate = 0,
65
+ scale = 1,
53
66
  rasterize = true,
54
67
  children,
55
68
  } = this.props;
@@ -62,6 +75,8 @@ export class Marker extends React.Component<MarkerProps> {
62
75
  title={title}
63
76
  description={description}
64
77
  anchor={anchor}
78
+ rotate={rotate}
79
+ scale={scale}
65
80
  rasterize={rasterize}
66
81
  >
67
82
  {children}
@@ -8,8 +8,14 @@ export function Marker({
8
8
  title,
9
9
  anchor,
10
10
  zIndex,
11
+ rotate,
12
+ scale,
11
13
  children,
12
14
  }: MarkerProps) {
15
+ const transforms: string[] = [];
16
+ if (rotate) transforms.push(`rotate(${rotate}deg)`);
17
+ if (scale && scale !== 1) transforms.push(`scale(${scale})`);
18
+
13
19
  return (
14
20
  <AdvancedMarker
15
21
  position={{ lat: coordinate.latitude, lng: coordinate.longitude }}
@@ -17,6 +23,9 @@ export function Marker({
17
23
  zIndex={zIndex}
18
24
  anchorLeft={anchor ? toWebAnchor(anchor.x) : undefined}
19
25
  anchorTop={anchor ? toWebAnchor(anchor.y) : undefined}
26
+ style={
27
+ transforms.length > 0 ? { transform: transforms.join(' ') } : undefined
28
+ }
20
29
  >
21
30
  {children}
22
31
  </AdvancedMarker>
@@ -1,6 +1,5 @@
1
1
  import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
2
- import { useMap } from '@vis.gl/react-google-maps';
3
- import { useMapId } from '../MapProvider.web';
2
+ import { useMapContext } from '../MapProvider.web';
4
3
  import type { PolylineProps } from './Polyline';
5
4
 
6
5
  const ANIMATION_DURATION = 1500;
@@ -43,10 +42,10 @@ export function Polyline({
43
42
  zIndex,
44
43
  }: PolylineProps) {
45
44
  const resolvedZIndex = zIndex ?? (animated ? 1 : 0);
46
- const mapId = useMapId();
47
- const map = useMap(mapId);
45
+ const { map, isDragging } = useMapContext();
48
46
  const polylinesRef = useRef<google.maps.Polyline[]>([]);
49
47
  const animationRef = useRef<number>(0);
48
+ const isPausedRef = useRef(false);
50
49
 
51
50
  const colors = useMemo(
52
51
  () =>
@@ -133,6 +132,11 @@ export function Polyline({
133
132
  };
134
133
  }, []);
135
134
 
135
+ // Pause/resume animation during drag
136
+ useEffect(() => {
137
+ isPausedRef.current = isDragging;
138
+ }, [isDragging]);
139
+
136
140
  // Main effect
137
141
  useEffect(() => {
138
142
  if (!propsRef.current.map || coordinates.length === 0) return;
@@ -153,6 +157,11 @@ export function Polyline({
153
157
  const cycleDuration = ANIMATION_DURATION * 2;
154
158
 
155
159
  const animate = (time: number) => {
160
+ if (isPausedRef.current) {
161
+ animationRef.current = requestAnimationFrame(animate);
162
+ return;
163
+ }
164
+
156
165
  const progress = (time % cycleDuration) / ANIMATION_DURATION;
157
166
  const startIdx = progress <= 1 ? 0 : (progress - 1) * totalPoints;
158
167
  const endIdx = progress <= 1 ? progress * totalPoints : totalPoints;
@@ -21,6 +21,8 @@ export interface NativeProps extends ViewProps {
21
21
  title?: string;
22
22
  description?: string;
23
23
  anchor?: Point;
24
+ rotate?: WithDefault<Double, 0>;
25
+ scale?: WithDefault<Double, 1>;
24
26
  rasterize?: WithDefault<boolean, true>;
25
27
  }
26
28