@lugg/maps 0.2.0-alpha.8 → 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 +315 -217
  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 +376 -244
  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 } 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,
@@ -26,58 +23,29 @@ const createSyntheticEvent = nativeEvent => ({
26
23
  timeStamp: Date.now(),
27
24
  type: ''
28
25
  });
29
- function MapController({
30
- onMapReady,
31
- onCameraMove,
32
- onCameraIdle,
33
- onReady,
34
- userLocationEnabled
35
- }) {
36
- const map = useMap();
37
- const readyFired = useRef(false);
38
- const userLocationMarker = useRef(null);
26
+ const userLocationDotStyle = {
27
+ width: 16,
28
+ height: 16,
29
+ backgroundColor: '#4285F4',
30
+ border: '2px solid white',
31
+ borderRadius: '50%',
32
+ boxShadow: '0 1px 4px rgba(0,0,0,0.3)'
33
+ };
34
+ const UserLocationMarker = ({
35
+ enabled
36
+ }) => {
37
+ const [coordinate, setCoordinate] = useState(null);
39
38
  useEffect(() => {
40
- if (!map) return;
41
- onMapReady(map);
42
- if (!readyFired.current) {
43
- readyFired.current = true;
44
- onReady?.();
45
- }
46
- }, [map, onMapReady, onReady]);
47
- useEffect(() => {
48
- if (!map || !userLocationEnabled) {
49
- if (userLocationMarker.current) {
50
- userLocationMarker.current.map = null;
51
- userLocationMarker.current = null;
52
- }
39
+ if (!enabled) {
40
+ setCoordinate(null);
53
41
  return;
54
42
  }
55
43
  let watchId = null;
56
44
  const updateLocation = position => {
57
- const {
58
- latitude,
59
- longitude
60
- } = position.coords;
61
- const pos = {
62
- lat: latitude,
63
- lng: longitude
64
- };
65
- if (!userLocationMarker.current) {
66
- const dot = document.createElement('div');
67
- dot.style.width = '16px';
68
- dot.style.height = '16px';
69
- dot.style.backgroundColor = '#4285F4';
70
- dot.style.border = '2px solid white';
71
- dot.style.borderRadius = '50%';
72
- dot.style.boxShadow = '0 1px 4px rgba(0,0,0,0.3)';
73
- userLocationMarker.current = new google.maps.marker.AdvancedMarkerElement({
74
- map,
75
- position: pos,
76
- content: dot
77
- });
78
- } else {
79
- userLocationMarker.current.position = pos;
80
- }
45
+ setCoordinate({
46
+ latitude: position.coords.latitude,
47
+ longitude: position.coords.longitude
48
+ });
81
49
  };
82
50
  navigator.geolocation.getCurrentPosition(updateLocation, () => {});
83
51
  watchId = navigator.geolocation.watchPosition(updateLocation, () => {});
@@ -85,180 +53,310 @@ function MapController({
85
53
  if (watchId !== null) {
86
54
  navigator.geolocation.clearWatch(watchId);
87
55
  }
88
- if (userLocationMarker.current) {
89
- userLocationMarker.current.map = null;
90
- userLocationMarker.current = null;
91
- }
92
56
  };
93
- }, [map, userLocationEnabled]);
94
- useEffect(() => {
95
- if (!map) return;
96
- const createPayload = gesture => {
97
- const center = map.getCenter();
57
+ }, [enabled]);
58
+ if (!coordinate) return null;
59
+ return /*#__PURE__*/_jsx(Marker, {
60
+ coordinate: coordinate,
61
+ anchor: {
62
+ x: 0.5,
63
+ y: 0.5
64
+ },
65
+ children: /*#__PURE__*/_jsx("div", {
66
+ style: userLocationDotStyle
67
+ })
68
+ });
69
+ };
70
+ export const MapView = /*#__PURE__*/forwardRef(function MapView(props, ref) {
71
+ const {
72
+ mapId = '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);
94
+ const readyFired = useRef(false);
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) {
98
101
  return {
99
- coordinate: {
100
- latitude: center?.lat() ?? 0,
101
- longitude: center?.lng() ?? 0
102
- },
103
- zoom: map.getZoom() ?? 0,
104
- gesture
102
+ lat: coord.latitude,
103
+ lng: coord.longitude
105
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
106
118
  };
107
- let isDragging = false;
108
- const dragStartListener = map.addListener('dragstart', () => {
109
- isDragging = true;
110
- });
111
- const dragEndListener = map.addListener('dragend', () => {
112
- isDragging = false;
113
- });
114
- const centerListener = map.addListener('center_changed', () => {
115
- onCameraMove?.(createSyntheticEvent(createPayload(isDragging)));
116
- });
117
- const idleListener = map.addListener('idle', () => {
118
- onCameraIdle?.(createSyntheticEvent(createPayload(false)));
119
- });
120
- return () => {
121
- google.maps.event.removeListener(dragStartListener);
122
- google.maps.event.removeListener(dragEndListener);
123
- google.maps.event.removeListener(centerListener);
124
- google.maps.event.removeListener(idleListener);
125
- };
126
- }, [map, onCameraMove, onCameraIdle]);
127
- return null;
128
- }
129
- export class MapView extends Component {
130
- static defaultProps = {
131
- provider: 'google',
132
- mapId: 'DEMO_MAP_ID',
133
- initialZoom: 10,
134
- zoomEnabled: true,
135
- scrollEnabled: true,
136
- rotateEnabled: true,
137
- pitchEnabled: true
138
- };
139
- mapInstance = null;
140
- handleMapReady = map => {
141
- this.mapInstance = map;
142
- };
143
- moveCamera(coordinate, options) {
144
- const map = this.mapInstance;
119
+ }, []);
120
+ const applyEdgeInsets = useCallback((newEdgeInsets, duration) => {
145
121
  if (!map) return;
146
- const {
147
- zoom,
148
- duration = -1
149
- } = options;
150
- const center = {
151
- lat: coordinate.latitude,
152
- lng: coordinate.longitude
153
- };
154
- if (duration > 0) {
155
- map.panTo(center);
156
- map.setZoom(zoom);
157
- } else {
158
- map.setCenter(center);
159
- map.setZoom(zoom);
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
+ }
160
142
  }
161
- }
162
- fitCoordinates(coordinates, options) {
163
- const map = this.mapInstance;
164
- const first = coordinates[0];
165
- if (!map || !first) return;
166
- const {
167
- padding,
168
- duration = -1
169
- } = options ?? {};
170
- if (coordinates.length === 1) {
171
- const zoom = this.props.initialZoom ?? 10;
172
- this.moveCamera(first, {
173
- zoom,
174
- duration
143
+ prevEdgeInsets.current = newEdgeInsets;
144
+ }, [map, initialZoom, offsetCenter]);
145
+ const panToCoordinate = useCallback(coordinate => {
146
+ if (!map) return;
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)
175
201
  });
202
+ },
203
+ setEdgeInsets(newEdgeInsets, options) {
204
+ applyEdgeInsets(newEdgeInsets, options?.duration);
205
+ }
206
+ }), [map, initialZoom, offsetCenter, applyEdgeInsets]);
207
+ useEffect(() => {
208
+ if (map && !readyFired.current) {
209
+ readyFired.current = true;
210
+ onReady?.();
211
+ }
212
+ }, [map, onReady]);
213
+ useEffect(() => {
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;
176
239
  return;
177
240
  }
178
- const bounds = new google.maps.LatLngBounds();
179
- coordinates.forEach(coord => {
180
- bounds.extend({
181
- lat: coord.latitude,
182
- lng: coord.longitude
183
- });
184
- });
185
- map.fitBounds(bounds, {
186
- top: padding?.top ?? 0,
187
- left: padding?.left ?? 0,
188
- bottom: padding?.bottom ?? 0,
189
- right: padding?.right ?? 0
190
- });
191
- }
192
- render() {
193
- const {
194
- mapId,
195
- initialCoordinate,
196
- initialZoom,
197
- minZoom,
198
- maxZoom,
199
- zoomEnabled,
200
- scrollEnabled,
201
- pitchEnabled,
202
- padding,
203
- userLocationEnabled,
204
- onCameraMove,
205
- onCameraIdle,
206
- onReady,
207
- children,
208
- style
209
- } = this.props;
210
- const gestureHandling = scrollEnabled === false && zoomEnabled === false ? 'none' : scrollEnabled === false ? 'none' : 'auto';
211
- const defaultCenter = initialCoordinate ? {
212
- lat: initialCoordinate.latitude,
213
- lng: initialCoordinate.longitude
214
- } : undefined;
215
-
216
- // Separate map children (Marker, Polyline) from overlay children (regular Views)
217
- const mapChildren = [];
218
- const overlayChildren = [];
219
- Children.forEach(children, child => {
220
- if (! /*#__PURE__*/isValidElement(child)) return;
221
- if (isMapComponent(child)) {
222
- mapChildren.push(child);
223
- } else {
224
- overlayChildren.push(child);
225
- }
226
- });
227
- const mapContainerStyle = {
228
- position: 'absolute',
229
- top: padding?.top ?? 0,
230
- left: padding?.left ?? 0,
231
- right: padding?.right ?? 0,
232
- bottom: padding?.bottom ?? 0
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({
260
+ coordinate: {
261
+ latitude: latLng.lat(),
262
+ longitude: latLng.lng()
263
+ },
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)];
277
+ return () => {
278
+ listeners.forEach(l => google.maps.event.removeListener(l));
279
+ handleMouseUp();
280
+ };
281
+ }, [map, onLongPress, handleMouseDown, handleMouseUp]);
282
+ const handleDragStart = () => {
283
+ handleMouseUp();
284
+ setIsDragging(true);
285
+ wasGesture.current = true;
286
+ };
287
+ const handleDragEnd = () => {
288
+ setIsDragging(false);
289
+ };
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
233
302
  };
234
- const mapStyle = {
235
- width: '100%',
236
- 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
237
319
  };
238
- 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,
239
337
  style: style,
240
- children: [/*#__PURE__*/_jsx(View, {
241
- style: mapContainerStyle,
242
- children: /*#__PURE__*/_jsxs(Map, {
243
- mapId: mapId,
244
- defaultCenter: defaultCenter,
245
- defaultZoom: initialZoom,
246
- minZoom: minZoom,
247
- maxZoom: maxZoom,
248
- gestureHandling: gestureHandling,
249
- disableDefaultUI: true,
250
- tilt: pitchEnabled === false ? 0 : undefined,
251
- style: mapStyle,
252
- children: [/*#__PURE__*/_jsx(MapController, {
253
- onMapReady: this.handleMapReady,
254
- onCameraMove: onCameraMove,
255
- onCameraIdle: onCameraIdle,
256
- onReady: onReady,
257
- userLocationEnabled: userLocationEnabled
258
- }), mapChildren]
259
- })
260
- }), overlayChildren]
261
- });
262
- }
263
- }
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
+ });
264
362
  //# sourceMappingURL=MapView.web.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Children","Component","isValidElement","useEffect","useRef","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","MapController","onMapReady","onCameraMove","onCameraIdle","onReady","userLocationEnabled","map","readyFired","userLocationMarker","current","watchId","updateLocation","position","latitude","longitude","coords","pos","lat","lng","dot","document","createElement","style","width","height","backgroundColor","border","borderRadius","boxShadow","google","maps","marker","AdvancedMarkerElement","content","navigator","geolocation","getCurrentPosition","watchPosition","clearWatch","createPayload","gesture","center","getCenter","coordinate","zoom","getZoom","isDragging","dragStartListener","addListener","dragEndListener","centerListener","idleListener","event","removeListener","MapView","defaultProps","provider","mapId","initialZoom","zoomEnabled","scrollEnabled","rotateEnabled","pitchEnabled","mapInstance","handleMapReady","moveCamera","options","duration","panTo","setZoom","setCenter","fitCoordinates","coordinates","first","padding","length","props","bounds","LatLngBounds","forEach","coord","extend","fitBounds","top","left","bottom","right","render","initialCoordinate","minZoom","maxZoom","children","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":[]}