@lugg/maps 0.2.0-alpha.9 → 1.0.0-beta.0

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 (173) hide show
  1. package/README.md +20 -19
  2. package/android/src/main/java/com/luggmaps/LuggMapView.kt +290 -0
  3. package/android/src/main/java/com/luggmaps/{LuggGoogleMapViewManager.kt → LuggMapViewManager.kt} +99 -36
  4. package/android/src/main/java/com/luggmaps/LuggMapWrapperView.kt +13 -5
  5. package/android/src/main/java/com/luggmaps/LuggMarkerView.kt +157 -13
  6. package/android/src/main/java/com/luggmaps/LuggMarkerViewManager.kt +28 -0
  7. package/android/src/main/java/com/luggmaps/LuggPackage.kt +1 -4
  8. package/android/src/main/java/com/luggmaps/LuggPolygonView.kt +85 -0
  9. package/android/src/main/java/com/luggmaps/LuggPolygonViewManager.kt +100 -0
  10. package/android/src/main/java/com/luggmaps/LuggPolylineView.kt +16 -0
  11. package/android/src/main/java/com/luggmaps/LuggPolylineViewManager.kt +22 -0
  12. package/android/src/main/java/com/luggmaps/core/GoogleMapProvider.kt +698 -0
  13. package/android/src/main/java/com/luggmaps/core/MapProviderDelegate.kt +60 -0
  14. package/android/src/main/java/com/luggmaps/core/PolylineAnimator.kt +89 -24
  15. package/android/src/main/java/com/luggmaps/events/LongPressEvent.kt +29 -0
  16. package/android/src/main/java/com/luggmaps/events/MarkerDragEvent.kt +41 -0
  17. package/android/src/main/java/com/luggmaps/events/MarkerPressEvent.kt +34 -0
  18. package/android/src/main/java/com/luggmaps/events/PolygonPressEvent.kt +12 -0
  19. package/android/src/main/java/com/luggmaps/events/PressEvent.kt +29 -0
  20. package/ios/LuggMapView.h +9 -0
  21. package/ios/LuggMapView.mm +343 -0
  22. package/ios/LuggMarkerView.h +13 -0
  23. package/ios/LuggMarkerView.mm +119 -0
  24. package/ios/LuggPolygonView.h +31 -0
  25. package/ios/LuggPolygonView.mm +151 -0
  26. package/ios/LuggPolylineView.h +4 -0
  27. package/ios/LuggPolylineView.mm +23 -0
  28. package/ios/core/AppleMapProvider.h +15 -0
  29. package/ios/core/AppleMapProvider.mm +1029 -0
  30. package/ios/core/GMSPolylineAnimator.h +3 -0
  31. package/ios/core/GMSPolylineAnimator.m +101 -15
  32. package/ios/core/GoogleMapProvider.h +13 -0
  33. package/ios/core/GoogleMapProvider.mm +689 -0
  34. package/ios/core/MKPolylineAnimator.h +4 -0
  35. package/ios/core/MKPolylineAnimator.m +167 -42
  36. package/ios/core/MapProviderDelegate.h +84 -0
  37. package/ios/core/PolylineAnimatorBase.h +24 -1
  38. package/ios/core/PolylineAnimatorBase.m +82 -19
  39. package/ios/events/LongPressEvent.h +29 -0
  40. package/ios/events/MarkerDragEvent.h +69 -0
  41. package/ios/events/MarkerPressEvent.h +29 -0
  42. package/ios/events/PolygonPressEvent.h +20 -0
  43. package/ios/events/PressEvent.h +29 -0
  44. package/ios/extensions/MKMapView+Zoom.h +2 -0
  45. package/ios/extensions/MKMapView+Zoom.m +14 -4
  46. package/lib/module/MapProvider.js +2 -4
  47. package/lib/module/MapProvider.js.map +1 -1
  48. package/lib/module/MapProvider.web.js +12 -7
  49. package/lib/module/MapProvider.web.js.map +1 -1
  50. package/lib/module/MapView.js +33 -16
  51. package/lib/module/MapView.js.map +1 -1
  52. package/lib/module/MapView.web.js +283 -181
  53. package/lib/module/MapView.web.js.map +1 -1
  54. package/lib/module/components/GeoJson.js +159 -0
  55. package/lib/module/components/GeoJson.js.map +1 -0
  56. package/lib/module/components/GeoJson.types.js +4 -0
  57. package/lib/module/components/GeoJson.types.js.map +1 -0
  58. package/lib/module/components/Marker.js +28 -4
  59. package/lib/module/components/Marker.js.map +1 -1
  60. package/lib/module/components/Marker.types.js +4 -0
  61. package/lib/module/components/Marker.types.js.map +1 -0
  62. package/lib/module/components/Marker.web.js +98 -27
  63. package/lib/module/components/Marker.web.js.map +1 -1
  64. package/lib/module/components/Polygon.js +46 -0
  65. package/lib/module/components/Polygon.js.map +1 -0
  66. package/lib/module/components/Polygon.types.js +4 -0
  67. package/lib/module/components/Polygon.types.js.map +1 -0
  68. package/lib/module/components/Polygon.web.js +87 -0
  69. package/lib/module/components/Polygon.web.js.map +1 -0
  70. package/lib/module/components/Polyline.js +17 -4
  71. package/lib/module/components/Polyline.js.map +1 -1
  72. package/lib/module/components/Polyline.types.js +4 -0
  73. package/lib/module/components/Polyline.types.js.map +1 -0
  74. package/lib/module/components/Polyline.web.js +108 -31
  75. package/lib/module/components/Polyline.web.js.map +1 -1
  76. package/lib/module/components/index.js +4 -2
  77. package/lib/module/components/index.js.map +1 -1
  78. package/lib/module/components/index.web.js +2 -0
  79. package/lib/module/components/index.web.js.map +1 -1
  80. package/lib/module/fabric/{LuggGoogleMapViewNativeComponent.ts → LuggMapViewNativeComponent.ts} +43 -7
  81. package/lib/module/fabric/LuggMarkerViewNativeComponent.ts +49 -1
  82. package/lib/module/fabric/LuggPolygonViewNativeComponent.ts +25 -0
  83. package/lib/module/fabric/LuggPolylineViewNativeComponent.ts +8 -0
  84. package/lib/module/index.js +4 -1
  85. package/lib/module/index.js.map +1 -1
  86. package/lib/module/index.web.js +4 -1
  87. package/lib/module/index.web.js.map +1 -1
  88. package/lib/typescript/src/MapProvider.d.ts +1 -1
  89. package/lib/typescript/src/MapProvider.d.ts.map +1 -1
  90. package/lib/typescript/src/MapProvider.web.d.ts +17 -1
  91. package/lib/typescript/src/MapProvider.web.d.ts.map +1 -1
  92. package/lib/typescript/src/MapView.d.ts +4 -4
  93. package/lib/typescript/src/MapView.d.ts.map +1 -1
  94. package/lib/typescript/src/MapView.types.d.ts +35 -9
  95. package/lib/typescript/src/MapView.types.d.ts.map +1 -1
  96. package/lib/typescript/src/MapView.web.d.ts +2 -11
  97. package/lib/typescript/src/MapView.web.d.ts.map +1 -1
  98. package/lib/typescript/src/components/GeoJson.d.ts +4 -0
  99. package/lib/typescript/src/components/GeoJson.d.ts.map +1 -0
  100. package/lib/typescript/src/components/GeoJson.types.d.ts +79 -0
  101. package/lib/typescript/src/components/GeoJson.types.d.ts.map +1 -0
  102. package/lib/typescript/src/components/Marker.d.ts +6 -33
  103. package/lib/typescript/src/components/Marker.d.ts.map +1 -1
  104. package/lib/typescript/src/components/Marker.types.d.ts +74 -0
  105. package/lib/typescript/src/components/Marker.types.d.ts.map +1 -0
  106. package/lib/typescript/src/components/Marker.web.d.ts +2 -5
  107. package/lib/typescript/src/components/Marker.web.d.ts.map +1 -1
  108. package/lib/typescript/src/components/Polygon.d.ts +10 -0
  109. package/lib/typescript/src/components/Polygon.d.ts.map +1 -0
  110. package/lib/typescript/src/components/Polygon.types.d.ts +33 -0
  111. package/lib/typescript/src/components/Polygon.types.d.ts.map +1 -0
  112. package/lib/typescript/src/components/Polygon.web.d.ts +3 -0
  113. package/lib/typescript/src/components/Polygon.web.d.ts.map +1 -0
  114. package/lib/typescript/src/components/Polyline.d.ts +6 -21
  115. package/lib/typescript/src/components/Polyline.d.ts.map +1 -1
  116. package/lib/typescript/src/components/Polyline.types.d.ts +53 -0
  117. package/lib/typescript/src/components/Polyline.types.d.ts.map +1 -0
  118. package/lib/typescript/src/components/Polyline.web.d.ts +2 -5
  119. package/lib/typescript/src/components/Polyline.web.d.ts.map +1 -1
  120. package/lib/typescript/src/components/index.d.ts +8 -2
  121. package/lib/typescript/src/components/index.d.ts.map +1 -1
  122. package/lib/typescript/src/components/index.web.d.ts +6 -2
  123. package/lib/typescript/src/components/index.web.d.ts.map +1 -1
  124. package/lib/typescript/src/fabric/{LuggGoogleMapViewNativeComponent.d.ts → LuggMapViewNativeComponent.d.ts} +30 -4
  125. package/lib/typescript/src/fabric/LuggMapViewNativeComponent.d.ts.map +1 -0
  126. package/lib/typescript/src/fabric/LuggMarkerViewNativeComponent.d.ts +45 -1
  127. package/lib/typescript/src/fabric/LuggMarkerViewNativeComponent.d.ts.map +1 -1
  128. package/lib/typescript/src/fabric/LuggPolygonViewNativeComponent.d.ts +18 -0
  129. package/lib/typescript/src/fabric/LuggPolygonViewNativeComponent.d.ts.map +1 -0
  130. package/lib/typescript/src/fabric/LuggPolylineViewNativeComponent.d.ts +7 -0
  131. package/lib/typescript/src/fabric/LuggPolylineViewNativeComponent.d.ts.map +1 -1
  132. package/lib/typescript/src/index.d.ts +11 -3
  133. package/lib/typescript/src/index.d.ts.map +1 -1
  134. package/lib/typescript/src/index.web.d.ts +9 -1
  135. package/lib/typescript/src/index.web.d.ts.map +1 -1
  136. package/lib/typescript/src/types.d.ts +11 -0
  137. package/lib/typescript/src/types.d.ts.map +1 -1
  138. package/package.json +10 -9
  139. package/src/MapProvider.tsx +1 -3
  140. package/src/MapProvider.web.tsx +12 -3
  141. package/src/MapView.tsx +32 -26
  142. package/src/MapView.types.ts +43 -9
  143. package/src/MapView.web.tsx +345 -211
  144. package/src/components/GeoJson.tsx +221 -0
  145. package/src/components/GeoJson.types.ts +107 -0
  146. package/src/components/Marker.tsx +45 -36
  147. package/src/components/Marker.types.ts +75 -0
  148. package/src/components/Marker.web.tsx +116 -28
  149. package/src/components/Polygon.tsx +52 -0
  150. package/src/components/Polygon.types.ts +33 -0
  151. package/src/components/Polygon.web.tsx +104 -0
  152. package/src/components/Polyline.tsx +23 -22
  153. package/src/components/Polyline.types.ts +55 -0
  154. package/src/components/Polyline.web.tsx +151 -37
  155. package/src/components/index.ts +16 -2
  156. package/src/components/index.web.ts +6 -2
  157. package/src/fabric/{LuggGoogleMapViewNativeComponent.ts → LuggMapViewNativeComponent.ts} +43 -7
  158. package/src/fabric/LuggMarkerViewNativeComponent.ts +49 -1
  159. package/src/fabric/LuggPolygonViewNativeComponent.ts +25 -0
  160. package/src/fabric/LuggPolylineViewNativeComponent.ts +8 -0
  161. package/src/index.ts +28 -1
  162. package/src/index.web.ts +15 -1
  163. package/src/types.ts +13 -0
  164. package/android/src/main/java/com/luggmaps/LuggGoogleMapView.kt +0 -511
  165. package/ios/LuggAppleMapView.h +0 -16
  166. package/ios/LuggAppleMapView.mm +0 -592
  167. package/ios/LuggGoogleMapView.h +0 -13
  168. package/ios/LuggGoogleMapView.mm +0 -455
  169. package/lib/module/fabric/LuggAppleMapViewNativeComponent.ts +0 -83
  170. package/lib/typescript/src/fabric/LuggAppleMapViewNativeComponent.d.ts +0 -54
  171. package/lib/typescript/src/fabric/LuggAppleMapViewNativeComponent.d.ts.map +0 -1
  172. package/lib/typescript/src/fabric/LuggGoogleMapViewNativeComponent.d.ts.map +0 -1
  173. package/src/fabric/LuggAppleMapViewNativeComponent.ts +0 -83
@@ -1,14 +1,11 @@
1
1
  "use strict";
2
2
 
3
- import { Children, Component, isValidElement, useEffect, useRef, useState } from 'react';
3
+ import { forwardRef, useCallback, useEffect, useId, useImperativeHandle, useRef, useState } from 'react';
4
4
  import { View } from 'react-native';
5
- import { Map, useMap } from '@vis.gl/react-google-maps';
5
+ import { ColorScheme, Map, useMap } from '@vis.gl/react-google-maps';
6
6
  import { Marker } from "./components/Marker.web.js";
7
- import { Polyline } from "./components/Polyline.web.js";
7
+ import { MapContext } from "./MapProvider.web.js";
8
8
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
- // Map-specific component types that render inside the Google Map
10
- const MAP_COMPONENT_TYPES = new Set([Marker, Polyline]);
11
- const isMapComponent = child => MAP_COMPONENT_TYPES.has(child.type);
12
9
  const createSyntheticEvent = nativeEvent => ({
13
10
  nativeEvent,
14
11
  currentTarget: null,
@@ -34,9 +31,9 @@ const userLocationDotStyle = {
34
31
  borderRadius: '50%',
35
32
  boxShadow: '0 1px 4px rgba(0,0,0,0.3)'
36
33
  };
37
- function UserLocationMarker({
34
+ const UserLocationMarker = ({
38
35
  enabled
39
- }) {
36
+ }) => {
40
37
  const [coordinate, setCoordinate] = useState(null);
41
38
  useEffect(() => {
42
39
  if (!enabled) {
@@ -69,192 +66,297 @@ function UserLocationMarker({
69
66
  style: userLocationDotStyle
70
67
  })
71
68
  });
72
- }
73
- function MapController({
74
- onMapReady,
75
- onCameraMove,
76
- onCameraIdle,
77
- onReady
78
- }) {
79
- const map = useMap();
69
+ };
70
+ export const MapView = /*#__PURE__*/forwardRef(function MapView(props, ref) {
71
+ const {
72
+ mapId = 'DEMO_MAP_ID',
73
+ initialCoordinate,
74
+ initialZoom = 10,
75
+ minZoom,
76
+ maxZoom,
77
+ zoomEnabled = true,
78
+ scrollEnabled = true,
79
+ pitchEnabled = true,
80
+ edgeInsets,
81
+ userLocationEnabled,
82
+ theme = 'system',
83
+ onPress,
84
+ onLongPress,
85
+ onCameraMove,
86
+ onCameraIdle,
87
+ onReady,
88
+ children,
89
+ style
90
+ } = props;
91
+ const id = useId();
92
+ const map = useMap(id);
93
+ const containerRef = useRef(null);
80
94
  const readyFired = useRef(false);
81
- useEffect(() => {
95
+ const [isDragging, setIsDragging] = useState(false);
96
+ const wasGesture = useRef(false);
97
+ const prevEdgeInsets = useRef(edgeInsets);
98
+ const offsetCenter = useCallback((coord, zoom, insets, reverse = false) => {
99
+ const p = insets ?? prevEdgeInsets.current;
100
+ if (!p) {
101
+ return {
102
+ lat: coord.latitude,
103
+ lng: coord.longitude
104
+ };
105
+ }
106
+ const dir = reverse ? -1 : 1;
107
+ const scale = 256 * Math.pow(2, zoom);
108
+ const offsetX = dir * ((p.right ?? 0) - (p.left ?? 0)) / 2;
109
+ const offsetY = dir * ((p.bottom ?? 0) - (p.top ?? 0)) / 2;
110
+ const latRad = coord.latitude * Math.PI / 180;
111
+ const x = (coord.longitude + 180) / 360 * scale + offsetX;
112
+ const y = (1 - Math.log(Math.tan(latRad) + 1 / Math.cos(latRad)) / Math.PI) / 2 * scale + offsetY;
113
+ const lng = x / scale * 360 - 180;
114
+ const lat = Math.atan(Math.sinh(Math.PI * (1 - 2 * y / scale))) * 180 / Math.PI;
115
+ return {
116
+ lat,
117
+ lng
118
+ };
119
+ }, []);
120
+ const applyEdgeInsets = useCallback((newEdgeInsets, duration) => {
121
+ if (!map) return;
122
+ const prev = prevEdgeInsets.current;
123
+ const center = map.getCenter();
124
+ const zoom = map.getZoom() ?? initialZoom;
125
+ if (center) {
126
+ const logicalCenter = offsetCenter({
127
+ latitude: center.lat(),
128
+ longitude: center.lng()
129
+ }, zoom, prev, true);
130
+ const newCenter = offsetCenter({
131
+ latitude: logicalCenter.lat,
132
+ longitude: logicalCenter.lng
133
+ }, zoom, newEdgeInsets, false);
134
+ if (duration === 0) {
135
+ map.moveCamera({
136
+ center: newCenter,
137
+ zoom
138
+ });
139
+ } else {
140
+ map.panTo(newCenter);
141
+ }
142
+ }
143
+ prevEdgeInsets.current = newEdgeInsets;
144
+ }, [map, initialZoom, offsetCenter]);
145
+ const panToCoordinate = useCallback(coordinate => {
82
146
  if (!map) return;
83
- onMapReady(map);
84
- if (!readyFired.current) {
147
+ const zoom = map.getZoom() || initialZoom;
148
+ const center = offsetCenter(coordinate, zoom, undefined, false);
149
+ map.panTo(center);
150
+ }, [map, initialZoom, offsetCenter]);
151
+ useImperativeHandle(ref, () => ({
152
+ moveCamera(coordinate, options) {
153
+ if (!map) return;
154
+ const {
155
+ zoom = 0,
156
+ duration = -1
157
+ } = options ?? {};
158
+ const targetZoom = zoom || map.getZoom() || initialZoom;
159
+ const center = offsetCenter(coordinate, targetZoom, undefined, false);
160
+ if (duration === 0) {
161
+ map.moveCamera({
162
+ center,
163
+ zoom: targetZoom
164
+ });
165
+ } else {
166
+ const currentZoom = map.getZoom();
167
+ const zoomChanged = zoom !== 0 && zoom !== currentZoom;
168
+ if (zoomChanged) {
169
+ map.setZoom(zoom);
170
+ }
171
+ map.panTo(center);
172
+ }
173
+ },
174
+ fitCoordinates(coordinates, options) {
175
+ const first = coordinates[0];
176
+ if (!map || !first) return;
177
+ const {
178
+ padding: fitPadding,
179
+ duration = -1
180
+ } = options ?? {};
181
+ if (coordinates.length === 1) {
182
+ this.moveCamera(first, {
183
+ zoom: initialZoom,
184
+ duration
185
+ });
186
+ return;
187
+ }
188
+ const bounds = new google.maps.LatLngBounds();
189
+ coordinates.forEach(coord => {
190
+ bounds.extend({
191
+ lat: coord.latitude,
192
+ lng: coord.longitude
193
+ });
194
+ });
195
+ const ei = prevEdgeInsets.current;
196
+ map.fitBounds(bounds, {
197
+ top: (ei?.top ?? 0) + (fitPadding?.top ?? 0),
198
+ left: (ei?.left ?? 0) + (fitPadding?.left ?? 0),
199
+ bottom: (ei?.bottom ?? 0) + (fitPadding?.bottom ?? 0),
200
+ right: (ei?.right ?? 0) + (fitPadding?.right ?? 0)
201
+ });
202
+ },
203
+ setEdgeInsets(newEdgeInsets, options) {
204
+ applyEdgeInsets(newEdgeInsets, options?.duration);
205
+ }
206
+ }), [map, initialZoom, offsetCenter, applyEdgeInsets]);
207
+ useEffect(() => {
208
+ if (map && !readyFired.current) {
85
209
  readyFired.current = true;
86
210
  onReady?.();
87
211
  }
88
- }, [map, onMapReady, onReady]);
212
+ }, [map, onReady]);
89
213
  useEffect(() => {
90
- if (!map) return;
91
- const createPayload = gesture => {
92
- const center = map.getCenter();
93
- return {
214
+ if (!map || !edgeInsets) return;
215
+ const prev = prevEdgeInsets.current;
216
+ const changed = prev?.top !== edgeInsets.top || prev?.left !== edgeInsets.left || prev?.bottom !== edgeInsets.bottom || prev?.right !== edgeInsets.right;
217
+ if (changed) {
218
+ applyEdgeInsets(edgeInsets);
219
+ }
220
+ }, [map, edgeInsets, applyEdgeInsets]);
221
+ const longPressTimer = useRef(null);
222
+ const longPressFired = useRef(false);
223
+ const getPoint = useCallback(domEvent => {
224
+ const el = containerRef.current;
225
+ if (!domEvent || !el) return {
226
+ x: 0,
227
+ y: 0
228
+ };
229
+ const rect = el.getBoundingClientRect();
230
+ const e = domEvent;
231
+ return {
232
+ x: e.clientX - rect.left,
233
+ y: e.clientY - rect.top
234
+ };
235
+ }, []);
236
+ const handleClick = useCallback(event => {
237
+ if (longPressFired.current) {
238
+ longPressFired.current = false;
239
+ return;
240
+ }
241
+ const latLng = event.detail.latLng;
242
+ if (!onPress || !latLng) return;
243
+ onPress(createSyntheticEvent({
244
+ coordinate: {
245
+ latitude: latLng.lat,
246
+ longitude: latLng.lng
247
+ },
248
+ point: getPoint(event.domEvent)
249
+ }));
250
+ }, [onPress, getPoint]);
251
+ const handleMouseDown = useCallback(event => {
252
+ if (!onLongPress) return;
253
+ const point = getPoint(event.domEvent);
254
+ longPressFired.current = false;
255
+ longPressTimer.current = setTimeout(() => {
256
+ longPressFired.current = true;
257
+ const latLng = event.latLng;
258
+ if (!latLng) return;
259
+ onLongPress(createSyntheticEvent({
94
260
  coordinate: {
95
- latitude: center?.lat() ?? 0,
96
- longitude: center?.lng() ?? 0
261
+ latitude: latLng.lat(),
262
+ longitude: latLng.lng()
97
263
  },
98
- zoom: map.getZoom() ?? 0,
99
- gesture
100
- };
101
- };
102
- let isDragging = false;
103
- const dragStartListener = map.addListener('dragstart', () => {
104
- isDragging = true;
105
- });
106
- const dragEndListener = map.addListener('dragend', () => {
107
- isDragging = false;
108
- });
109
- const centerListener = map.addListener('center_changed', () => {
110
- onCameraMove?.(createSyntheticEvent(createPayload(isDragging)));
111
- });
112
- const idleListener = map.addListener('idle', () => {
113
- onCameraIdle?.(createSyntheticEvent(createPayload(false)));
114
- });
264
+ point
265
+ }));
266
+ }, 500);
267
+ }, [onLongPress, getPoint]);
268
+ const handleMouseUp = useCallback(() => {
269
+ if (longPressTimer.current) {
270
+ clearTimeout(longPressTimer.current);
271
+ longPressTimer.current = null;
272
+ }
273
+ }, []);
274
+ useEffect(() => {
275
+ if (!map || !onLongPress) return;
276
+ const listeners = [map.addListener('mousedown', handleMouseDown), map.addListener('mouseup', handleMouseUp)];
115
277
  return () => {
116
- google.maps.event.removeListener(dragStartListener);
117
- google.maps.event.removeListener(dragEndListener);
118
- google.maps.event.removeListener(centerListener);
119
- google.maps.event.removeListener(idleListener);
278
+ listeners.forEach(l => google.maps.event.removeListener(l));
279
+ handleMouseUp();
120
280
  };
121
- }, [map, onCameraMove, onCameraIdle]);
122
- return null;
123
- }
124
- export class MapView extends Component {
125
- static defaultProps = {
126
- provider: 'google',
127
- mapId: 'DEMO_MAP_ID',
128
- initialZoom: 10,
129
- zoomEnabled: true,
130
- scrollEnabled: true,
131
- rotateEnabled: true,
132
- pitchEnabled: true
281
+ }, [map, onLongPress, handleMouseDown, handleMouseUp]);
282
+ const handleDragStart = () => {
283
+ handleMouseUp();
284
+ setIsDragging(true);
285
+ wasGesture.current = true;
133
286
  };
134
- mapInstance = null;
135
- handleMapReady = map => {
136
- this.mapInstance = map;
287
+ const handleDragEnd = () => {
288
+ setIsDragging(false);
137
289
  };
138
- moveCamera(coordinate, options) {
139
- const map = this.mapInstance;
140
- if (!map) return;
141
- const {
142
- zoom,
143
- duration = -1
144
- } = options;
145
- const center = {
146
- lat: coordinate.latitude,
147
- lng: coordinate.longitude
148
- };
149
- if (duration === 0) {
150
- map.setCenter(center);
151
- map.setZoom(zoom);
152
- } else {
153
- map.panTo(center);
154
- map.setZoom(zoom);
155
- }
156
- }
157
- fitCoordinates(coordinates, options) {
158
- const map = this.mapInstance;
159
- const first = coordinates[0];
160
- if (!map || !first) return;
161
- const {
162
- padding,
163
- duration = -1
164
- } = options ?? {};
165
- if (coordinates.length === 1) {
166
- const zoom = this.props.initialZoom ?? 10;
167
- this.moveCamera(first, {
168
- zoom,
169
- duration
170
- });
171
- return;
172
- }
173
- const bounds = new google.maps.LatLngBounds();
174
- coordinates.forEach(coord => {
175
- bounds.extend({
176
- lat: coord.latitude,
177
- lng: coord.longitude
178
- });
179
- });
180
- map.fitBounds(bounds, {
181
- top: padding?.top ?? 0,
182
- left: padding?.left ?? 0,
183
- bottom: padding?.bottom ?? 0,
184
- right: padding?.right ?? 0
185
- });
186
- }
187
- render() {
188
- const {
189
- mapId,
190
- initialCoordinate,
191
- initialZoom,
192
- minZoom,
193
- maxZoom,
194
- zoomEnabled,
195
- scrollEnabled,
196
- pitchEnabled,
197
- padding,
198
- userLocationEnabled,
199
- onCameraMove,
200
- onCameraIdle,
201
- onReady,
202
- children,
203
- style
204
- } = this.props;
205
- const gestureHandling = scrollEnabled === false && zoomEnabled === false ? 'none' : scrollEnabled === false ? 'none' : 'auto';
206
- const defaultCenter = initialCoordinate ? {
207
- lat: initialCoordinate.latitude,
208
- lng: initialCoordinate.longitude
209
- } : undefined;
210
-
211
- // Separate map children (Marker, Polyline) from overlay children (regular Views)
212
- const mapChildren = [];
213
- const overlayChildren = [];
214
- Children.forEach(children, child => {
215
- if (! /*#__PURE__*/isValidElement(child)) return;
216
- if (isMapComponent(child)) {
217
- mapChildren.push(child);
218
- } else {
219
- overlayChildren.push(child);
220
- }
221
- });
222
- const mapContainerStyle = {
223
- position: 'absolute',
224
- top: padding?.top ?? 0,
225
- left: padding?.left ?? 0,
226
- right: padding?.right ?? 0,
227
- bottom: padding?.bottom ?? 0
290
+ const handleCameraChanged = event => {
291
+ const logicalCenter = offsetCenter({
292
+ latitude: event.detail.center.lat,
293
+ longitude: event.detail.center.lng
294
+ }, event.detail.zoom, undefined, true);
295
+ const payload = {
296
+ coordinate: {
297
+ latitude: logicalCenter.lat,
298
+ longitude: logicalCenter.lng
299
+ },
300
+ zoom: event.detail.zoom,
301
+ gesture: isDragging
228
302
  };
229
- const mapStyle = {
230
- width: '100%',
231
- height: '100%'
303
+ onCameraMove?.(createSyntheticEvent(payload));
304
+ };
305
+ const handleIdle = event => {
306
+ const center = event.map.getCenter();
307
+ const zoom = event.map.getZoom() ?? 0;
308
+ const logicalCenter = offsetCenter({
309
+ latitude: center?.lat() ?? 0,
310
+ longitude: center?.lng() ?? 0
311
+ }, zoom, undefined, true);
312
+ const payload = {
313
+ coordinate: {
314
+ latitude: logicalCenter.lat,
315
+ longitude: logicalCenter.lng
316
+ },
317
+ zoom,
318
+ gesture: wasGesture.current
232
319
  };
233
- return /*#__PURE__*/_jsxs(View, {
320
+ onCameraIdle?.(createSyntheticEvent(payload));
321
+ wasGesture.current = false;
322
+ };
323
+ const gestureHandling = scrollEnabled === false && zoomEnabled === false ? 'none' : scrollEnabled === false ? 'cooperative' : 'auto';
324
+ const colorScheme = theme === 'dark' ? ColorScheme.DARK : theme === 'light' ? ColorScheme.LIGHT : ColorScheme.FOLLOW_SYSTEM;
325
+ const defaultCenter = initialCoordinate ? {
326
+ lat: initialCoordinate.latitude,
327
+ lng: initialCoordinate.longitude
328
+ } : undefined;
329
+ return /*#__PURE__*/_jsx(MapContext.Provider, {
330
+ value: {
331
+ map,
332
+ isDragging,
333
+ moveCamera: panToCoordinate
334
+ },
335
+ children: /*#__PURE__*/_jsx(View, {
336
+ ref: containerRef,
234
337
  style: style,
235
- children: [/*#__PURE__*/_jsx(View, {
236
- style: mapContainerStyle,
237
- children: /*#__PURE__*/_jsxs(Map, {
238
- mapId: mapId,
239
- defaultCenter: defaultCenter,
240
- defaultZoom: initialZoom,
241
- minZoom: minZoom,
242
- maxZoom: maxZoom,
243
- gestureHandling: gestureHandling,
244
- disableDefaultUI: true,
245
- tilt: pitchEnabled === false ? 0 : undefined,
246
- style: mapStyle,
247
- children: [/*#__PURE__*/_jsx(MapController, {
248
- onMapReady: this.handleMapReady,
249
- onCameraMove: onCameraMove,
250
- onCameraIdle: onCameraIdle,
251
- onReady: onReady
252
- }), /*#__PURE__*/_jsx(UserLocationMarker, {
253
- enabled: userLocationEnabled
254
- }), mapChildren]
255
- })
256
- }), overlayChildren]
257
- });
258
- }
259
- }
338
+ children: /*#__PURE__*/_jsxs(Map, {
339
+ id: id,
340
+ mapId: mapId,
341
+ defaultCenter: defaultCenter,
342
+ defaultZoom: initialZoom,
343
+ minZoom: minZoom,
344
+ maxZoom: maxZoom,
345
+ gestureHandling: gestureHandling,
346
+ colorScheme: colorScheme,
347
+ disableDefaultUI: true,
348
+ isFractionalZoomEnabled: true,
349
+ tilt: pitchEnabled === false ? 0 : undefined,
350
+ onClick: handleClick,
351
+ onDragstart: handleDragStart,
352
+ onDragend: handleDragEnd,
353
+ onCameraChanged: handleCameraChanged,
354
+ onIdle: handleIdle,
355
+ children: [/*#__PURE__*/_jsx(UserLocationMarker, {
356
+ enabled: userLocationEnabled
357
+ }), children]
358
+ })
359
+ })
360
+ });
361
+ });
260
362
  //# sourceMappingURL=MapView.web.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Children","Component","isValidElement","useEffect","useRef","useState","View","Map","useMap","Marker","Polyline","jsx","_jsx","jsxs","_jsxs","MAP_COMPONENT_TYPES","Set","isMapComponent","child","has","type","createSyntheticEvent","nativeEvent","currentTarget","target","bubbles","cancelable","defaultPrevented","eventPhase","isTrusted","preventDefault","stopPropagation","isDefaultPrevented","isPropagationStopped","persist","timeStamp","Date","now","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","MapController","onMapReady","onCameraMove","onCameraIdle","onReady","map","readyFired","current","createPayload","gesture","center","getCenter","lat","lng","zoom","getZoom","isDragging","dragStartListener","addListener","dragEndListener","centerListener","idleListener","google","maps","event","removeListener","MapView","defaultProps","provider","mapId","initialZoom","zoomEnabled","scrollEnabled","rotateEnabled","pitchEnabled","mapInstance","handleMapReady","moveCamera","options","duration","setCenter","setZoom","panTo","fitCoordinates","coordinates","first","padding","length","props","bounds","LatLngBounds","forEach","coord","extend","fitBounds","top","left","bottom","right","render","initialCoordinate","minZoom","maxZoom","userLocationEnabled","gestureHandling","defaultCenter","undefined","mapChildren","overlayChildren","push","mapContainerStyle","mapStyle","defaultZoom","disableDefaultUI","tilt"],"sourceRoot":"../../src","sources":["MapView.web.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["forwardRef","useCallback","useEffect","useId","useImperativeHandle","useRef","useState","View","ColorScheme","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","initialCoordinate","initialZoom","minZoom","maxZoom","zoomEnabled","scrollEnabled","pitchEnabled","edgeInsets","userLocationEnabled","theme","onPress","onLongPress","onCameraMove","onCameraIdle","onReady","id","map","containerRef","readyFired","isDragging","setIsDragging","wasGesture","prevEdgeInsets","offsetCenter","coord","zoom","insets","reverse","p","current","lat","lng","dir","scale","Math","pow","offsetX","right","left","offsetY","bottom","top","latRad","PI","log","tan","cos","atan","sinh","applyEdgeInsets","newEdgeInsets","duration","prev","center","getCenter","getZoom","logicalCenter","newCenter","moveCamera","panTo","panToCoordinate","undefined","options","targetZoom","currentZoom","zoomChanged","setZoom","fitCoordinates","coordinates","first","padding","fitPadding","length","bounds","google","maps","LatLngBounds","forEach","extend","ei","fitBounds","setEdgeInsets","changed","longPressTimer","longPressFired","getPoint","domEvent","el","rect","getBoundingClientRect","e","clientX","clientY","handleClick","event","latLng","detail","point","handleMouseDown","setTimeout","handleMouseUp","clearTimeout","listeners","addListener","l","removeListener","handleDragStart","handleDragEnd","handleCameraChanged","payload","gesture","handleIdle","gestureHandling","colorScheme","DARK","LIGHT","FOLLOW_SYSTEM","defaultCenter","Provider","value","defaultZoom","disableDefaultUI","isFractionalZoomEnabled","tilt","onClick","onDragstart","onDragend","onCameraChanged","onIdle"],"sourceRoot":"../../src","sources":["MapView.web.tsx"],"mappings":"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","ignoreList":[]}