expo-maps 0.9.8 → 0.10.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 (56) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/android/build.gradle +3 -3
  3. package/android/src/main/java/expo/modules/maps/GoogleMapsModule.kt +1 -1
  4. package/android/src/main/java/expo/modules/maps/GoogleMapsView.kt +95 -1
  5. package/android/src/main/java/expo/modules/maps/Records.kt +37 -0
  6. package/build/apple/AppleMaps.types.d.ts +87 -2
  7. package/build/apple/AppleMaps.types.d.ts.map +1 -1
  8. package/build/apple/AppleMaps.types.js.map +1 -1
  9. package/build/apple/AppleMapsView.d.ts.map +1 -1
  10. package/build/apple/AppleMapsView.js +18 -3
  11. package/build/apple/AppleMapsView.js.map +1 -1
  12. package/build/google/GoogleMaps.types.d.ts +72 -2
  13. package/build/google/GoogleMaps.types.d.ts.map +1 -1
  14. package/build/google/GoogleMaps.types.js.map +1 -1
  15. package/build/google/GoogleMapsView.d.ts.map +1 -1
  16. package/build/google/GoogleMapsView.js +14 -2
  17. package/build/google/GoogleMapsView.js.map +1 -1
  18. package/expo-module.config.json +1 -7
  19. package/ios/AppleMapsModule.swift +4 -0
  20. package/ios/AppleMapsView.swift +9 -0
  21. package/ios/AppleMapsViewState.swift +6 -2
  22. package/ios/AppleMapsViewiOS17.swift +39 -1
  23. package/ios/AppleMapsViewiOS18.swift +116 -3
  24. package/ios/MapRecords.swift +50 -0
  25. package/ios/MapUtils.swift +26 -0
  26. package/ios/MapsExceptions.swift +13 -0
  27. package/package.json +3 -3
  28. package/src/apple/AppleMaps.types.ts +104 -2
  29. package/src/apple/AppleMapsView.tsx +36 -3
  30. package/src/google/GoogleMaps.types.ts +87 -2
  31. package/src/google/GoogleMapsView.tsx +22 -0
  32. package/local-maven-repo/host/exp/exponent/expo.modules.maps/0.9.8/expo.modules.maps-0.9.8-sources.jar +0 -0
  33. package/local-maven-repo/host/exp/exponent/expo.modules.maps/0.9.8/expo.modules.maps-0.9.8-sources.jar.md5 +0 -1
  34. package/local-maven-repo/host/exp/exponent/expo.modules.maps/0.9.8/expo.modules.maps-0.9.8-sources.jar.sha1 +0 -1
  35. package/local-maven-repo/host/exp/exponent/expo.modules.maps/0.9.8/expo.modules.maps-0.9.8-sources.jar.sha256 +0 -1
  36. package/local-maven-repo/host/exp/exponent/expo.modules.maps/0.9.8/expo.modules.maps-0.9.8-sources.jar.sha512 +0 -1
  37. package/local-maven-repo/host/exp/exponent/expo.modules.maps/0.9.8/expo.modules.maps-0.9.8.aar +0 -0
  38. package/local-maven-repo/host/exp/exponent/expo.modules.maps/0.9.8/expo.modules.maps-0.9.8.aar.md5 +0 -1
  39. package/local-maven-repo/host/exp/exponent/expo.modules.maps/0.9.8/expo.modules.maps-0.9.8.aar.sha1 +0 -1
  40. package/local-maven-repo/host/exp/exponent/expo.modules.maps/0.9.8/expo.modules.maps-0.9.8.aar.sha256 +0 -1
  41. package/local-maven-repo/host/exp/exponent/expo.modules.maps/0.9.8/expo.modules.maps-0.9.8.aar.sha512 +0 -1
  42. package/local-maven-repo/host/exp/exponent/expo.modules.maps/0.9.8/expo.modules.maps-0.9.8.module +0 -136
  43. package/local-maven-repo/host/exp/exponent/expo.modules.maps/0.9.8/expo.modules.maps-0.9.8.module.md5 +0 -1
  44. package/local-maven-repo/host/exp/exponent/expo.modules.maps/0.9.8/expo.modules.maps-0.9.8.module.sha1 +0 -1
  45. package/local-maven-repo/host/exp/exponent/expo.modules.maps/0.9.8/expo.modules.maps-0.9.8.module.sha256 +0 -1
  46. package/local-maven-repo/host/exp/exponent/expo.modules.maps/0.9.8/expo.modules.maps-0.9.8.module.sha512 +0 -1
  47. package/local-maven-repo/host/exp/exponent/expo.modules.maps/0.9.8/expo.modules.maps-0.9.8.pom +0 -77
  48. package/local-maven-repo/host/exp/exponent/expo.modules.maps/0.9.8/expo.modules.maps-0.9.8.pom.md5 +0 -1
  49. package/local-maven-repo/host/exp/exponent/expo.modules.maps/0.9.8/expo.modules.maps-0.9.8.pom.sha1 +0 -1
  50. package/local-maven-repo/host/exp/exponent/expo.modules.maps/0.9.8/expo.modules.maps-0.9.8.pom.sha256 +0 -1
  51. package/local-maven-repo/host/exp/exponent/expo.modules.maps/0.9.8/expo.modules.maps-0.9.8.pom.sha512 +0 -1
  52. package/local-maven-repo/host/exp/exponent/expo.modules.maps/maven-metadata.xml +0 -13
  53. package/local-maven-repo/host/exp/exponent/expo.modules.maps/maven-metadata.xml.md5 +0 -1
  54. package/local-maven-repo/host/exp/exponent/expo.modules.maps/maven-metadata.xml.sha1 +0 -1
  55. package/local-maven-repo/host/exp/exponent/expo.modules.maps/maven-metadata.xml.sha256 +0 -1
  56. package/local-maven-repo/host/exp/exponent/expo.modules.maps/maven-metadata.xml.sha512 +0 -1
package/CHANGELOG.md CHANGED
@@ -10,12 +10,27 @@
10
10
 
11
11
  ### 💡 Others
12
12
 
13
+ ## 0.10.0 — 2025-05-08
14
+
15
+ ### 🎉 New features
16
+
17
+ - Add polyline rendering support on Android and iOS. ([#36236](https://github.com/expo/expo/pull/36236) by [@fobos531](https://github.com/fobos531))
18
+ - Add circle rendering support on Android and iOS. ([#36439](https://github.com/expo/expo/pull/36439) by [@fobos531](https://github.com/fobos531))
19
+
20
+ ## 0.9.9 — 2025-05-06
21
+
22
+ ### 🎉 New features
23
+
24
+ - [iOS] Added Look Around support. ([#36415](https://github.com/expo/expo/pull/36415) by [@fobos531](https://github.com/fobos531))
25
+ - Add polyline rendering support on Android and iOS. ([#36236](https://github.com/expo/expo/pull/36236) by [@fobos531](https://github.com/fobos531))
26
+
13
27
  ## 0.9.8 — 2025-04-30
14
28
 
15
29
  ### 🎉 New features
16
30
 
17
31
  - Added `id` property to markers and polylines. ([#36422](https://github.com/expo/expo/pull/36422) by [@fobos531](https://github.com/fobos531))
18
32
  - Add polyline rendering support on Android and iOS. ([#36236](https://github.com/expo/expo/pull/36236) by [@fobos531](https://github.com/fobos531))
33
+ - Add polygons rendering support on Android and iOS. ([#36606](https://github.com/expo/expo/pull/36606) by [@fobos531](https://github.com/fobos531))
19
34
 
20
35
  ## 0.9.7 — 2025-04-28
21
36
 
@@ -14,13 +14,13 @@ apply plugin: 'expo-module-gradle-plugin'
14
14
  apply plugin: 'org.jetbrains.kotlin.plugin.compose'
15
15
 
16
16
  group = 'host.exp.exponent'
17
- version = '0.9.8'
17
+ version = '0.10.0'
18
18
 
19
19
  android {
20
20
  namespace "expo.modules.maps"
21
21
  defaultConfig {
22
22
  versionCode 1
23
- versionName "0.9.8"
23
+ versionName "0.10.0"
24
24
  }
25
25
  buildFeatures {
26
26
  compose true
@@ -38,5 +38,5 @@ dependencies {
38
38
  implementation 'androidx.fragment:fragment-ktx:1.8.5'
39
39
  implementation 'androidx.compose.material3:material3-android:1.3.1'
40
40
 
41
- implementation 'com.google.maps.android:maps-compose:6.4.0'
41
+ implementation 'com.google.maps.android:maps-compose:6.6.0'
42
42
  }
@@ -9,7 +9,7 @@ class GoogleMapsModule : Module() {
9
9
  Name("ExpoGoogleMaps")
10
10
 
11
11
  View(GoogleMapsView::class) {
12
- Events("onMapLoaded", "onMapClick", "onMapLongClick", "onPOIClick", "onMarkerClick", "onCameraMove", "onPolylineClick")
12
+ Events("onMapLoaded", "onMapClick", "onMapLongClick", "onPOIClick", "onMarkerClick", "onCameraMove", "onPolylineClick", "onCircleClick", "onPolygonClick")
13
13
 
14
14
  AsyncFunction("setCameraPosition") Coroutine { view: GoogleMapsView, config: SetCameraPositionConfig? ->
15
15
  view.setCameraPosition(config)
@@ -28,22 +28,26 @@ import com.google.maps.android.compose.CameraPositionState
28
28
  import com.google.maps.android.compose.GoogleMap
29
29
  import com.google.maps.android.compose.Marker
30
30
  import com.google.maps.android.compose.MarkerState
31
+ import com.google.maps.android.compose.Polygon
32
+ import com.google.maps.android.compose.Circle
31
33
  import com.google.maps.android.compose.Polyline
32
34
  import expo.modules.kotlin.AppContext
33
35
  import expo.modules.kotlin.apifeatures.EitherType
34
36
  import expo.modules.kotlin.sharedobjects.SharedRef
35
37
  import expo.modules.kotlin.types.toKClass
36
38
  import expo.modules.kotlin.viewevent.EventDispatcher
39
+ import expo.modules.kotlin.viewevent.ViewEventCallback
37
40
  import expo.modules.kotlin.views.ComposeProps
38
41
  import expo.modules.kotlin.views.ExpoComposeView
39
42
  import kotlinx.coroutines.launch
40
- import androidx.core.graphics.toColorInt
41
43
 
42
44
  data class GoogleMapsViewProps(
43
45
  val userLocation: MutableState<UserLocationRecord> = mutableStateOf(UserLocationRecord()),
44
46
  val cameraPosition: MutableState<CameraPositionRecord> = mutableStateOf(CameraPositionRecord()),
45
47
  val markers: MutableState<List<MarkerRecord>> = mutableStateOf(listOf()),
46
48
  val polylines: MutableState<List<PolylineRecord>> = mutableStateOf(listOf()),
49
+ val polygons: MutableState<List<PolygonRecord>> = mutableStateOf(listOf()),
50
+ val circles: MutableState<List<CircleRecord>> = mutableStateOf(listOf()),
47
51
  val uiSettings: MutableState<MapUiSettingsRecord> = mutableStateOf(MapUiSettingsRecord()),
48
52
  val properties: MutableState<MapPropertiesRecord> = mutableStateOf(MapPropertiesRecord()),
49
53
  val colorScheme: MutableState<MapColorSchemeEnum> = mutableStateOf(MapColorSchemeEnum.FOLLOW_SYSTEM)
@@ -60,6 +64,8 @@ class GoogleMapsView(context: Context, appContext: AppContext) : ExpoComposeView
60
64
  private val onPOIClick by EventDispatcher<POIRecord>()
61
65
  private val onMarkerClick by EventDispatcher<MarkerRecord>()
62
66
  private val onPolylineClick by EventDispatcher<PolylineRecord>()
67
+ private val onPolygonClick by EventDispatcher<PolygonRecord>()
68
+ private val onCircleClick by EventDispatcher<CircleRecord>()
63
69
 
64
70
  private val onCameraMove by EventDispatcher<CameraMoveEvent>()
65
71
 
@@ -74,6 +80,8 @@ class GoogleMapsView(context: Context, appContext: AppContext) : ExpoComposeView
74
80
  val markerState = markerStateFromProps()
75
81
  val locationSource = locationSourceFromProps()
76
82
  val polylineState by polylineStateFromProps()
83
+ val polygonState by polygonStateFromProps()
84
+ val circleState by circleStateFromProps()
77
85
 
78
86
  GoogleMap(
79
87
  modifier = Modifier.fillMaxSize(),
@@ -136,6 +144,16 @@ class GoogleMapsView(context: Context, appContext: AppContext) : ExpoComposeView
136
144
  )
137
145
  }
138
146
 
147
+ MapPolygons(
148
+ polygonState = polygonState,
149
+ onPolygonClick = onPolygonClick
150
+ )
151
+
152
+ MapCircles(
153
+ circleState = circleState,
154
+ onCircleClick = onCircleClick
155
+ )
156
+
139
157
  for ((marker, state) in markerState.value) {
140
158
  val icon = getIconDescriptor(marker)
141
159
 
@@ -237,6 +255,16 @@ class GoogleMapsView(context: Context, appContext: AppContext) : ExpoComposeView
237
255
  }
238
256
  }
239
257
 
258
+ @Composable
259
+ private fun circleStateFromProps() =
260
+ remember {
261
+ derivedStateOf {
262
+ props.circles.value.map { circle ->
263
+ circle to circle.center.toLatLng()
264
+ }
265
+ }
266
+ }
267
+
240
268
  @Composable
241
269
  private fun polylineStateFromProps() =
242
270
  remember {
@@ -247,6 +275,43 @@ class GoogleMapsView(context: Context, appContext: AppContext) : ExpoComposeView
247
275
  }
248
276
  }
249
277
 
278
+ @Composable
279
+ private fun polygonStateFromProps() =
280
+ remember {
281
+ derivedStateOf {
282
+ props.polygons.value.map { polygon ->
283
+ polygon to polygon.coordinates.map { it.toLatLng() }
284
+ }
285
+ }
286
+ }
287
+
288
+ @Composable
289
+ private fun MapPolygons(
290
+ polygonState: List<Pair<PolygonRecord, List<LatLng>>>,
291
+ onPolygonClick: ViewEventCallback<PolygonRecord>
292
+ ) {
293
+ polygonState.forEach { (polygon, coordinates) ->
294
+ Polygon(
295
+ points = coordinates,
296
+ fillColor = Color(polygon.color),
297
+ strokeColor = Color(polygon.lineColor),
298
+ strokeWidth = polygon.lineWidth,
299
+ clickable = true,
300
+ onClick = {
301
+ onPolygonClick(
302
+ PolygonRecord(
303
+ id = polygon.id,
304
+ coordinates.map { Coordinates(it.latitude, it.longitude) },
305
+ color = polygon.color,
306
+ lineColor = polygon.lineColor,
307
+ lineWidth = polygon.lineWidth
308
+ )
309
+ )
310
+ }
311
+ )
312
+ }
313
+ }
314
+
250
315
  suspend fun setCameraPosition(config: SetCameraPositionConfig?) {
251
316
  // Stop updating the camera position based on user location.
252
317
  manualCameraControl = true
@@ -279,3 +344,32 @@ class GoogleMapsView(context: Context, appContext: AppContext) : ExpoComposeView
279
344
  }
280
345
  }
281
346
  }
347
+
348
+ @Composable
349
+ private fun MapCircles(
350
+ circleState: List<Pair<CircleRecord, LatLng>>,
351
+ onCircleClick: ViewEventCallback<CircleRecord>
352
+ ) {
353
+ circleState.forEach { (circle, center) ->
354
+ Circle(
355
+ center = center,
356
+ radius = circle.radius,
357
+ fillColor = Color(circle.color),
358
+ strokeColor = circle.lineColor?.let { Color(it) } ?: Color.Transparent,
359
+ strokeWidth = circle.lineWidth ?: 0f,
360
+ clickable = true,
361
+ onClick = {
362
+ onCircleClick(
363
+ CircleRecord(
364
+ id = circle.id,
365
+ center = Coordinates(center.latitude, center.longitude),
366
+ radius = circle.radius,
367
+ color = circle.color,
368
+ lineColor = circle.lineColor,
369
+ lineWidth = circle.lineWidth
370
+ )
371
+ )
372
+ }
373
+ )
374
+ }
375
+ }
@@ -85,6 +85,23 @@ data class PolylineRecord(
85
85
  val width: Float = 10f,
86
86
  ): Record
87
87
 
88
+ data class PolygonRecord(
89
+ @Field
90
+ val id: String = UUID.randomUUID().toString(),
91
+
92
+ @Field
93
+ val coordinates: List<Coordinates> = emptyList(),
94
+
95
+ @Field
96
+ val lineColor: Int = 0xFF0000FF.toInt(),
97
+
98
+ @Field
99
+ val lineWidth: Float = 10f,
100
+
101
+ @Field
102
+ val color: Int = 0xFF0000FF.toInt()
103
+ ): Record
104
+
88
105
  data class CameraPositionRecord(
89
106
  @Field
90
107
  val coordinates: Coordinates = Coordinates(),
@@ -93,6 +110,26 @@ data class CameraPositionRecord(
93
110
  val zoom: Float = 10f
94
111
  ) : Record
95
112
 
113
+ data class CircleRecord(
114
+ @Field
115
+ val id: String = UUID.randomUUID().toString(),
116
+
117
+ @Field
118
+ val center: Coordinates = Coordinates(),
119
+
120
+ @Field
121
+ val radius: Double = 200.0,
122
+
123
+ @Field
124
+ val color: Int = 0x7F0000FF,
125
+
126
+ @Field
127
+ val lineColor: Int? = null,
128
+
129
+ @Field
130
+ val lineWidth: Float? = null,
131
+ ) : Record
132
+
96
133
  data class UserLocationRecord(
97
134
  @Field
98
135
  val coordinates: Coordinates? = null,
@@ -7,7 +7,7 @@ import { CameraPosition, Coordinates } from '../shared.types';
7
7
  */
8
8
  export type AppleMapsMarker = {
9
9
  /**
10
- * The unique identifier for the marker. This can be used to e.g. identify the clicked marker in the `onMarkerClick` event.
10
+ * The unique identifier for the marker. This can be used to identify the clicked marker in the `onMarkerClick` event.
11
11
  */
12
12
  id?: string;
13
13
  /**
@@ -126,9 +126,12 @@ export type AppleMapsAnnotation = {
126
126
  */
127
127
  icon?: SharedRefType<'image'>;
128
128
  } & AppleMapsMarker;
129
+ /**
130
+ * @platform ios
131
+ */
129
132
  export type AppleMapsPolyline = {
130
133
  /**
131
- * The unique identifier for the polyline. This can be used to e.g. identify the clicked polyline in the `onPolylineClick` event.
134
+ * The unique identifier for the polyline. This can be used to identify the clicked polyline in the `onPolylineClick` event.
132
135
  */
133
136
  id?: string;
134
137
  /**
@@ -148,6 +151,64 @@ export type AppleMapsPolyline = {
148
151
  */
149
152
  contourStyle?: AppleMapsContourStyle;
150
153
  };
154
+ /**
155
+ * @platform ios
156
+ */
157
+ export type AppleMapsCircle = {
158
+ /**
159
+ * The unique identifier for the circle. This can be used to identify the clicked circle in the `onCircleClick` event.
160
+ */
161
+ id?: string;
162
+ /**
163
+ * The coordinates of the circle.
164
+ */
165
+ center: Coordinates;
166
+ /**
167
+ * The radius of the circle (in meters).
168
+ */
169
+ radius: number;
170
+ /**
171
+ * The color of the circle.
172
+ */
173
+ color?: ProcessedColorValue | string;
174
+ /**
175
+ * The width of the circle.
176
+ */
177
+ width?: number;
178
+ /**
179
+ * The color of the circle line.
180
+ */
181
+ lineColor?: ProcessedColorValue | string;
182
+ /**
183
+ * The width of the circle line.
184
+ */
185
+ lineWidth?: number;
186
+ };
187
+ /**
188
+ * @platform ios
189
+ */
190
+ export type AppleMapsPolygon = {
191
+ /**
192
+ * The unique identifier for the polygon. This can be used to identify the clicked polygon in the `onPolygonClick` event.
193
+ */
194
+ id?: string;
195
+ /**
196
+ * The coordinates of the circle.
197
+ */
198
+ coordinates: Coordinates[];
199
+ /**
200
+ * The color of the polygon.
201
+ */
202
+ color?: ProcessedColorValue | string;
203
+ /**
204
+ * The width of the polygon.
205
+ */
206
+ lineWidth?: number;
207
+ /**
208
+ * The color of the polygon.
209
+ */
210
+ lineColor?: ProcessedColorValue | string;
211
+ };
151
212
  /**
152
213
  * @platform ios
153
214
  */
@@ -166,6 +227,14 @@ export type AppleMapsViewProps = {
166
227
  * The array of polylines to display on the map.
167
228
  */
168
229
  polylines?: AppleMapsPolyline[];
230
+ /**
231
+ * The array of polygons to display on the map.
232
+ */
233
+ polygons?: AppleMapsPolygon[];
234
+ /**
235
+ * The array of circles to display on the map.
236
+ */
237
+ circles?: AppleMapsCircle[];
169
238
  /**
170
239
  * The array of annotations to display on the map.
171
240
  */
@@ -195,6 +264,16 @@ export type AppleMapsViewProps = {
195
264
  * @platform ios 18.0+
196
265
  */
197
266
  onPolylineClick?: (event: AppleMapsPolyline) => void;
267
+ /**
268
+ * Lambda invoked when the polygon is clicked
269
+ * @platform ios 18.0+
270
+ */
271
+ onPolygonClick?: (event: AppleMapsPolygon) => void;
272
+ /**
273
+ * Lambda invoked when the circle is clicked
274
+ * @platform ios 18.0+
275
+ */
276
+ onCircleClick?: (event: AppleMapsCircle) => void;
198
277
  /**
199
278
  * Lambda invoked when the map was moved by the user.
200
279
  */
@@ -216,5 +295,11 @@ export type AppleMapsViewType = {
216
295
  * @param config New camera postion.
217
296
  */
218
297
  setCameraPosition: (config?: CameraPosition) => void;
298
+ /**
299
+ * Opens the look around view at specified coordinates.
300
+ *
301
+ * @param coordinates The coordinates of the location to open the look around view at.
302
+ */
303
+ openLookAroundAsync: (coordinates: Coordinates) => Promise<void>;
219
304
  };
220
305
  //# sourceMappingURL=AppleMaps.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AppleMaps.types.d.ts","sourceRoot":"","sources":["../../src/apple/AppleMaps.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AppleMaps.types.d.ts","sourceRoot":"","sources":["../../src/apple/AppleMaps.types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AppleMaps.types.js","sourceRoot":"","sources":["../../src/apple/AppleMaps.types.ts"],"names":[],"mappings":"AA8DA;;;GAGG;AACH,MAAM,CAAN,IAAY,gBAaX;AAbD,WAAY,gBAAgB;IAC1B;;OAEG;IACH,qCAAiB,CAAA;IACjB;;OAEG;IACH,yCAAqB,CAAA;IACrB;;OAEG;IACH,uCAAmB,CAAA;AACrB,CAAC,EAbW,gBAAgB,KAAhB,gBAAgB,QAa3B;AAED;;;GAGG;AACH,MAAM,CAAN,IAAY,qBASX;AATD,WAAY,qBAAqB;IAC/B;;OAEG;IACH,8CAAqB,CAAA;IACrB;;OAEG;IACH,8CAAqB,CAAA;AACvB,CAAC,EATW,qBAAqB,KAArB,qBAAqB,QAShC","sourcesContent":["import type { SharedRefType } from 'expo';\nimport type { Ref } from 'react';\nimport type { ProcessedColorValue, StyleProp, ViewStyle } from 'react-native';\n\nimport { CameraPosition, Coordinates } from '../shared.types';\n\n/**\n * @platform ios\n */\nexport type AppleMapsMarker = {\n /**\n * The unique identifier for the marker. This can be used to e.g. identify the clicked marker in the `onMarkerClick` event.\n */\n id?: string;\n\n /**\n * The SF Symbol to display for the marker.\n */\n systemImage?: string;\n\n /**\n * The coordinates of the marker.\n */\n coordinates?: Coordinates;\n\n /**\n * The title of the marker, displayed in the callout when the marker is clicked.\n */\n title?: string;\n\n /**\n * The tint color of the marker.\n */\n tintColor?: string;\n};\n\n/**\n * @platform ios\n */\nexport type AppleMapsUISettings = {\n /**\n * Whether the compass is enabled on the map.\n * If enabled, the compass is only visible when the map is rotated.\n */\n compassEnabled?: boolean;\n\n /**\n * Whether the my location button is visible.\n */\n myLocationButtonEnabled?: boolean;\n\n /**\n * Whether the scale bar is displayed when zooming.\n */\n scaleBarEnabled?: boolean;\n\n /**\n * Whether the user is allowed to change the pitch type.\n */\n togglePitchEnabled?: boolean;\n};\n\n/**\n * The type of map to display.\n * @platform ios\n */\nexport enum AppleMapsMapType {\n /**\n * A satellite image of the area with road and road name layers on top.\n */\n HYBRID = 'HYBRID',\n /**\n * A street map that shows the position of all roads and some road names.\n */\n STANDARD = 'STANDARD',\n /**\n * A satellite image of the area.\n */\n IMAGERY = 'IMAGERY',\n}\n\n/**\n * The style of the polyline.\n * @platform ios\n */\nexport enum AppleMapsContourStyle {\n /**\n * A straight line.\n */\n STRAIGHT = 'STRAIGHT',\n /**\n * A geodesic line.\n */\n GEODESIC = 'GEODESIC',\n}\n\n/**\n * @platform ios\n */\nexport type AppleMapsProperties = {\n /**\n * Whether the traffic layer is enabled on the map.\n */\n isTrafficEnabled?: boolean;\n\n /**\n * Defines which map type should be used.\n */\n mapType?: AppleMapsMapType;\n\n /**\n * If true, the user can select a location on the map to get more information.\n */\n selectionEnabled?: boolean;\n\n /**\n * The maximum distance in meters from a tap of a polyline for it to be considered a hit.\n * If the distance is greater than the threshold, the polyline is not considered a hit.\n * If a hit occurs, the `onPolylineClick` event will be triggered.\n * Defaults to 20 meters.\n */\n polylineTapThreshold?: number;\n};\n\n/**\n * @platform ios\n */\nexport type AppleMapsAnnotation = {\n /**\n * The background color of the annotation.\n */\n backgroundColor?: string;\n /**\n * The text to display in the annotation.\n */\n text?: string;\n /**\n * The text color of the annotation.\n */\n textColor?: string;\n /**\n * The custom icon to display in the annotation.\n */\n icon?: SharedRefType<'image'>;\n} & AppleMapsMarker;\n\nexport type AppleMapsPolyline = {\n /**\n * The unique identifier for the polyline. This can be used to e.g. identify the clicked polyline in the `onPolylineClick` event.\n */\n id?: string;\n /**\n * The coordinates of the polyline.\n */\n coordinates: Coordinates[];\n /**\n * The color of the polyline.\n */\n color?: ProcessedColorValue | string;\n /**\n * The width of the polyline.\n */\n width?: number;\n /**\n * The style of the polyline.\n */\n contourStyle?: AppleMapsContourStyle;\n};\n\n/**\n * @platform ios\n */\nexport type AppleMapsViewProps = {\n ref?: Ref<AppleMapsViewType>;\n style?: StyleProp<ViewStyle>;\n\n /**\n * The initial camera position of the map.\n */\n cameraPosition?: CameraPosition;\n\n /**\n * The array of markers to display on the map.\n */\n markers?: AppleMapsMarker[];\n\n /**\n * The array of polylines to display on the map.\n */\n polylines?: AppleMapsPolyline[];\n\n /**\n * The array of annotations to display on the map.\n */\n annotations?: AppleMapsAnnotation[];\n\n /**\n * The `MapUiSettings` to be used for UI-specific settings on the map.\n */\n uiSettings?: AppleMapsUISettings;\n\n /**\n * The properties for the map.\n */\n properties?: AppleMapsProperties;\n\n /**\n * Lambda invoked when the user clicks on the map.\n * It won't be invoked if the user clicks on POI or a marker.\n */\n onMapClick?: (event: { coordinates: Coordinates }) => void;\n\n /**\n * Lambda invoked when the marker is clicked\n * @platform ios 18.0+\n */\n onMarkerClick?: (event: AppleMapsMarker) => void;\n\n /**\n * Lambda invoked when the polyline is clicked\n * @platform ios 18.0+\n */\n onPolylineClick?: (event: AppleMapsPolyline) => void;\n\n /**\n * Lambda invoked when the map was moved by the user.\n */\n onCameraMove?: (event: {\n coordinates: Coordinates;\n zoom: number;\n tilt: number;\n bearing: number;\n }) => void;\n};\n\n/**\n * @platform ios\n */\nexport type AppleMapsViewType = {\n /**\n * Update camera position.\n * Animation duration is not supported on iOS.\n *\n * @param config New camera postion.\n */\n setCameraPosition: (config?: CameraPosition) => void;\n};\n"]}
1
+ {"version":3,"file":"AppleMaps.types.js","sourceRoot":"","sources":["../../src/apple/AppleMaps.types.ts"],"names":[],"mappings":"AA8DA;;;GAGG;AACH,MAAM,CAAN,IAAY,gBAaX;AAbD,WAAY,gBAAgB;IAC1B;;OAEG;IACH,qCAAiB,CAAA;IACjB;;OAEG;IACH,yCAAqB,CAAA;IACrB;;OAEG;IACH,uCAAmB,CAAA;AACrB,CAAC,EAbW,gBAAgB,KAAhB,gBAAgB,QAa3B;AAED;;;GAGG;AACH,MAAM,CAAN,IAAY,qBASX;AATD,WAAY,qBAAqB;IAC/B;;OAEG;IACH,8CAAqB,CAAA;IACrB;;OAEG;IACH,8CAAqB,CAAA;AACvB,CAAC,EATW,qBAAqB,KAArB,qBAAqB,QAShC","sourcesContent":["import type { SharedRefType } from 'expo';\nimport type { Ref } from 'react';\nimport type { ProcessedColorValue, StyleProp, ViewStyle } from 'react-native';\n\nimport { CameraPosition, Coordinates } from '../shared.types';\n\n/**\n * @platform ios\n */\nexport type AppleMapsMarker = {\n /**\n * The unique identifier for the marker. This can be used to identify the clicked marker in the `onMarkerClick` event.\n */\n id?: string;\n\n /**\n * The SF Symbol to display for the marker.\n */\n systemImage?: string;\n\n /**\n * The coordinates of the marker.\n */\n coordinates?: Coordinates;\n\n /**\n * The title of the marker, displayed in the callout when the marker is clicked.\n */\n title?: string;\n\n /**\n * The tint color of the marker.\n */\n tintColor?: string;\n};\n\n/**\n * @platform ios\n */\nexport type AppleMapsUISettings = {\n /**\n * Whether the compass is enabled on the map.\n * If enabled, the compass is only visible when the map is rotated.\n */\n compassEnabled?: boolean;\n\n /**\n * Whether the my location button is visible.\n */\n myLocationButtonEnabled?: boolean;\n\n /**\n * Whether the scale bar is displayed when zooming.\n */\n scaleBarEnabled?: boolean;\n\n /**\n * Whether the user is allowed to change the pitch type.\n */\n togglePitchEnabled?: boolean;\n};\n\n/**\n * The type of map to display.\n * @platform ios\n */\nexport enum AppleMapsMapType {\n /**\n * A satellite image of the area with road and road name layers on top.\n */\n HYBRID = 'HYBRID',\n /**\n * A street map that shows the position of all roads and some road names.\n */\n STANDARD = 'STANDARD',\n /**\n * A satellite image of the area.\n */\n IMAGERY = 'IMAGERY',\n}\n\n/**\n * The style of the polyline.\n * @platform ios\n */\nexport enum AppleMapsContourStyle {\n /**\n * A straight line.\n */\n STRAIGHT = 'STRAIGHT',\n /**\n * A geodesic line.\n */\n GEODESIC = 'GEODESIC',\n}\n\n/**\n * @platform ios\n */\nexport type AppleMapsProperties = {\n /**\n * Whether the traffic layer is enabled on the map.\n */\n isTrafficEnabled?: boolean;\n\n /**\n * Defines which map type should be used.\n */\n mapType?: AppleMapsMapType;\n\n /**\n * If true, the user can select a location on the map to get more information.\n */\n selectionEnabled?: boolean;\n\n /**\n * The maximum distance in meters from a tap of a polyline for it to be considered a hit.\n * If the distance is greater than the threshold, the polyline is not considered a hit.\n * If a hit occurs, the `onPolylineClick` event will be triggered.\n * Defaults to 20 meters.\n */\n polylineTapThreshold?: number;\n};\n\n/**\n * @platform ios\n */\nexport type AppleMapsAnnotation = {\n /**\n * The background color of the annotation.\n */\n backgroundColor?: string;\n /**\n * The text to display in the annotation.\n */\n text?: string;\n /**\n * The text color of the annotation.\n */\n textColor?: string;\n /**\n * The custom icon to display in the annotation.\n */\n icon?: SharedRefType<'image'>;\n} & AppleMapsMarker;\n\n/**\n * @platform ios\n */\nexport type AppleMapsPolyline = {\n /**\n * The unique identifier for the polyline. This can be used to identify the clicked polyline in the `onPolylineClick` event.\n */\n id?: string;\n /**\n * The coordinates of the polyline.\n */\n coordinates: Coordinates[];\n /**\n * The color of the polyline.\n */\n color?: ProcessedColorValue | string;\n /**\n * The width of the polyline.\n */\n width?: number;\n /**\n * The style of the polyline.\n */\n contourStyle?: AppleMapsContourStyle;\n};\n\n/**\n * @platform ios\n */\nexport type AppleMapsCircle = {\n /**\n * The unique identifier for the circle. This can be used to identify the clicked circle in the `onCircleClick` event.\n */\n id?: string;\n\n /**\n * The coordinates of the circle.\n */\n center: Coordinates;\n\n /**\n * The radius of the circle (in meters).\n */\n radius: number;\n\n /**\n * The color of the circle.\n */\n color?: ProcessedColorValue | string;\n\n /**\n * The width of the circle.\n */\n width?: number;\n\n /**\n * The color of the circle line.\n */\n lineColor?: ProcessedColorValue | string;\n\n /**\n * The width of the circle line.\n */\n lineWidth?: number;\n};\n\n/**\n * @platform ios\n */\nexport type AppleMapsPolygon = {\n /**\n * The unique identifier for the polygon. This can be used to identify the clicked polygon in the `onPolygonClick` event.\n */\n id?: string;\n\n /**\n * The coordinates of the circle.\n */\n coordinates: Coordinates[];\n\n /**\n * The color of the polygon.\n */\n color?: ProcessedColorValue | string;\n\n /**\n * The width of the polygon.\n */\n lineWidth?: number;\n\n /**\n * The color of the polygon.\n */\n lineColor?: ProcessedColorValue | string;\n};\n\n/**\n * @platform ios\n */\nexport type AppleMapsViewProps = {\n ref?: Ref<AppleMapsViewType>;\n style?: StyleProp<ViewStyle>;\n\n /**\n * The initial camera position of the map.\n */\n cameraPosition?: CameraPosition;\n\n /**\n * The array of markers to display on the map.\n */\n markers?: AppleMapsMarker[];\n\n /**\n * The array of polylines to display on the map.\n */\n polylines?: AppleMapsPolyline[];\n\n /**\n * The array of polygons to display on the map.\n */\n polygons?: AppleMapsPolygon[];\n\n /**\n * The array of circles to display on the map.\n */\n circles?: AppleMapsCircle[];\n\n /**\n * The array of annotations to display on the map.\n */\n annotations?: AppleMapsAnnotation[];\n\n /**\n * The `MapUiSettings` to be used for UI-specific settings on the map.\n */\n uiSettings?: AppleMapsUISettings;\n\n /**\n * The properties for the map.\n */\n properties?: AppleMapsProperties;\n\n /**\n * Lambda invoked when the user clicks on the map.\n * It won't be invoked if the user clicks on POI or a marker.\n */\n onMapClick?: (event: { coordinates: Coordinates }) => void;\n\n /**\n * Lambda invoked when the marker is clicked\n * @platform ios 18.0+\n */\n onMarkerClick?: (event: AppleMapsMarker) => void;\n\n /**\n * Lambda invoked when the polyline is clicked\n * @platform ios 18.0+\n */\n onPolylineClick?: (event: AppleMapsPolyline) => void;\n\n /**\n * Lambda invoked when the polygon is clicked\n * @platform ios 18.0+\n */\n onPolygonClick?: (event: AppleMapsPolygon) => void;\n\n /**\n * Lambda invoked when the circle is clicked\n * @platform ios 18.0+\n */\n onCircleClick?: (event: AppleMapsCircle) => void;\n\n /**\n * Lambda invoked when the map was moved by the user.\n */\n onCameraMove?: (event: {\n coordinates: Coordinates;\n zoom: number;\n tilt: number;\n bearing: number;\n }) => void;\n};\n\n/**\n * @platform ios\n */\nexport type AppleMapsViewType = {\n /**\n * Update camera position.\n * Animation duration is not supported on iOS.\n *\n * @param config New camera postion.\n */\n setCameraPosition: (config?: CameraPosition) => void;\n\n /**\n * Opens the look around view at specified coordinates.\n *\n * @param coordinates The coordinates of the location to open the look around view at.\n */\n openLookAroundAsync: (coordinates: Coordinates) => Promise<void>;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AppleMapsView.d.ts","sourceRoot":"","sources":["../../src/apple/AppleMapsView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAkB/E;;GAEG;AACH,eAAO,MAAM,aAAa,2GA6CzB,CAAC"}
1
+ {"version":3,"file":"AppleMapsView.d.ts","sourceRoot":"","sources":["../../src/apple/AppleMapsView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAkB/E;;GAEG;AACH,eAAO,MAAM,aAAa,2GA8EzB,CAAC"}
@@ -15,21 +15,36 @@ function useNativeEvent(userHandler) {
15
15
  /**
16
16
  * @platform ios
17
17
  */
18
- export const AppleMapsView = React.forwardRef(({ onMapClick, onMarkerClick, onCameraMove, onPolylineClick, annotations, polylines, ...props }, ref) => {
18
+ export const AppleMapsView = React.forwardRef(({ onMapClick, onMarkerClick, onCameraMove, onPolylineClick, onCircleClick, onPolygonClick, annotations, polylines, circles, polygons, ...props }, ref) => {
19
19
  const nativeRef = React.useRef(null);
20
20
  React.useImperativeHandle(ref, () => ({
21
21
  setCameraPosition(config) {
22
- nativeRef.current?.setCameraPosition(config);
22
+ return nativeRef.current?.setCameraPosition(config);
23
+ },
24
+ async openLookAroundAsync(coordinates) {
25
+ return nativeRef.current?.openLookAroundAsync(coordinates);
23
26
  },
24
27
  }));
25
28
  const onNativeMapClick = useNativeEvent(onMapClick);
26
29
  const onNativeMarkerClick = useNativeEvent(onMarkerClick);
27
30
  const onNativeCameraMove = useNativeEvent(onCameraMove);
28
31
  const onNativePolylineClick = useNativeEvent(onPolylineClick);
32
+ const onNativePolygonClick = useNativeEvent(onPolygonClick);
33
+ const onNativeCircleClick = useNativeEvent(onCircleClick);
29
34
  const parsedPolylines = polylines?.map((polyline) => ({
30
35
  ...polyline,
31
36
  color: processColor(polyline.color) ?? undefined,
32
37
  }));
38
+ const parsedPolygons = polygons?.map((polygon) => ({
39
+ ...polygon,
40
+ color: processColor(polygon.color) ?? undefined,
41
+ lineColor: processColor(polygon.lineColor) ?? undefined,
42
+ }));
43
+ const parsedCircles = circles?.map((circle) => ({
44
+ ...circle,
45
+ color: processColor(circle.color) ?? undefined,
46
+ lineColor: processColor(circle.lineColor) ?? undefined,
47
+ }));
33
48
  const parsedAnnotations = annotations?.map((annotation) => ({
34
49
  ...annotation,
35
50
  // @ts-expect-error
@@ -38,6 +53,6 @@ export const AppleMapsView = React.forwardRef(({ onMapClick, onMarkerClick, onCa
38
53
  if (!NativeView) {
39
54
  return null;
40
55
  }
41
- return (<NativeView {...props} ref={nativeRef} polylines={parsedPolylines} annotations={parsedAnnotations} onMapClick={onNativeMapClick} onMarkerClick={onNativeMarkerClick} onCameraMove={onNativeCameraMove} onPolylineClick={onNativePolylineClick}/>);
56
+ return (<NativeView {...props} ref={nativeRef} polylines={parsedPolylines} polygons={parsedPolygons} circles={parsedCircles} annotations={parsedAnnotations} onMapClick={onNativeMapClick} onMarkerClick={onNativeMarkerClick} onCameraMove={onNativeCameraMove} onPolylineClick={onNativePolylineClick} onPolygonClick={onNativePolygonClick} onCircleClick={onNativeCircleClick}/>);
42
57
  });
43
58
  //# sourceMappingURL=AppleMapsView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AppleMapsView.js","sourceRoot":"","sources":["../../src/apple/AppleMapsView.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AACzC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAKtD,IAAI,UAA0D,CAAC;AAE/D,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;IAC1B,UAAU,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,cAAc,CAAI,WAA+B;IACxD,OAAO,KAAK,CAAC,WAAW;IACtB,sGAAsG;IACtG,CAAC,KAAU,EAAE,EAAE;QACb,WAAW,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC,EACD,CAAC,WAAW,CAAC,CACd,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAC3C,CACE,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAC9F,GAAG,EACH,EAAE;IACF,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAoB,IAAI,CAAC,CAAC;IACxD,KAAK,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QACpC,iBAAiB,CAAC,MAAuB;YACvC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;KACF,CAAC,CAAC,CAAC;IAEJ,MAAM,gBAAgB,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IACpD,MAAM,mBAAmB,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;IAC1D,MAAM,kBAAkB,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;IACxD,MAAM,qBAAqB,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC;IAE9D,MAAM,eAAe,GAAG,SAAS,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACpD,GAAG,QAAQ;QACX,KAAK,EAAE,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,SAAS;KACjD,CAAC,CAAC,CAAC;IAEJ,MAAM,iBAAiB,GAAG,WAAW,EAAE,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC1D,GAAG,UAAU;QACb,mBAAmB;QACnB,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,yBAAyB;KACjD,CAAC,CAAC,CAAC;IAEJ,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,CAAC,UAAU,CACT,IAAI,KAAK,CAAC,CACV,GAAG,CAAC,CAAC,SAAS,CAAC,CACf,SAAS,CAAC,CAAC,eAAe,CAAC,CAC3B,WAAW,CAAC,CAAC,iBAAiB,CAAC,CAC/B,UAAU,CAAC,CAAC,gBAAgB,CAAC,CAC7B,aAAa,CAAC,CAAC,mBAAmB,CAAC,CACnC,YAAY,CAAC,CAAC,kBAAkB,CAAC,CACjC,eAAe,CAAC,CAAC,qBAAqB,CAAC,EACvC,CACH,CAAC;AACJ,CAAC,CACF,CAAC","sourcesContent":["import { requireNativeView } from 'expo';\nimport * as React from 'react';\nimport { Platform, processColor } from 'react-native';\n\nimport { CameraPosition } from '../shared.types';\nimport type { AppleMapsViewProps, AppleMapsViewType } from './AppleMaps.types';\n\nlet NativeView: React.ComponentType<AppleMapsViewProps> | null;\n\nif (Platform.OS === 'ios') {\n NativeView = requireNativeView('ExpoAppleMaps');\n}\n\nfunction useNativeEvent<T>(userHandler?: (data: T) => void) {\n return React.useCallback(\n // TODO(@kitten): We unwrap a native payload here, but this isn't reflected in NativeView's prop types\n (event: any) => {\n userHandler?.(event.nativeEvent);\n },\n [userHandler]\n );\n}\n\n/**\n * @platform ios\n */\nexport const AppleMapsView = React.forwardRef<AppleMapsViewType, AppleMapsViewProps>(\n (\n { onMapClick, onMarkerClick, onCameraMove, onPolylineClick, annotations, polylines, ...props },\n ref\n ) => {\n const nativeRef = React.useRef<AppleMapsViewType>(null);\n React.useImperativeHandle(ref, () => ({\n setCameraPosition(config?: CameraPosition) {\n nativeRef.current?.setCameraPosition(config);\n },\n }));\n\n const onNativeMapClick = useNativeEvent(onMapClick);\n const onNativeMarkerClick = useNativeEvent(onMarkerClick);\n const onNativeCameraMove = useNativeEvent(onCameraMove);\n const onNativePolylineClick = useNativeEvent(onPolylineClick);\n\n const parsedPolylines = polylines?.map((polyline) => ({\n ...polyline,\n color: processColor(polyline.color) ?? undefined,\n }));\n\n const parsedAnnotations = annotations?.map((annotation) => ({\n ...annotation,\n // @ts-expect-error\n icon: annotation.icon?.__expo_shared_object_id__,\n }));\n\n if (!NativeView) {\n return null;\n }\n\n return (\n <NativeView\n {...props}\n ref={nativeRef}\n polylines={parsedPolylines}\n annotations={parsedAnnotations}\n onMapClick={onNativeMapClick}\n onMarkerClick={onNativeMarkerClick}\n onCameraMove={onNativeCameraMove}\n onPolylineClick={onNativePolylineClick}\n />\n );\n }\n);\n"]}
1
+ {"version":3,"file":"AppleMapsView.js","sourceRoot":"","sources":["../../src/apple/AppleMapsView.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AACzC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAKtD,IAAI,UAA0D,CAAC;AAE/D,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;IAC1B,UAAU,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,cAAc,CAAI,WAA+B;IACxD,OAAO,KAAK,CAAC,WAAW;IACtB,sGAAsG;IACtG,CAAC,KAAU,EAAE,EAAE;QACb,WAAW,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC,EACD,CAAC,WAAW,CAAC,CACd,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAC3C,CACE,EACE,UAAU,EACV,aAAa,EACb,YAAY,EACZ,eAAe,EACf,aAAa,EACb,cAAc,EACd,WAAW,EACX,SAAS,EACT,OAAO,EACP,QAAQ,EACR,GAAG,KAAK,EACT,EACD,GAAG,EACH,EAAE;IACF,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAoB,IAAI,CAAC,CAAC;IACxD,KAAK,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QACpC,iBAAiB,CAAC,MAAuB;YACvC,OAAO,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACtD,CAAC;QACD,KAAK,CAAC,mBAAmB,CAAC,WAAwB;YAChD,OAAO,SAAS,CAAC,OAAO,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAC7D,CAAC;KACF,CAAC,CAAC,CAAC;IAEJ,MAAM,gBAAgB,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IACpD,MAAM,mBAAmB,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;IAC1D,MAAM,kBAAkB,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;IACxD,MAAM,qBAAqB,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC;IAC9D,MAAM,oBAAoB,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;IAC5D,MAAM,mBAAmB,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;IAE1D,MAAM,eAAe,GAAG,SAAS,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACpD,GAAG,QAAQ;QACX,KAAK,EAAE,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,SAAS;KACjD,CAAC,CAAC,CAAC;IAEJ,MAAM,cAAc,GAAG,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACjD,GAAG,OAAO;QACV,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,SAAS;QAC/C,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS;KACxD,CAAC,CAAC,CAAC;IAEJ,MAAM,aAAa,GAAG,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC9C,GAAG,MAAM;QACT,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS;QAC9C,SAAS,EAAE,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,SAAS;KACvD,CAAC,CAAC,CAAC;IAEJ,MAAM,iBAAiB,GAAG,WAAW,EAAE,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC1D,GAAG,UAAU;QACb,mBAAmB;QACnB,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,yBAAyB;KACjD,CAAC,CAAC,CAAC;IAEJ,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,CAAC,UAAU,CACT,IAAI,KAAK,CAAC,CACV,GAAG,CAAC,CAAC,SAAS,CAAC,CACf,SAAS,CAAC,CAAC,eAAe,CAAC,CAC3B,QAAQ,CAAC,CAAC,cAAc,CAAC,CACzB,OAAO,CAAC,CAAC,aAAa,CAAC,CACvB,WAAW,CAAC,CAAC,iBAAiB,CAAC,CAC/B,UAAU,CAAC,CAAC,gBAAgB,CAAC,CAC7B,aAAa,CAAC,CAAC,mBAAmB,CAAC,CACnC,YAAY,CAAC,CAAC,kBAAkB,CAAC,CACjC,eAAe,CAAC,CAAC,qBAAqB,CAAC,CACvC,cAAc,CAAC,CAAC,oBAAoB,CAAC,CACrC,aAAa,CAAC,CAAC,mBAAmB,CAAC,EACnC,CACH,CAAC;AACJ,CAAC,CACF,CAAC","sourcesContent":["import { requireNativeView } from 'expo';\nimport * as React from 'react';\nimport { Platform, processColor } from 'react-native';\n\nimport { CameraPosition, Coordinates } from '../shared.types';\nimport type { AppleMapsViewProps, AppleMapsViewType } from './AppleMaps.types';\n\nlet NativeView: React.ComponentType<AppleMapsViewProps> | null;\n\nif (Platform.OS === 'ios') {\n NativeView = requireNativeView('ExpoAppleMaps');\n}\n\nfunction useNativeEvent<T>(userHandler?: (data: T) => void) {\n return React.useCallback(\n // TODO(@kitten): We unwrap a native payload here, but this isn't reflected in NativeView's prop types\n (event: any) => {\n userHandler?.(event.nativeEvent);\n },\n [userHandler]\n );\n}\n\n/**\n * @platform ios\n */\nexport const AppleMapsView = React.forwardRef<AppleMapsViewType, AppleMapsViewProps>(\n (\n {\n onMapClick,\n onMarkerClick,\n onCameraMove,\n onPolylineClick,\n onCircleClick,\n onPolygonClick,\n annotations,\n polylines,\n circles,\n polygons,\n ...props\n },\n ref\n ) => {\n const nativeRef = React.useRef<AppleMapsViewType>(null);\n React.useImperativeHandle(ref, () => ({\n setCameraPosition(config?: CameraPosition) {\n return nativeRef.current?.setCameraPosition(config);\n },\n async openLookAroundAsync(coordinates: Coordinates) {\n return nativeRef.current?.openLookAroundAsync(coordinates);\n },\n }));\n\n const onNativeMapClick = useNativeEvent(onMapClick);\n const onNativeMarkerClick = useNativeEvent(onMarkerClick);\n const onNativeCameraMove = useNativeEvent(onCameraMove);\n const onNativePolylineClick = useNativeEvent(onPolylineClick);\n const onNativePolygonClick = useNativeEvent(onPolygonClick);\n const onNativeCircleClick = useNativeEvent(onCircleClick);\n\n const parsedPolylines = polylines?.map((polyline) => ({\n ...polyline,\n color: processColor(polyline.color) ?? undefined,\n }));\n\n const parsedPolygons = polygons?.map((polygon) => ({\n ...polygon,\n color: processColor(polygon.color) ?? undefined,\n lineColor: processColor(polygon.lineColor) ?? undefined,\n }));\n\n const parsedCircles = circles?.map((circle) => ({\n ...circle,\n color: processColor(circle.color) ?? undefined,\n lineColor: processColor(circle.lineColor) ?? undefined,\n }));\n\n const parsedAnnotations = annotations?.map((annotation) => ({\n ...annotation,\n // @ts-expect-error\n icon: annotation.icon?.__expo_shared_object_id__,\n }));\n\n if (!NativeView) {\n return null;\n }\n\n return (\n <NativeView\n {...props}\n ref={nativeRef}\n polylines={parsedPolylines}\n polygons={parsedPolygons}\n circles={parsedCircles}\n annotations={parsedAnnotations}\n onMapClick={onNativeMapClick}\n onMarkerClick={onNativeMarkerClick}\n onCameraMove={onNativeCameraMove}\n onPolylineClick={onNativePolylineClick}\n onPolygonClick={onNativePolygonClick}\n onCircleClick={onNativeCircleClick}\n />\n );\n }\n);\n"]}
@@ -7,7 +7,7 @@ import { CameraPosition, Coordinates } from '../shared.types';
7
7
  */
8
8
  export type GoogleMapsMarker = {
9
9
  /**
10
- * The unique identifier for the marker. This can be used to e.g. identify the clicked marker in the `onMarkerClick` event.
10
+ * The unique identifier for the marker. This can be used to identify the clicked marker in the `onMarkerClick` event.
11
11
  */
12
12
  id?: string;
13
13
  /**
@@ -40,7 +40,7 @@ export type GoogleMapsMarker = {
40
40
  */
41
41
  export type GoogleMapsPolyline = {
42
42
  /**
43
- * The unique identifier for the polyline. This can be used to e.g. identify the clicked polyline in the `onPolylineClick` event.
43
+ * The unique identifier for the polyline. This can be used to identify the clicked polyline in the `onPolylineClick` event.
44
44
  */
45
45
  id?: string;
46
46
  /**
@@ -60,6 +60,60 @@ export type GoogleMapsPolyline = {
60
60
  */
61
61
  geodesic?: boolean;
62
62
  };
63
+ /**
64
+ * @platform android
65
+ */
66
+ export type GoogleMapsCircle = {
67
+ /**
68
+ * The unique identifier for the circle. This can be used to identify the clicked circle in the `onCircleClick` event.
69
+ */
70
+ id?: string;
71
+ /**
72
+ * The coordinates of the circle.
73
+ */
74
+ center: Coordinates;
75
+ /**
76
+ * The radius of the circle.
77
+ */
78
+ radius: number;
79
+ /**
80
+ * The color of the circle.
81
+ */
82
+ color?: ProcessedColorValue | string;
83
+ /**
84
+ * The color of the circle line.
85
+ */
86
+ lineColor?: ProcessedColorValue | string;
87
+ /**
88
+ * The width of the circle line.
89
+ */
90
+ lineWidth?: number;
91
+ };
92
+ /**
93
+ * @platform android
94
+ */
95
+ export type GoogleMapsPolygon = {
96
+ /**
97
+ * The unique identifier for the polygon. This can be used to identify the clicked polygon in the `onPolygonClick` event.
98
+ */
99
+ id?: string;
100
+ /**
101
+ * The coordinates of the circle.
102
+ */
103
+ coordinates: Coordinates[];
104
+ /**
105
+ * The color of the polygon.
106
+ */
107
+ color?: ProcessedColorValue | string;
108
+ /**
109
+ * The width of the polygon.
110
+ */
111
+ lineWidth?: number;
112
+ /**
113
+ * The color of the polygon.
114
+ */
115
+ lineColor?: ProcessedColorValue | string;
116
+ };
63
117
  /**
64
118
  * @platform android
65
119
  */
@@ -212,6 +266,14 @@ export type GoogleMapsViewProps = {
212
266
  * The array of polylines to display on the map.
213
267
  */
214
268
  polylines?: GoogleMapsPolyline[];
269
+ /**
270
+ * The array of polygons to display on the map.
271
+ */
272
+ polygons?: GoogleMapsPolygon[];
273
+ /**
274
+ * The array of circles to display on the map.
275
+ */
276
+ circles?: GoogleMapsCircle[];
215
277
  /**
216
278
  * The `MapUiSettings` to be used for UI-specific settings on the map.
217
279
  */
@@ -260,6 +322,14 @@ export type GoogleMapsViewProps = {
260
322
  * Lambda invoked when the polyline is clicked.
261
323
  */
262
324
  onPolylineClick?: (event: GoogleMapsPolyline) => void;
325
+ /**
326
+ * Lambda invoked when the polygon is clicked.
327
+ */
328
+ onPolygonClick?: (event: GoogleMapsPolygon) => void;
329
+ /**
330
+ * Lambda invoked when the circle is clicked.
331
+ */
332
+ onCircleClick?: (event: GoogleMapsCircle) => void;
263
333
  /**
264
334
  * Lambda invoked when the map was moved by the user.
265
335
  */
@@ -1 +1 @@
1
- {"version":3,"file":"GoogleMaps.types.d.ts","sourceRoot":"","sources":["../../src/google/GoogleMaps.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GoogleMaps.types.d.ts","sourceRoot":"","sources":["../../src/google/GoogleMaps.types.ts"],"names":[],"mappings":"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"}