@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.
- package/android/src/main/java/com/luggmaps/LuggGoogleMapView.kt +13 -0
- package/android/src/main/java/com/luggmaps/LuggMapWrapperView.kt +20 -0
- package/android/src/main/java/com/luggmaps/LuggMarkerView.kt +54 -13
- package/android/src/main/java/com/luggmaps/LuggMarkerViewManager.kt +10 -0
- package/android/src/main/java/com/luggmaps/core/PolylineAnimator.kt +8 -0
- package/ios/LuggAppleMapView.mm +56 -33
- package/ios/LuggGoogleMapView.mm +43 -29
- package/ios/LuggMarkerView.h +4 -0
- package/ios/LuggMarkerView.mm +42 -0
- package/ios/core/GMSPolylineAnimator.h +2 -0
- package/ios/core/GMSPolylineAnimator.m +8 -0
- package/ios/core/MKPolylineAnimator.h +2 -0
- package/ios/core/MKPolylineAnimator.m +8 -0
- package/lib/module/MapProvider.web.js +5 -2
- package/lib/module/MapProvider.web.js.map +1 -1
- package/lib/module/MapView.web.js +14 -11
- package/lib/module/MapView.web.js.map +1 -1
- package/lib/module/components/Marker.js +4 -0
- package/lib/module/components/Marker.js.map +1 -1
- package/lib/module/components/Marker.web.js +8 -0
- package/lib/module/components/Marker.web.js.map +1 -1
- package/lib/module/components/Polyline.web.js +15 -4
- package/lib/module/components/Polyline.web.js.map +1 -1
- package/lib/module/fabric/LuggMarkerViewNativeComponent.ts +2 -0
- package/lib/typescript/src/MapProvider.web.d.ts +8 -2
- package/lib/typescript/src/MapProvider.web.d.ts.map +1 -1
- package/lib/typescript/src/components/Marker.d.ts +11 -0
- package/lib/typescript/src/components/Marker.d.ts.map +1 -1
- package/lib/typescript/src/components/Marker.web.d.ts +1 -1
- package/lib/typescript/src/components/Marker.web.d.ts.map +1 -1
- package/lib/typescript/src/components/Polyline.web.d.ts.map +1 -1
- package/lib/typescript/src/fabric/LuggMarkerViewNativeComponent.d.ts +2 -0
- package/lib/typescript/src/fabric/LuggMarkerViewNativeComponent.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/MapProvider.web.tsx +5 -2
- package/src/MapView.web.tsx +11 -11
- package/src/components/Marker.tsx +15 -0
- package/src/components/Marker.web.tsx +9 -0
- package/src/components/Polyline.web.tsx +13 -4
- 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 {
|
|
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 =
|
|
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
|
|
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 !==
|
|
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
|
-
|
|
198
|
+
setIsDragging(true);
|
|
199
199
|
wasGesture.current = true;
|
|
200
200
|
};
|
|
201
201
|
const handleDragEnd = () => {
|
|
202
|
-
|
|
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
|
|
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(
|
|
243
|
-
value:
|
|
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;
|
|
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,
|
|
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 {
|
|
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
|
|
38
|
-
|
|
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","
|
|
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":[]}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import type { MapProviderProps } from './MapProvider.types';
|
|
2
|
-
export declare const
|
|
3
|
-
|
|
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,
|
|
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
|
|
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,
|
|
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":"
|
|
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
package/src/MapProvider.web.tsx
CHANGED
|
@@ -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
|
|
5
|
+
export const MapContext = createContext<{
|
|
6
|
+
map: google.maps.Map | null;
|
|
7
|
+
isDragging: boolean;
|
|
8
|
+
}>({ map: null, isDragging: false });
|
|
6
9
|
|
|
7
|
-
export const
|
|
10
|
+
export const useMapContext = () => useContext(MapContext);
|
|
8
11
|
|
|
9
12
|
export function MapProvider({ apiKey = '', children }: MapProviderProps) {
|
|
10
13
|
return <APIProvider apiKey={apiKey}>{children}</APIProvider>;
|
package/src/MapView.web.tsx
CHANGED
|
@@ -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 {
|
|
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 =
|
|
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
|
|
164
|
+
moveCamera(coordinate: Coordinate, options?: MoveCameraOptions) {
|
|
165
165
|
if (!map) return;
|
|
166
166
|
|
|
167
|
-
const { zoom, duration = -1 } = options;
|
|
168
|
-
const targetZoom = zoom
|
|
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 !==
|
|
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
|
-
|
|
254
|
+
setIsDragging(true);
|
|
255
255
|
wasGesture.current = true;
|
|
256
256
|
};
|
|
257
257
|
|
|
258
258
|
const handleDragEnd = () => {
|
|
259
|
-
|
|
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
|
|
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
|
-
<
|
|
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
|
-
</
|
|
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 {
|
|
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
|
|
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;
|