react-native-google-maps-plus 1.10.2-dev.1 → 1.10.2-dev.2

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 (98) hide show
  1. package/README.md +12 -114
  2. package/ios/GoogleMapViewImpl.swift +3 -0
  3. package/lib/module/GoogleMapsPlus.js +10 -1
  4. package/lib/module/GoogleMapsPlus.js.map +1 -1
  5. package/lib/module/index.js +90 -1
  6. package/lib/module/index.js.map +1 -1
  7. package/lib/module/types.js +145 -39
  8. package/lib/module/types.js.map +1 -1
  9. package/lib/typescript/src/GoogleMapsPlus.d.ts +8 -0
  10. package/lib/typescript/src/GoogleMapsPlus.d.ts.map +1 -1
  11. package/lib/typescript/src/RNGoogleMapsPlusModule.nitro.d.ts +17 -1
  12. package/lib/typescript/src/RNGoogleMapsPlusModule.nitro.d.ts.map +1 -1
  13. package/lib/typescript/src/RNGoogleMapsPlusView.nitro.d.ts +87 -3
  14. package/lib/typescript/src/RNGoogleMapsPlusView.nitro.d.ts.map +1 -1
  15. package/lib/typescript/src/index.d.ts +89 -1
  16. package/lib/typescript/src/index.d.ts.map +1 -1
  17. package/lib/typescript/src/types.d.ts +340 -17
  18. package/lib/typescript/src/types.d.ts.map +1 -1
  19. package/nitrogen/generated/android/c++/JFunc_void_RNIndoorBuilding.hpp +12 -11
  20. package/nitrogen/generated/android/c++/JFunc_void_RNIndoorLevel.hpp +12 -11
  21. package/nitrogen/generated/android/c++/JFunc_void_RNLatLng.hpp +2 -1
  22. package/nitrogen/generated/android/c++/JFunc_void_RNLocation.hpp +2 -1
  23. package/nitrogen/generated/android/c++/JFunc_void_RNLocationErrorCode.hpp +2 -1
  24. package/nitrogen/generated/android/c++/JFunc_void_RNMapErrorCode.hpp +2 -1
  25. package/nitrogen/generated/android/c++/JFunc_void_RNRegion_RNCamera.hpp +2 -1
  26. package/nitrogen/generated/android/c++/JFunc_void_RNRegion_RNCamera_bool.hpp +2 -1
  27. package/nitrogen/generated/android/c++/JFunc_void_bool.hpp +2 -1
  28. package/nitrogen/generated/android/c++/JFunc_void_std__string.hpp +2 -1
  29. package/nitrogen/generated/android/c++/JFunc_void_std__string_RNLatLng.hpp +2 -1
  30. package/nitrogen/generated/android/c++/JFunc_void_std__string_std__string_RNLatLng.hpp +2 -1
  31. package/nitrogen/generated/android/c++/JHybridRNGoogleMapsPlusViewSpec.cpp +32 -81
  32. package/nitrogen/generated/android/c++/JHybridRNGoogleMapsPlusViewSpec.hpp +4 -4
  33. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/Func_void_RNIndoorBuilding.kt +9 -9
  34. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/Func_void_RNIndoorLevel.kt +9 -9
  35. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/HybridRNGoogleMapsPlusViewSpec.kt +2 -2
  36. package/nitrogen/generated/ios/RNGoogleMapsPlus-Swift-Cxx-Bridge.cpp +7 -6
  37. package/nitrogen/generated/ios/RNGoogleMapsPlus-Swift-Cxx-Bridge.hpp +28 -28
  38. package/nitrogen/generated/ios/c++/HybridRNGoogleMapsPlusViewSpecSwift.hpp +4 -4
  39. package/nitrogen/generated/ios/swift/Func_void_RNIndoorBuilding.swift +6 -6
  40. package/nitrogen/generated/ios/swift/Func_void_RNIndoorLevel.swift +6 -6
  41. package/nitrogen/generated/ios/swift/Func_void_RNLatLng.swift +1 -1
  42. package/nitrogen/generated/ios/swift/Func_void_RNLocation.swift +1 -1
  43. package/nitrogen/generated/ios/swift/Func_void_RNLocationErrorCode.swift +1 -1
  44. package/nitrogen/generated/ios/swift/Func_void_RNLocationPermissionResult.swift +1 -1
  45. package/nitrogen/generated/ios/swift/Func_void_RNMapErrorCode.swift +1 -1
  46. package/nitrogen/generated/ios/swift/Func_void_RNRegion_RNCamera.swift +1 -1
  47. package/nitrogen/generated/ios/swift/Func_void_RNRegion_RNCamera_bool.swift +1 -1
  48. package/nitrogen/generated/ios/swift/Func_void_bool.swift +1 -1
  49. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +1 -1
  50. package/nitrogen/generated/ios/swift/Func_void_std__optional_std__string_.swift +1 -1
  51. package/nitrogen/generated/ios/swift/Func_void_std__string.swift +1 -1
  52. package/nitrogen/generated/ios/swift/Func_void_std__string_RNLatLng.swift +1 -1
  53. package/nitrogen/generated/ios/swift/Func_void_std__string_std__string_RNLatLng.swift +1 -1
  54. package/nitrogen/generated/ios/swift/HybridRNGoogleMapsPlusModuleSpec.swift +0 -1
  55. package/nitrogen/generated/ios/swift/HybridRNGoogleMapsPlusModuleSpec_cxx.swift +0 -1
  56. package/nitrogen/generated/ios/swift/HybridRNGoogleMapsPlusViewSpec.swift +2 -3
  57. package/nitrogen/generated/ios/swift/HybridRNGoogleMapsPlusViewSpec_cxx.swift +16 -17
  58. package/nitrogen/generated/ios/swift/RNAndroidLocationConfig.swift +1 -0
  59. package/nitrogen/generated/ios/swift/RNCamera.swift +1 -0
  60. package/nitrogen/generated/ios/swift/RNCameraUpdate.swift +1 -0
  61. package/nitrogen/generated/ios/swift/RNCircle.swift +1 -0
  62. package/nitrogen/generated/ios/swift/RNHeatmap.swift +1 -0
  63. package/nitrogen/generated/ios/swift/RNHeatmapGradient.swift +1 -0
  64. package/nitrogen/generated/ios/swift/RNHeatmapPoint.swift +1 -0
  65. package/nitrogen/generated/ios/swift/RNIOSLocationConfig.swift +1 -0
  66. package/nitrogen/generated/ios/swift/RNIndoorBuilding.swift +1 -0
  67. package/nitrogen/generated/ios/swift/RNIndoorLevel.swift +1 -0
  68. package/nitrogen/generated/ios/swift/RNInitialProps.swift +1 -0
  69. package/nitrogen/generated/ios/swift/RNKMLayer.swift +1 -0
  70. package/nitrogen/generated/ios/swift/RNLatLng.swift +1 -0
  71. package/nitrogen/generated/ios/swift/RNLatLngBounds.swift +1 -0
  72. package/nitrogen/generated/ios/swift/RNLocation.swift +1 -0
  73. package/nitrogen/generated/ios/swift/RNLocationAndroid.swift +1 -0
  74. package/nitrogen/generated/ios/swift/RNLocationConfig.swift +1 -0
  75. package/nitrogen/generated/ios/swift/RNLocationIOS.swift +1 -0
  76. package/nitrogen/generated/ios/swift/RNLocationPermissionResult.swift +1 -0
  77. package/nitrogen/generated/ios/swift/RNMapPadding.swift +1 -0
  78. package/nitrogen/generated/ios/swift/RNMapUiSettings.swift +1 -0
  79. package/nitrogen/generated/ios/swift/RNMapZoomConfig.swift +1 -0
  80. package/nitrogen/generated/ios/swift/RNMarker.swift +1 -0
  81. package/nitrogen/generated/ios/swift/RNMarkerSvg.swift +1 -0
  82. package/nitrogen/generated/ios/swift/RNPolygon.swift +1 -0
  83. package/nitrogen/generated/ios/swift/RNPolygonHole.swift +1 -0
  84. package/nitrogen/generated/ios/swift/RNPolyline.swift +1 -0
  85. package/nitrogen/generated/ios/swift/RNPosition.swift +1 -0
  86. package/nitrogen/generated/ios/swift/RNRegion.swift +1 -0
  87. package/nitrogen/generated/ios/swift/RNSize.swift +1 -0
  88. package/nitrogen/generated/ios/swift/RNSnapshotOptions.swift +1 -0
  89. package/nitrogen/generated/ios/swift/RNUrlTileOverlay.swift +1 -0
  90. package/nitrogen/generated/shared/c++/HybridRNGoogleMapsPlusViewSpec.hpp +4 -4
  91. package/nitrogen/generated/shared/c++/views/HybridRNGoogleMapsPlusViewComponent.cpp +4 -4
  92. package/nitrogen/generated/shared/c++/views/HybridRNGoogleMapsPlusViewComponent.hpp +2 -2
  93. package/package.json +11 -7
  94. package/src/GoogleMapsPlus.tsx +9 -1
  95. package/src/RNGoogleMapsPlusModule.nitro.ts +21 -4
  96. package/src/RNGoogleMapsPlusView.nitro.ts +143 -18
  97. package/src/index.tsx +90 -1
  98. package/src/types.ts +475 -67
package/src/types.ts CHANGED
@@ -1,382 +1,790 @@
1
+ /**
2
+ * Platform behavior
3
+ *
4
+ * Thin TypeScript layer over the native Google Maps SDKs for Android and iOS.
5
+ * Behavior follows the underlying SDKs unless explicitly documented otherwise.
6
+ */
7
+
1
8
  import type { RNGoogleMapsPlusViewMethods } from './RNGoogleMapsPlusView.nitro';
2
9
  import type { HybridView } from 'react-native-nitro-modules';
3
10
 
11
+ /** Reference to the native Google Maps view. */
4
12
  export type GoogleMapsViewRef = HybridView<RNGoogleMapsPlusViewMethods>;
5
13
 
14
+ /** Initial map configuration. */
6
15
  export type RNInitialProps = {
16
+ /** Map instance identifier. */
7
17
  mapId?: string;
18
+
19
+ /**
20
+ * Enables lite rendering mode.
21
+ *
22
+ * Android: supported.
23
+ * iOS: not supported.
24
+ */
8
25
  liteMode?: boolean;
26
+
27
+ /** Initial camera configuration. */
9
28
  camera?: RNCameraUpdate;
29
+
30
+ /** Background color while tiles load. */
10
31
  backgroundColor?: string;
11
32
  };
12
33
 
34
+ /** UI and gesture settings. */
13
35
  export type RNMapUiSettings = {
36
+ /** Enables or disables all gestures. */
14
37
  allGesturesEnabled?: boolean;
38
+
39
+ /** Shows the compass. */
15
40
  compassEnabled?: boolean;
41
+
42
+ /** Enables the indoor level picker. */
16
43
  indoorLevelPickerEnabled?: boolean;
44
+
45
+ /**
46
+ * Enables the map toolbar.
47
+ *
48
+ * Android: supported.
49
+ * iOS: not supported.
50
+ */
17
51
  mapToolbarEnabled?: boolean;
52
+
53
+ /** Enables the "My Location" button. */
18
54
  myLocationButtonEnabled?: boolean;
55
+
56
+ /** Enables rotation gestures. */
19
57
  rotateEnabled?: boolean;
58
+
59
+ /** Enables scroll gestures. */
20
60
  scrollEnabled?: boolean;
61
+
62
+ /** Enables scroll during rotate/zoom gestures. */
21
63
  scrollDuringRotateOrZoomEnabled?: boolean;
64
+
65
+ /** Enables tilt gestures. */
22
66
  tiltEnabled?: boolean;
67
+
68
+ /**
69
+ * Shows built-in zoom controls.
70
+ *
71
+ * Android: supported.
72
+ * iOS: not supported.
73
+ */
23
74
  zoomControlsEnabled?: boolean;
75
+
76
+ /** Enables pinch zoom gestures. */
24
77
  zoomGesturesEnabled?: boolean;
78
+
79
+ /**
80
+ * Consumes the press event.
81
+ *
82
+ * When enabled:
83
+ * - Native map UI does NOT execute its default behavior.
84
+ * - Only the JS callback is triggered.
85
+ *
86
+ * When disabled:
87
+ * - JS callback is triggered.
88
+ * - Native default behavior runs (e.g. camera move, info window, selection).
89
+ */
25
90
  consumeOnMarkerPress?: boolean;
91
+
92
+ /**
93
+ * Consumes the My-Location-button press event.
94
+ *
95
+ * When enabled:
96
+ * - Native map does NOT perform its default camera move.
97
+ * - Only the JS callback is triggered.
98
+ *
99
+ * When disabled:
100
+ * - JS callback is triggered.
101
+ * - Native behavior runs (camera animates to user location).
102
+ */
26
103
  consumeOnMyLocationButtonPress?: boolean;
27
104
  };
28
105
 
106
+ /** Geographic coordinate. */
29
107
  export type RNLatLng = {
108
+ /** Latitude. */
30
109
  latitude: number;
110
+
111
+ /** Longitude. */
31
112
  longitude: number;
32
113
  };
33
114
 
115
+ /** Geographic bounds. */
34
116
  export type RNLatLngBounds = {
117
+ /** Southwest corner. */
35
118
  southwest: RNLatLng;
119
+
120
+ /** Northeast corner. */
36
121
  northeast: RNLatLng;
37
122
  };
38
123
 
124
+ /** Snapshot configuration. */
39
125
  export type RNSnapshotOptions = {
126
+ /** Output size. */
40
127
  size?: RNSize;
128
+
129
+ /** Image format. */
41
130
  format: RNSnapshotFormat;
131
+
132
+ /** Image quality (0–100). */
42
133
  quality: number;
134
+
135
+ /** Result return type. */
43
136
  resultType: RNSnapshotResultType;
44
137
  };
45
138
 
139
+ /**
140
+ * Logical size of an image or view.
141
+ * iOS: points (pt)
142
+ * Android: dp
143
+ * Converted internally to physical pixels.
144
+ */
46
145
  export type RNSize = {
146
+ /** Width. */
47
147
  width: number;
148
+
149
+ /** Height. */
48
150
  height: number;
49
151
  };
50
152
 
153
+ /** Snapshot image formats. */
51
154
  export type RNSnapshotFormat = 'png' | 'jpg' | 'jpeg';
52
155
 
156
+ /** Snapshot result types. */
53
157
  export type RNSnapshotResultType = 'base64' | 'file';
54
158
 
159
+ /**
160
+ * Map padding in logical units (pt on iOS, dp on Android).
161
+ * Both are converted internally to device pixels.
162
+ */
55
163
  export type RNMapPadding = {
164
+ /** Top padding. */
56
165
  top: number;
166
+
167
+ /** Left padding. */
57
168
  left: number;
169
+
170
+ /** Bottom padding. */
58
171
  bottom: number;
172
+
173
+ /** Right padding. */
59
174
  right: number;
60
175
  };
61
176
 
177
+ /** Base map types. */
62
178
  export type RNMapType = 'none' | 'normal' | 'hybrid' | 'satellite' | 'terrain';
63
179
 
180
+ /** UI style mode. */
64
181
  export type RNUserInterfaceStyle = 'light' | 'dark' | 'system';
65
182
 
66
- export type RNFeatureType = string;
67
-
68
- /*
69
- | 'administrative'
70
- | 'administrative.country'
71
- | 'administrative.land_parcel'
72
- | 'administrative.locality'
73
- | 'administrative.neighborhood'
74
- | 'administrative.province'
75
- | 'landscape'
76
- | 'landscape.man_made'
77
- | 'landscape.natural'
78
- | 'poi'
79
- | 'poi.attraction'
80
- | 'poi.business'
81
- | 'poi.government'
82
- | 'poi.medical'
83
- | 'poi.park'
84
- | 'poi.place_of_worship'
85
- | 'poi.school'
86
- | 'poi.sports_complex'
87
- | 'road'
88
- | 'road.arterial'
89
- | 'road.highway'
90
- | 'road.local'
91
- | 'transit'
92
- | 'transit.line'
93
- | 'transit.station'
94
- | 'water';
95
- */
96
-
97
- export type RNElementType = string;
98
-
99
- /*
100
- | 'all'
101
- | 'geometry'
102
- | 'geometry.fill'
103
- | 'geometry.stroke'
104
- | 'labels'
105
- | 'labels.icon'
106
- | 'labels.text'
107
- | 'labels.text.fill'
108
- | 'labels.text.stroke'
109
- */
110
-
111
- export type RNVisibility = string;
112
-
113
- /*
114
- 'on' | 'off' | 'simplified';
115
- */
116
-
117
- export interface RNMapStyler {
118
- color?: string;
119
- visibility?: RNVisibility;
120
- weight?: number;
121
- gamma?: number;
122
- lightness?: number;
123
- saturation?: number;
124
- invert_lightness?: boolean;
125
- }
126
-
127
- export interface RNMapStyleElement {
128
- featureType?: RNFeatureType;
129
- elementType?: RNElementType;
130
- stylers: RNMapStyler[];
131
- }
132
-
183
+ /** Camera definition. */
133
184
  export type RNCamera = {
185
+ /** Camera target coordinate. */
134
186
  center: RNLatLng;
187
+
188
+ /** Zoom level. */
135
189
  zoom: number;
190
+
191
+ /** Bearing in degrees. */
136
192
  bearing: number;
193
+
194
+ /** Tilt angle in degrees. */
137
195
  tilt: number;
138
196
  };
139
197
 
198
+ /** Partial camera update. */
140
199
  export type RNCameraUpdate = {
200
+ /** Camera target coordinate. */
141
201
  center?: RNLatLng;
202
+
203
+ /** Zoom level. */
142
204
  zoom?: number;
205
+
206
+ /** Bearing in degrees. */
143
207
  bearing?: number;
208
+
209
+ /** Tilt angle in degrees. */
144
210
  tilt?: number;
145
211
  };
146
212
 
213
+ /** Visible region. */
147
214
  export type RNRegion = {
215
+ /** Near-left corner. */
148
216
  nearLeft: RNLatLng;
217
+
218
+ /** Near-right corner. */
149
219
  nearRight: RNLatLng;
220
+
221
+ /** Far-left corner. */
150
222
  farLeft: RNLatLng;
223
+
224
+ /** Far-right corner. */
151
225
  farRight: RNLatLng;
226
+
227
+ /** Bounding box. */
152
228
  latLngBounds: RNLatLngBounds;
153
229
  };
154
230
 
231
+ /** 2D position in view coordinates. */
155
232
  export type RNPosition = {
233
+ /** X coordinate. */
156
234
  x: number;
235
+
236
+ /** Y coordinate. */
157
237
  y: number;
158
238
  };
159
239
 
240
+ /** Zoom configuration. */
160
241
  export type RNMapZoomConfig = {
242
+ /** Minimum zoom level. */
161
243
  min?: number;
244
+
245
+ /** Maximum zoom level. */
162
246
  max?: number;
163
247
  };
164
248
 
249
+ /**
250
+ * Line cap styles.
251
+ *
252
+ * Android: supported.
253
+ * iOS: not supported.
254
+ */
165
255
  export type RNLineCapType = 'butt' | 'round' | 'square';
256
+
257
+ /**
258
+ * Line join styles.
259
+ *
260
+ * Android: supported.
261
+ * iOS: not supported.
262
+ */
166
263
  export type RNLineJoinType = 'miter' | 'round' | 'bevel';
167
264
 
265
+ /**
266
+ * Marker definition.
267
+ *
268
+ * On iOS, some default animations are suppressed for parity with Android.
269
+ */
168
270
  export type RNMarker = {
271
+ /** Unique marker identifier. */
169
272
  id: string;
273
+
274
+ /** Z-index used for rendering order. */
170
275
  zIndex?: number;
276
+
277
+ /** Marker coordinate. */
171
278
  coordinate: RNLatLng;
279
+
280
+ /**
281
+ * Anchor point relative to the marker icon.
282
+ * (0,0) = top-left, (1,1) = bottom-right.
283
+ */
172
284
  anchor?: RNPosition;
285
+
286
+ /** Marker title. */
173
287
  title?: string;
288
+
289
+ /** Marker snippet / subtitle. */
174
290
  snippet?: string;
291
+
292
+ /** Icon opacity in the range [0, 1]. */
175
293
  opacity?: number;
294
+
295
+ /** Draws the marker flat against the map. */
176
296
  flat?: boolean;
297
+
298
+ /** Enables marker dragging. */
177
299
  draggable?: boolean;
300
+
301
+ /** Rotation angle in degrees. */
178
302
  rotation?: number;
303
+
304
+ /**
305
+ * Info window anchor relative to the marker.
306
+ * (0,0) = top-left, (1,1) = bottom-right.
307
+ */
179
308
  infoWindowAnchor?: RNPosition;
309
+
310
+ /** Marker icon rendered from an SVG string. */
180
311
  iconSvg?: RNMarkerSvg;
312
+
313
+ /** Info window content rendered from an SVG string. */
181
314
  infoWindowIconSvg?: RNMarkerSvg;
182
315
  };
183
316
 
317
+ /** Marker SVG definition. */
184
318
  export type RNMarkerSvg = {
319
+ /**
320
+ * Icon width in logical units.
321
+ *
322
+ * iOS: points (pt)
323
+ * Android: density-independent pixels (dp)
324
+ *
325
+ * Converted internally to physical pixels.
326
+ */
185
327
  width: number;
328
+
329
+ /**
330
+ * Icon height in logical units.
331
+ *
332
+ * iOS: points (pt)
333
+ * Android: density-independent pixels (dp)
334
+ *
335
+ * Converted internally to physical pixels.
336
+ */
186
337
  height: number;
338
+
339
+ /**
340
+ * Raw SVG content.
341
+ *
342
+ * Rendering engines:
343
+ * - Android: AndroidSVG — http://bigbadaboom.github.io/androidsvg/
344
+ * - iOS: SVGKit — https://github.com/SVGKit/SVGKit
345
+ */
187
346
  svgString: string;
188
347
  };
189
348
 
349
+ /** Polygon definition. */
190
350
  export type RNPolygon = {
351
+ /** Unique polygon identifier. */
191
352
  id: string;
353
+
354
+ /** Z-index used for rendering order. */
192
355
  zIndex?: number;
356
+
357
+ /** Enables polygon press events. */
193
358
  pressable?: boolean;
359
+
360
+ /** Polygon vertices. */
194
361
  coordinates: RNLatLng[];
362
+
363
+ /** Fill color. */
195
364
  fillColor?: string;
365
+
366
+ /** Stroke color. */
196
367
  strokeColor?: string;
368
+
369
+ /**
370
+ * Stroke width in logical units.
371
+ *
372
+ * iOS: points (pt)
373
+ * Android: density-independent pixels (dp)
374
+ *
375
+ * Converted internally to physical pixels.
376
+ */
197
377
  strokeWidth?: number;
378
+
379
+ /** Polygon holes. */
198
380
  holes?: RNPolygonHole[];
381
+
382
+ /** Draws geodesic edges. */
199
383
  geodesic?: boolean;
200
384
  };
201
385
 
386
+ /** Polygon hole definition. */
202
387
  export type RNPolygonHole = {
388
+ /** Hole vertices. */
203
389
  coordinates: RNLatLng[];
204
390
  };
205
391
 
392
+ /** Polyline definition. */
206
393
  export type RNPolyline = {
394
+ /** Unique polyline identifier. */
207
395
  id: string;
396
+
397
+ /** Z-index used for rendering order. */
208
398
  zIndex?: number;
399
+
400
+ /** Enables polyline press events. */
209
401
  pressable?: boolean;
402
+
403
+ /** Polyline vertices. */
210
404
  coordinates: RNLatLng[];
405
+
406
+ /** Line cap style. */
211
407
  lineCap?: RNLineCapType;
408
+
409
+ /** Line join style. */
212
410
  lineJoin?: RNLineJoinType;
411
+
412
+ /** Draws a geodesic path. */
213
413
  geodesic?: boolean;
414
+
415
+ /** Line color. */
214
416
  color?: string;
417
+
418
+ /**
419
+ * Line width in logical units.
420
+ *
421
+ * iOS: points (pt)
422
+ * Android: density-independent pixels (dp)
423
+ *
424
+ * Converted internally to physical pixels.
425
+ */
215
426
  width?: number;
216
427
  };
217
428
 
429
+ /** Circle definition. */
218
430
  export type RNCircle = {
431
+ /** Unique circle identifier. */
219
432
  id: string;
433
+
434
+ /** Enables circle press events. */
220
435
  pressable?: boolean;
436
+
437
+ /** Z-index used for rendering order. */
221
438
  zIndex?: number;
439
+
440
+ /** Circle center. */
222
441
  center: RNLatLng;
442
+
443
+ /** Radius in meters. */
223
444
  radius: number;
445
+
446
+ /**
447
+ * Stroke width in logical units.
448
+ *
449
+ * iOS: points (pt)
450
+ * Android: density-independent pixels (dp)
451
+ *
452
+ * Converted internally to physical pixels.
453
+ */
224
454
  strokeWidth?: number;
455
+
456
+ /** Stroke color. */
225
457
  strokeColor?: string;
458
+
459
+ /** Fill color. */
226
460
  fillColor?: string;
227
461
  };
228
462
 
463
+ /** Heatmap configuration. */
229
464
  export type RNHeatmap = {
465
+ /** Unique heatmap identifier. */
230
466
  id: string;
467
+
468
+ /** Enables heatmap press events. */
231
469
  pressable?: boolean;
470
+
471
+ /** Z-index used for rendering order. */
232
472
  zIndex?: number;
473
+
474
+ /** Weighted heatmap points. */
233
475
  weightedData: RNHeatmapPoint[];
476
+
477
+ /** Radius used for each point. */
234
478
  radius?: number;
479
+
480
+ /** Overall heatmap opacity. */
235
481
  opacity?: number;
482
+
483
+ /** Custom gradient configuration. */
236
484
  gradient?: RNHeatmapGradient;
237
485
  };
238
486
 
487
+ /** Heatmap point definition. */
239
488
  export type RNHeatmapPoint = {
489
+ /** Latitude. */
240
490
  latitude: number;
491
+
492
+ /** Longitude. */
241
493
  longitude: number;
494
+
495
+ /** Weight used for heatmap intensity. */
242
496
  weight: number;
243
497
  };
244
498
 
499
+ /** Heatmap gradient configuration. */
245
500
  export type RNHeatmapGradient = {
501
+ /** Gradient colors. */
246
502
  colors: string[];
503
+
504
+ /** Gradient start points in the range [0, 1]. */
247
505
  startPoints: number[];
506
+
507
+ /** Size of the generated color map. */
248
508
  colorMapSize: number;
249
509
  };
250
510
 
511
+ /** KML layer configuration. */
251
512
  export type RNKMLayer = {
513
+ /** Unique KML layer identifier. */
252
514
  id: string;
515
+
516
+ /** KML document as string. */
253
517
  kmlString: string;
254
518
  };
255
519
 
520
+ /** URL tile overlay configuration. */
256
521
  export type RNUrlTileOverlay = {
522
+ /** Unique tile overlay identifier. */
257
523
  id: string;
524
+
525
+ /** Z-index used for rendering order. */
258
526
  zIndex?: number;
527
+
528
+ /** URL template for tiles. */
259
529
  url: string;
530
+
531
+ /** Tile size in pixels. */
260
532
  tileSize: number;
533
+
534
+ /** Overlay opacity in the range [0, 1]. */
261
535
  opacity?: number;
536
+
537
+ /** Enables fade-in animation when tiles load. */
262
538
  fadeIn?: boolean;
263
539
  };
264
540
 
541
+ /** Indoor building information. */
265
542
  export type RNIndoorBuilding = {
543
+ /** Index of the active level. */
266
544
  activeLevelIndex?: number;
545
+
546
+ /** Index of the default level. */
267
547
  defaultLevelIndex?: number;
548
+
549
+ /** Available indoor levels. */
268
550
  levels: RNIndoorLevel[];
551
+
552
+ /** Indicates whether the building is underground. */
269
553
  underground?: boolean;
270
554
  };
271
555
 
556
+ /** Indoor level information. */
272
557
  export type RNIndoorLevel = {
558
+ /** Level index. */
273
559
  index: number;
560
+
561
+ /** Level name. */
274
562
  name?: string;
563
+
564
+ /** Short level name. */
275
565
  shortName?: string;
566
+
567
+ /** Indicates whether this level is currently active. */
276
568
  active?: boolean;
277
569
  };
278
570
 
571
+ /** Location configuration. */
279
572
  export type RNLocationConfig = {
573
+ /** Android-specific location configuration. */
280
574
  android?: RNAndroidLocationConfig;
575
+
576
+ /** iOS-specific location configuration. */
281
577
  ios?: RNIOSLocationConfig;
282
578
  };
283
579
 
580
+ /** Android location configuration. */
284
581
  export type RNAndroidLocationConfig = {
582
+ /** Requested location priority. */
285
583
  priority?: RNAndroidLocationPriority;
584
+
585
+ /** Desired update interval in milliseconds. */
286
586
  interval?: number;
587
+
588
+ /** Minimum update interval in milliseconds. */
287
589
  minUpdateInterval?: number;
288
590
  };
289
591
 
592
+ /** Android location priorities. */
290
593
  export enum RNAndroidLocationPriority {
594
+ /** High accuracy, higher power usage. */
291
595
  PRIORITY_HIGH_ACCURACY = 0,
596
+ /** Balanced accuracy and power usage. */
292
597
  PRIORITY_BALANCED_POWER_ACCURACY = 1,
598
+ /** Low power usage, coarse accuracy. */
293
599
  PRIORITY_LOW_POWER = 2,
600
+ /** Passive updates, no active requests. */
294
601
  PRIORITY_PASSIVE = 3,
295
602
  }
296
603
 
604
+ /** iOS location configuration. */
297
605
  export type RNIOSLocationConfig = {
606
+ /** Desired accuracy level. */
298
607
  desiredAccuracy?: RNIOSLocationAccuracy;
608
+
609
+ /** Minimum distance in meters before a new update is delivered. */
299
610
  distanceFilterMeters?: number;
611
+
612
+ /** Activity type used to optimize location updates. */
300
613
  activityType?: RNIOSLocationActivityType;
301
614
  };
302
615
 
616
+ /** iOS location accuracy levels. */
303
617
  export enum RNIOSLocationAccuracy {
618
+ /** Best possible accuracy. */
304
619
  ACCURACY_BEST = 0,
620
+ /** Approximately 10 m accuracy. */
305
621
  ACCURACY_NEAREST_TEN_METER = 1,
622
+ /** Approximately 100 m accuracy. */
306
623
  ACCURACY_NEAREST_HUNDRED_METER = 2,
624
+ /** Approximately 1 km accuracy. */
307
625
  ACCURACY_KILOMETER = 3,
308
626
  }
309
627
 
628
+ /** iOS activity types for location updates. */
310
629
  export enum RNIOSLocationActivityType {
630
+ /** Default activity type. */
311
631
  OTHER = 0,
632
+ /** Turn-by-turn navigation. */
312
633
  NAVIGATION = 1,
634
+ /** Automotive navigation. */
313
635
  AUTOMOTIVE = 2,
636
+ /** Fitness and outdoor activities. */
314
637
  FITNESS = 3,
638
+ /** Airborne activity. */
315
639
  AIRBORNE = 4,
316
640
  }
317
641
 
642
+ /** Combined location permission result. */
318
643
  export type RNLocationPermissionResult = {
644
+ /** Android permission result. */
319
645
  android?: RNAndroidLocationPermissionResult;
646
+
647
+ /** iOS permission result. */
320
648
  ios?: RNIOSPermissionResult;
321
649
  };
322
650
 
651
+ /** Android location permission results. */
323
652
  export enum RNAndroidLocationPermissionResult {
653
+ /** Permission was granted. */
324
654
  GRANTED = 1,
655
+ /** Permission was denied. */
325
656
  DENIED = -1,
657
+ /** User chose "never ask again". */
326
658
  NEVER_ASK_AGAIN = -2,
327
659
  }
328
660
 
661
+ /** iOS location permission results. */
329
662
  export enum RNIOSPermissionResult {
663
+ /** Permission was denied. */
330
664
  DENIED = -1,
665
+ /** Permission was granted. */
331
666
  AUTHORIZED = 1,
332
667
  }
333
668
 
669
+ /** Location object. */
334
670
  export type RNLocation = {
671
+ /** Center coordinate. */
335
672
  center: RNLatLng;
673
+
674
+ /** Altitude in meters. */
336
675
  altitude: number;
676
+
677
+ /** Accuracy in meters. */
337
678
  accuracy: number;
679
+
680
+ /** Bearing in degrees. */
338
681
  bearing: number;
682
+
683
+ /** Speed in meters per second. */
339
684
  speed: number;
685
+
686
+ /** Timestamp in milliseconds since Unix epoch. */
340
687
  time: number;
688
+
689
+ /** Android-only fields. */
341
690
  android?: RNLocationAndroid;
691
+
692
+ /** iOS-only fields. */
342
693
  ios?: RNLocationIOS;
343
694
  };
344
695
 
696
+ /** Android location. */
345
697
  export type RNLocationAndroid = {
698
+ /** Provider name. */
346
699
  provider?: string;
700
+
701
+ /** Elapsed realtime in nanoseconds. */
347
702
  elapsedRealtimeNanos?: number;
703
+
704
+ /** Bearing accuracy in degrees. */
348
705
  bearingAccuracyDegrees?: number;
706
+
707
+ /** Speed accuracy in meters per second. */
349
708
  speedAccuracyMetersPerSecond?: number;
709
+
710
+ /** Vertical accuracy in meters. */
350
711
  verticalAccuracyMeters?: number;
712
+
713
+ /** Altitude above mean sea level in meters. */
351
714
  mslAltitudeMeters?: number;
715
+
716
+ /** Accuracy of the MSL altitude in meters. */
352
717
  mslAltitudeAccuracyMeters?: number;
718
+
719
+ /** Indicates whether the location is from a mock provider. */
353
720
  isMock?: boolean;
354
721
  };
722
+
723
+ /** iOS location. */
355
724
  export type RNLocationIOS = {
725
+ /** Horizontal accuracy in meters. */
356
726
  horizontalAccuracy?: number;
727
+
728
+ /** Vertical accuracy in meters. */
357
729
  verticalAccuracy?: number;
730
+
731
+ /** Speed accuracy in meters per second. */
358
732
  speedAccuracy?: number;
733
+
734
+ /** Course accuracy in degrees. */
359
735
  courseAccuracy?: number;
736
+
737
+ /** Floor level index. */
360
738
  floor?: number;
739
+
740
+ /** Indicates whether the location is from a mock provider. */
361
741
  isFromMockProvider?: boolean;
742
+
743
+ /** Timestamp in milliseconds since Unix epoch. */
362
744
  timestamp?: number;
363
745
  };
364
746
 
747
+ /** Location error codes. */
365
748
  export enum RNLocationErrorCode {
749
+ /** Location permission was denied by the user. */
366
750
  PERMISSION_DENIED = 1,
751
+
752
+ /** The device was unable to determine a position. */
367
753
  POSITION_UNAVAILABLE = 2,
754
+
755
+ /** The location request timed out. */
368
756
  TIMEOUT = 3,
757
+
758
+ /** Required Google Play Services are not available. */
369
759
  PLAY_SERVICE_NOT_AVAILABLE = 4,
760
+
761
+ /** Device location settings do not satisfy the request. */
370
762
  SETTINGS_NOT_SATISFIED = 5,
763
+
764
+ /** Internal or unknown error. */
371
765
  INTERNAL_ERROR = -1,
372
766
  }
373
767
 
768
+ /** Error codes related to Google Play Services Maps integration. */
374
769
  export enum RNMapErrorCode {
770
+ /** Google Play Services are missing on the device. */
375
771
  PLAY_SERVICES_MISSING = 0,
772
+
773
+ /** Google Play Services are present but invalid. */
376
774
  PLAY_SERVICES_INVALID = 1,
775
+
776
+ /** Google Play Services are disabled on the device. */
377
777
  PLAY_SERVICES_DISABLED = 2,
778
+
779
+ /** Google Play Services are installed, but outdated. */
378
780
  PLAY_SERVICES_OUTDATED = 3,
781
+
782
+ /** A newer version of Google Play Services is available. */
379
783
  PLAY_SERVICE_UPDATE_AVAILABLE = 4,
784
+
785
+ /** Google Play Services are currently updating. */
380
786
  PLAY_SERVICE_UPDATING = 5,
787
+
788
+ /** Unknown error. */
381
789
  UNKNOWN = 6,
382
790
  }