@lugg/maps 0.2.0-alpha.24 → 0.2.0-alpha.26

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.
@@ -50,9 +50,10 @@ class LuggMapView(private val reactContext: ThemedReactContext) :
50
50
  private var rotateEnabled: Boolean = true
51
51
  private var pitchEnabled: Boolean = true
52
52
  private var userLocationEnabled: Boolean = false
53
+ private var myLocationButtonEnabled: Boolean = false
53
54
  private var minZoom: Double? = null
54
55
  private var maxZoom: Double? = null
55
- private var padding: EdgeInsets = EdgeInsets()
56
+ private var edgeInsets: EdgeInsets = EdgeInsets()
56
57
 
57
58
  // region View Lifecycle
58
59
 
@@ -147,10 +148,11 @@ class LuggMapView(private val reactContext: ThemedReactContext) :
147
148
  provider?.setRotateEnabled(rotateEnabled)
148
149
  provider?.setPitchEnabled(pitchEnabled)
149
150
  provider?.setUserLocationEnabled(userLocationEnabled)
151
+ provider?.setMyLocationButtonEnabled(myLocationButtonEnabled)
150
152
  provider?.setTheme(theme)
151
153
  minZoom?.let { provider?.setMinZoom(it) }
152
154
  maxZoom?.let { provider?.setMaxZoom(it) }
153
- provider?.setPadding(padding)
155
+ provider?.setEdgeInsets(edgeInsets)
154
156
  }
155
157
 
156
158
  fun setProvider(value: String?) {
@@ -198,6 +200,11 @@ class LuggMapView(private val reactContext: ThemedReactContext) :
198
200
  provider?.setUserLocationEnabled(enabled)
199
201
  }
200
202
 
203
+ fun setMyLocationButtonEnabled(enabled: Boolean) {
204
+ myLocationButtonEnabled = enabled
205
+ provider?.setMyLocationButtonEnabled(enabled)
206
+ }
207
+
201
208
  fun setMinZoom(zoom: Double) {
202
209
  minZoom = zoom
203
210
  provider?.setMinZoom(zoom)
@@ -213,9 +220,9 @@ class LuggMapView(private val reactContext: ThemedReactContext) :
213
220
  provider?.setTheme(value)
214
221
  }
215
222
 
216
- fun setPadding(top: Int, left: Int, bottom: Int, right: Int) {
217
- padding = EdgeInsets(top, left, bottom, right)
218
- provider?.setPadding(padding)
223
+ fun setEdgeInsets(top: Int, left: Int, bottom: Int, right: Int) {
224
+ edgeInsets = EdgeInsets(top, left, bottom, right)
225
+ provider?.setEdgeInsets(edgeInsets)
219
226
  }
220
227
 
221
228
  // endregion
@@ -228,13 +235,13 @@ class LuggMapView(private val reactContext: ThemedReactContext) :
228
235
 
229
236
  fun fitCoordinates(
230
237
  coordinates: List<LatLng>,
231
- paddingTop: Int,
232
- paddingLeft: Int,
233
- paddingBottom: Int,
234
- paddingRight: Int,
238
+ edgeInsetsTop: Int,
239
+ edgeInsetsLeft: Int,
240
+ edgeInsetsBottom: Int,
241
+ edgeInsetsRight: Int,
235
242
  duration: Int
236
243
  ) {
237
- provider?.fitCoordinates(coordinates, paddingTop, paddingLeft, paddingBottom, paddingRight, duration)
244
+ provider?.fitCoordinates(coordinates, edgeInsetsTop, edgeInsetsLeft, edgeInsetsBottom, edgeInsetsRight, duration)
238
245
  }
239
246
 
240
247
  // endregion
@@ -113,6 +113,11 @@ class LuggMapViewManager :
113
113
  view.setUserLocationEnabled(value)
114
114
  }
115
115
 
116
+ @ReactProp(name = "myLocationButtonEnabled", defaultBoolean = false)
117
+ override fun setMyLocationButtonEnabled(view: LuggMapView, value: Boolean) {
118
+ view.setMyLocationButtonEnabled(value)
119
+ }
120
+
116
121
  @ReactProp(name = "minZoom")
117
122
  override fun setMinZoom(view: LuggMapView, value: Double) {
118
123
  view.setMinZoom(value)
@@ -128,14 +133,14 @@ class LuggMapViewManager :
128
133
  view.setTheme(value ?: "system")
129
134
  }
130
135
 
131
- @ReactProp(name = "padding")
132
- override fun setPadding(view: LuggMapView, value: ReadableMap?) {
136
+ @ReactProp(name = "edgeInsets")
137
+ override fun setEdgeInsets(view: LuggMapView, value: ReadableMap?) {
133
138
  value?.let {
134
139
  val top = if (it.hasKey("top")) it.getDouble("top").toFloat().dpToPx().toInt() else 0
135
140
  val left = if (it.hasKey("left")) it.getDouble("left").toFloat().dpToPx().toInt() else 0
136
141
  val bottom = if (it.hasKey("bottom")) it.getDouble("bottom").toFloat().dpToPx().toInt() else 0
137
142
  val right = if (it.hasKey("right")) it.getDouble("right").toFloat().dpToPx().toInt() else 0
138
- view.setPadding(top, left, bottom, right)
143
+ view.setEdgeInsets(top, left, bottom, right)
139
144
  }
140
145
  }
141
146
 
@@ -157,10 +162,10 @@ class LuggMapViewManager :
157
162
  override fun fitCoordinates(
158
163
  view: LuggMapView,
159
164
  coordinates: ReadableArray?,
160
- paddingTop: Double,
161
- paddingLeft: Double,
162
- paddingBottom: Double,
163
- paddingRight: Double,
165
+ edgeInsetsTop: Double,
166
+ edgeInsetsLeft: Double,
167
+ edgeInsetsBottom: Double,
168
+ edgeInsetsRight: Double,
164
169
  duration: Double
165
170
  ) {
166
171
  val coords = mutableListOf<LatLng>()
@@ -172,7 +177,14 @@ class LuggMapViewManager :
172
177
  coords.add(LatLng(lat, lng))
173
178
  }
174
179
  }
175
- view.fitCoordinates(coords, paddingTop.toInt(), paddingLeft.toInt(), paddingBottom.toInt(), paddingRight.toInt(), duration.toInt())
180
+ view.fitCoordinates(
181
+ coords,
182
+ edgeInsetsTop.toInt(),
183
+ edgeInsetsLeft.toInt(),
184
+ edgeInsetsBottom.toInt(),
185
+ edgeInsetsRight.toInt(),
186
+ duration.toInt()
187
+ )
176
188
  }
177
189
 
178
190
  companion object {
@@ -53,6 +53,7 @@ class GoogleMapProvider(private val context: Context) :
53
53
  private var rotateEnabled: Boolean = true
54
54
  private var pitchEnabled: Boolean = true
55
55
  private var userLocationEnabled: Boolean = false
56
+ private var myLocationButtonEnabled: Boolean = false
56
57
 
57
58
  // Zoom limits
58
59
  private var minZoom: Float? = null
@@ -61,8 +62,8 @@ class GoogleMapProvider(private val context: Context) :
61
62
  // Theme
62
63
  private var theme: String = "system"
63
64
 
64
- // Padding
65
- private var padding: EdgeInsets = EdgeInsets()
65
+ // Edge Insets
66
+ private var edgeInsets: EdgeInsets = EdgeInsets()
66
67
 
67
68
  // region MapProvider
68
69
 
@@ -108,7 +109,7 @@ class GoogleMapProvider(private val context: Context) :
108
109
 
109
110
  applyUiSettings()
110
111
  applyZoomLimits()
111
- applyPadding()
112
+ applyEdgeInsets()
112
113
  applyTheme()
113
114
  applyUserLocation()
114
115
  processPendingMarkers()
@@ -180,6 +181,11 @@ class GoogleMapProvider(private val context: Context) :
180
181
  googleMap?.isMyLocationEnabled = userLocationEnabled && hasPermission
181
182
  }
182
183
 
184
+ override fun setMyLocationButtonEnabled(enabled: Boolean) {
185
+ myLocationButtonEnabled = enabled
186
+ googleMap?.uiSettings?.isMyLocationButtonEnabled = enabled
187
+ }
188
+
183
189
  override fun setTheme(value: String) {
184
190
  theme = value
185
191
  applyTheme()
@@ -199,9 +205,9 @@ class GoogleMapProvider(private val context: Context) :
199
205
  }
200
206
  }
201
207
 
202
- override fun setPadding(padding: EdgeInsets) {
203
- this.padding = padding
204
- applyPadding()
208
+ override fun setEdgeInsets(edgeInsets: EdgeInsets) {
209
+ this.edgeInsets = edgeInsets
210
+ applyEdgeInsets()
205
211
  }
206
212
 
207
213
  // endregion
@@ -397,10 +403,10 @@ class GoogleMapProvider(private val context: Context) :
397
403
 
398
404
  override fun fitCoordinates(
399
405
  coordinates: List<Any>,
400
- paddingTop: Int,
401
- paddingLeft: Int,
402
- paddingBottom: Int,
403
- paddingRight: Int,
406
+ edgeInsetsTop: Int,
407
+ edgeInsetsLeft: Int,
408
+ edgeInsetsBottom: Int,
409
+ edgeInsetsRight: Int,
404
410
  duration: Int
405
411
  ) {
406
412
  val map = googleMap ?: return
@@ -413,16 +419,16 @@ class GoogleMapProvider(private val context: Context) :
413
419
  latLngs.forEach { boundsBuilder.include(it) }
414
420
  val bounds = boundsBuilder.build()
415
421
 
416
- val top = paddingTop.toFloat().dpToPx().toInt()
417
- val left = paddingLeft.toFloat().dpToPx().toInt()
418
- val bottom = paddingBottom.toFloat().dpToPx().toInt()
419
- val right = paddingRight.toFloat().dpToPx().toInt()
422
+ val top = edgeInsetsTop.toFloat().dpToPx().toInt()
423
+ val left = edgeInsetsLeft.toFloat().dpToPx().toInt()
424
+ val bottom = edgeInsetsBottom.toFloat().dpToPx().toInt()
425
+ val right = edgeInsetsRight.toFloat().dpToPx().toInt()
420
426
 
421
427
  map.setPadding(
422
- padding.left + left,
423
- padding.top + top,
424
- padding.right + right,
425
- padding.bottom + bottom
428
+ edgeInsets.left + left,
429
+ edgeInsets.top + top,
430
+ edgeInsets.right + right,
431
+ edgeInsets.bottom + bottom
426
432
  )
427
433
 
428
434
  val cameraUpdate = CameraUpdateFactory.newLatLngBounds(bounds, 0)
@@ -433,7 +439,7 @@ class GoogleMapProvider(private val context: Context) :
433
439
  else -> map.moveCamera(cameraUpdate)
434
440
  }
435
441
 
436
- map.setPadding(padding.left, padding.top, padding.right, padding.bottom)
442
+ map.setPadding(edgeInsets.left, edgeInsets.top, edgeInsets.right, edgeInsets.bottom)
437
443
  }
438
444
 
439
445
  // endregion
@@ -456,8 +462,8 @@ class GoogleMapProvider(private val context: Context) :
456
462
  }
457
463
  }
458
464
 
459
- private fun applyPadding() {
460
- googleMap?.setPadding(padding.left, padding.top, padding.right, padding.bottom)
465
+ private fun applyEdgeInsets() {
466
+ googleMap?.setPadding(edgeInsets.left, edgeInsets.top, edgeInsets.right, edgeInsets.bottom)
461
467
  }
462
468
 
463
469
  private fun applyTheme() {
@@ -478,6 +484,7 @@ class GoogleMapProvider(private val context: Context) :
478
484
  context.checkSelfPermission(android.Manifest.permission.ACCESS_COARSE_LOCATION) ==
479
485
  android.content.pm.PackageManager.PERMISSION_GRANTED
480
486
  googleMap?.isMyLocationEnabled = userLocationEnabled && hasPermission
487
+ googleMap?.uiSettings?.isMyLocationButtonEnabled = myLocationButtonEnabled
481
488
  }
482
489
 
483
490
  // endregion
@@ -25,10 +25,11 @@ interface MapProvider {
25
25
  fun setRotateEnabled(enabled: Boolean)
26
26
  fun setPitchEnabled(enabled: Boolean)
27
27
  fun setUserLocationEnabled(enabled: Boolean)
28
+ fun setMyLocationButtonEnabled(enabled: Boolean)
28
29
  fun setTheme(value: String)
29
30
  fun setMinZoom(zoom: Double)
30
31
  fun setMaxZoom(zoom: Double)
31
- fun setPadding(padding: EdgeInsets)
32
+ fun setEdgeInsets(edgeInsets: EdgeInsets)
32
33
 
33
34
  // Children
34
35
  fun addMarkerView(markerView: LuggMarkerView)
@@ -44,10 +45,10 @@ interface MapProvider {
44
45
  fun moveCamera(latitude: Double, longitude: Double, zoom: Double, duration: Int)
45
46
  fun fitCoordinates(
46
47
  coordinates: List<Any>,
47
- paddingTop: Int,
48
- paddingLeft: Int,
49
- paddingBottom: Int,
50
- paddingRight: Int,
48
+ edgeInsetsTop: Int,
49
+ edgeInsetsLeft: Int,
50
+ edgeInsetsBottom: Int,
51
+ edgeInsetsRight: Int,
51
52
  duration: Int
52
53
  )
53
54
  }
@@ -34,10 +34,11 @@ using namespace luggmaps::events;
34
34
  BOOL _rotateEnabled;
35
35
  BOOL _pitchEnabled;
36
36
  BOOL _userLocationEnabled;
37
- NSString *_theme;
37
+ LuggMapViewTheme _theme;
38
38
  double _minZoom;
39
39
  double _maxZoom;
40
- UIEdgeInsets _padding;
40
+ UIEdgeInsets _edgeInsets;
41
+ UIEdgeInsets _oldEdgeInsets;
41
42
  }
42
43
 
43
44
  + (ComponentDescriptorProvider)componentDescriptorProvider {
@@ -57,8 +58,8 @@ using namespace luggmaps::events;
57
58
  _rotateEnabled = YES;
58
59
  _pitchEnabled = YES;
59
60
  _userLocationEnabled = NO;
60
- _theme = @"system";
61
- _padding = UIEdgeInsetsZero;
61
+ _theme = LuggMapViewTheme::System;
62
+ _edgeInsets = UIEdgeInsetsZero;
62
63
  }
63
64
  return self;
64
65
  }
@@ -154,7 +155,7 @@ using namespace luggmaps::events;
154
155
  initialCoordinate:coordinate
155
156
  initialZoom:viewProps.initialZoom];
156
157
 
157
- [_provider setPadding:_padding oldPadding:UIEdgeInsetsZero];
158
+ [_provider setEdgeInsets:_edgeInsets oldEdgeInsets:UIEdgeInsetsZero];
158
159
 
159
160
  _initialized = YES;
160
161
 
@@ -198,15 +199,13 @@ using namespace luggmaps::events;
198
199
  [_provider setRotateEnabled:_rotateEnabled];
199
200
  [_provider setPitchEnabled:_pitchEnabled];
200
201
  [_provider setUserLocationEnabled:_userLocationEnabled];
201
- [_provider setTheme:_theme];
202
+ [_provider setTheme:(NSInteger)_theme];
202
203
  [_provider setMinZoom:_minZoom];
203
204
  [_provider setMaxZoom:_maxZoom];
204
205
  }
205
206
 
206
207
  - (void)updateProps:(Props::Shared const &)props
207
208
  oldProps:(Props::Shared const &)oldProps {
208
- const auto &oldViewProps =
209
- *std::static_pointer_cast<LuggMapViewProps const>(oldProps);
210
209
  const auto &newViewProps =
211
210
  *std::static_pointer_cast<LuggMapViewProps const>(props);
212
211
 
@@ -218,7 +217,6 @@ using namespace luggmaps::events;
218
217
  _mapId = newMapId;
219
218
  }
220
219
 
221
- // Cache props
222
220
  _zoomEnabled = newViewProps.zoomEnabled;
223
221
  _scrollEnabled = newViewProps.scrollEnabled;
224
222
  _rotateEnabled = newViewProps.rotateEnabled;
@@ -227,25 +225,26 @@ using namespace luggmaps::events;
227
225
  _minZoom = newViewProps.minZoom;
228
226
  _maxZoom = newViewProps.maxZoom;
229
227
 
230
- if (newViewProps.theme == LuggMapViewTheme::Dark) {
231
- _theme = @"dark";
232
- } else if (newViewProps.theme == LuggMapViewTheme::Light) {
233
- _theme = @"light";
234
- } else {
235
- _theme = @"system";
236
- }
228
+ _theme = newViewProps.theme;
229
+
230
+ _oldEdgeInsets = _edgeInsets;
231
+ _edgeInsets = UIEdgeInsetsMake(
232
+ newViewProps.edgeInsets.top, newViewProps.edgeInsets.left,
233
+ newViewProps.edgeInsets.bottom, newViewProps.edgeInsets.right);
237
234
 
238
- UIEdgeInsets oldPadding = _padding;
239
- _padding =
240
- UIEdgeInsetsMake(newViewProps.padding.top, newViewProps.padding.left,
241
- newViewProps.padding.bottom, newViewProps.padding.right);
235
+ [super updateProps:props oldProps:oldProps];
236
+ }
237
+
238
+ - (void)finalizeUpdates:(RNComponentViewUpdateMask)updateMask {
239
+ [super finalizeUpdates:updateMask];
240
+
241
+ if (updateMask & RNComponentViewUpdateMaskProps) {
242
+ if (!_provider)
243
+ return;
242
244
 
243
- if (_provider) {
244
245
  [self applyProps];
245
- [_provider setPadding:_padding oldPadding:oldPadding];
246
+ [_provider setEdgeInsets:_edgeInsets oldEdgeInsets:_oldEdgeInsets];
246
247
  }
247
-
248
- [super updateProps:props oldProps:oldProps];
249
248
  }
250
249
 
251
250
  #pragma mark - Commands
@@ -261,16 +260,16 @@ using namespace luggmaps::events;
261
260
  }
262
261
 
263
262
  - (void)fitCoordinates:(NSArray *)coordinates
264
- paddingTop:(double)paddingTop
265
- paddingLeft:(double)paddingLeft
266
- paddingBottom:(double)paddingBottom
267
- paddingRight:(double)paddingRight
263
+ edgeInsetsTop:(double)edgeInsetsTop
264
+ edgeInsetsLeft:(double)edgeInsetsLeft
265
+ edgeInsetsBottom:(double)edgeInsetsBottom
266
+ edgeInsetsRight:(double)edgeInsetsRight
268
267
  duration:(double)duration {
269
268
  [_provider fitCoordinates:coordinates
270
- paddingTop:paddingTop
271
- paddingLeft:paddingLeft
272
- paddingBottom:paddingBottom
273
- paddingRight:paddingRight
269
+ edgeInsetsTop:edgeInsetsTop
270
+ edgeInsetsLeft:edgeInsetsLeft
271
+ edgeInsetsBottom:edgeInsetsBottom
272
+ edgeInsetsRight:edgeInsetsRight
274
273
  duration:duration];
275
274
  }
276
275
 
@@ -103,13 +103,17 @@
103
103
  _mapView.showsUserLocation = enabled;
104
104
  }
105
105
 
106
- - (void)setTheme:(NSString *)theme {
107
- if ([theme isEqualToString:@"dark"]) {
106
+ - (void)setTheme:(NSInteger)theme {
107
+ switch (theme) {
108
+ case 1: // Dark
108
109
  _mapView.overrideUserInterfaceStyle = UIUserInterfaceStyleDark;
109
- } else if ([theme isEqualToString:@"light"]) {
110
+ break;
111
+ case 0: // Light
110
112
  _mapView.overrideUserInterfaceStyle = UIUserInterfaceStyleLight;
111
- } else {
113
+ break;
114
+ default: // System
112
115
  _mapView.overrideUserInterfaceStyle = UIUserInterfaceStyleUnspecified;
116
+ break;
113
117
  }
114
118
  }
115
119
 
@@ -123,16 +127,17 @@
123
127
  [self applyZoomRange];
124
128
  }
125
129
 
126
- - (void)setPadding:(UIEdgeInsets)padding oldPadding:(UIEdgeInsets)oldPadding {
127
- CGFloat oldOffsetX = (oldPadding.left - oldPadding.right) / 2.0;
128
- CGFloat oldOffsetY = (oldPadding.top - oldPadding.bottom) / 2.0;
129
- CGFloat newOffsetX = (padding.left - padding.right) / 2.0;
130
- CGFloat newOffsetY = (padding.top - padding.bottom) / 2.0;
130
+ - (void)setEdgeInsets:(UIEdgeInsets)edgeInsets
131
+ oldEdgeInsets:(UIEdgeInsets)oldEdgeInsets {
132
+ CGFloat oldOffsetX = (oldEdgeInsets.left - oldEdgeInsets.right) / 2.0;
133
+ CGFloat oldOffsetY = (oldEdgeInsets.top - oldEdgeInsets.bottom) / 2.0;
134
+ CGFloat newOffsetX = (edgeInsets.left - edgeInsets.right) / 2.0;
135
+ CGFloat newOffsetY = (edgeInsets.top - edgeInsets.bottom) / 2.0;
131
136
 
132
137
  CGFloat deltaX = newOffsetX - oldOffsetX;
133
138
  CGFloat deltaY = newOffsetY - oldOffsetY;
134
139
 
135
- _mapView.layoutMargins = padding;
140
+ _mapView.layoutMargins = edgeInsets;
136
141
 
137
142
  if (deltaX != 0 || deltaY != 0) {
138
143
  CLLocationCoordinate2D currentCenter = _mapView.centerCoordinate;
@@ -558,10 +563,10 @@
558
563
  }
559
564
 
560
565
  - (void)fitCoordinates:(NSArray *)coordinates
561
- paddingTop:(double)paddingTop
562
- paddingLeft:(double)paddingLeft
563
- paddingBottom:(double)paddingBottom
564
- paddingRight:(double)paddingRight
566
+ edgeInsetsTop:(double)edgeInsetsTop
567
+ edgeInsetsLeft:(double)edgeInsetsLeft
568
+ edgeInsetsBottom:(double)edgeInsetsBottom
569
+ edgeInsetsRight:(double)edgeInsetsRight
565
570
  duration:(double)duration {
566
571
  if (!_mapView || coordinates.count == 0)
567
572
  return;
@@ -582,20 +587,20 @@
582
587
  }
583
588
  free(coords);
584
589
 
585
- UIEdgeInsets edgePadding =
586
- UIEdgeInsetsMake(paddingTop, paddingLeft, paddingBottom, paddingRight);
590
+ UIEdgeInsets insets = UIEdgeInsetsMake(edgeInsetsTop, edgeInsetsLeft,
591
+ edgeInsetsBottom, edgeInsetsRight);
587
592
 
588
593
  if (duration < 0) {
589
- [_mapView setVisibleMapRect:mapRect edgePadding:edgePadding animated:YES];
594
+ [_mapView setVisibleMapRect:mapRect edgePadding:insets animated:YES];
590
595
  } else if (duration > 0) {
591
596
  [UIView animateWithDuration:duration / 1000.0
592
597
  animations:^{
593
598
  [self->_mapView setVisibleMapRect:mapRect
594
- edgePadding:edgePadding
599
+ edgePadding:insets
595
600
  animated:NO];
596
601
  }];
597
602
  } else {
598
- [_mapView setVisibleMapRect:mapRect edgePadding:edgePadding animated:NO];
603
+ [_mapView setVisibleMapRect:mapRect edgePadding:insets animated:NO];
599
604
  }
600
605
  }
601
606
 
@@ -14,7 +14,8 @@ static NSString *const kDemoMapId = @"DEMO_MAP_ID";
14
14
  GMSMapView *_mapView;
15
15
  BOOL _isMapReady;
16
16
  BOOL _isDragging;
17
- NSString *_theme;
17
+ NSInteger _theme;
18
+ UIEdgeInsets _edgeInsets;
18
19
  NSMutableArray<LuggMarkerView *> *_pendingMarkerViews;
19
20
  NSMutableArray<LuggPolylineView *> *_pendingPolylineViews;
20
21
  NSMapTable<LuggPolylineView *, GMSPolylineAnimator *> *_polylineAnimators;
@@ -116,8 +117,8 @@ static NSString *const kDemoMapId = @"DEMO_MAP_ID";
116
117
  _mapView.myLocationEnabled = enabled;
117
118
  }
118
119
 
119
- - (void)setTheme:(NSString *)theme {
120
- _theme = [theme copy];
120
+ - (void)setTheme:(NSInteger)theme {
121
+ _theme = theme;
121
122
  [self applyTheme];
122
123
  }
123
124
 
@@ -125,12 +126,16 @@ static NSString *const kDemoMapId = @"DEMO_MAP_ID";
125
126
  if (!_mapView)
126
127
  return;
127
128
 
128
- if ([_theme isEqualToString:@"dark"]) {
129
+ switch (_theme) {
130
+ case 1: // Dark
129
131
  _mapView.overrideUserInterfaceStyle = UIUserInterfaceStyleDark;
130
- } else if ([_theme isEqualToString:@"light"]) {
132
+ break;
133
+ case 0: // Light
131
134
  _mapView.overrideUserInterfaceStyle = UIUserInterfaceStyleLight;
132
- } else {
135
+ break;
136
+ default: // System
133
137
  _mapView.overrideUserInterfaceStyle = UIUserInterfaceStyleUnspecified;
138
+ break;
134
139
  }
135
140
  }
136
141
 
@@ -148,8 +153,15 @@ static NSString *const kDemoMapId = @"DEMO_MAP_ID";
148
153
  [_mapView setMinZoom:_mapView.minZoom maxZoom:max];
149
154
  }
150
155
 
151
- - (void)setPadding:(UIEdgeInsets)padding oldPadding:(UIEdgeInsets)oldPadding {
152
- _mapView.padding = padding;
156
+ - (void)setEdgeInsets:(UIEdgeInsets)edgeInsets
157
+ oldEdgeInsets:(UIEdgeInsets)oldEdgeInsets {
158
+ UIEdgeInsets rounded =
159
+ UIEdgeInsetsMake(round(edgeInsets.top), round(edgeInsets.left),
160
+ round(edgeInsets.bottom), round(edgeInsets.right));
161
+ if (UIEdgeInsetsEqualToEdgeInsets(_edgeInsets, rounded))
162
+ return;
163
+ _edgeInsets = rounded;
164
+ _mapView.padding = rounded;
153
165
  }
154
166
 
155
167
  #pragma mark - GMSMapViewDelegate
@@ -410,10 +422,10 @@ static NSString *const kDemoMapId = @"DEMO_MAP_ID";
410
422
  }
411
423
 
412
424
  - (void)fitCoordinates:(NSArray *)coordinates
413
- paddingTop:(double)paddingTop
414
- paddingLeft:(double)paddingLeft
415
- paddingBottom:(double)paddingBottom
416
- paddingRight:(double)paddingRight
425
+ edgeInsetsTop:(double)edgeInsetsTop
426
+ edgeInsetsLeft:(double)edgeInsetsLeft
427
+ edgeInsetsBottom:(double)edgeInsetsBottom
428
+ edgeInsetsRight:(double)edgeInsetsRight
417
429
  duration:(double)duration {
418
430
  if (!_mapView || coordinates.count == 0)
419
431
  return;
@@ -425,10 +437,10 @@ static NSString *const kDemoMapId = @"DEMO_MAP_ID";
425
437
  bounds = [bounds includingCoordinate:CLLocationCoordinate2DMake(lat, lng)];
426
438
  }
427
439
 
428
- UIEdgeInsets edgePadding =
429
- UIEdgeInsetsMake(paddingTop, paddingLeft, paddingBottom, paddingRight);
440
+ UIEdgeInsets insets = UIEdgeInsetsMake(edgeInsetsTop, edgeInsetsLeft,
441
+ edgeInsetsBottom, edgeInsetsRight);
430
442
  GMSCameraUpdate *cameraUpdate = [GMSCameraUpdate fitBounds:bounds
431
- withEdgeInsets:edgePadding];
443
+ withEdgeInsets:insets];
432
444
 
433
445
  if (duration < 0) {
434
446
  [_mapView animateWithCameraUpdate:cameraUpdate];
@@ -34,10 +34,11 @@ NS_ASSUME_NONNULL_BEGIN
34
34
  - (void)setRotateEnabled:(BOOL)enabled;
35
35
  - (void)setPitchEnabled:(BOOL)enabled;
36
36
  - (void)setUserLocationEnabled:(BOOL)enabled;
37
- - (void)setTheme:(NSString *)theme;
37
+ - (void)setTheme:(NSInteger)theme;
38
38
  - (void)setMinZoom:(double)minZoom;
39
39
  - (void)setMaxZoom:(double)maxZoom;
40
- - (void)setPadding:(UIEdgeInsets)padding oldPadding:(UIEdgeInsets)oldPadding;
40
+ - (void)setEdgeInsets:(UIEdgeInsets)edgeInsets
41
+ oldEdgeInsets:(UIEdgeInsets)oldEdgeInsets;
41
42
 
42
43
  // Children
43
44
  - (void)addMarkerView:(LuggMarkerView *)markerView;
@@ -57,10 +58,10 @@ NS_ASSUME_NONNULL_BEGIN
57
58
  zoom:(double)zoom
58
59
  duration:(double)duration;
59
60
  - (void)fitCoordinates:(NSArray *)coordinates
60
- paddingTop:(double)paddingTop
61
- paddingLeft:(double)paddingLeft
62
- paddingBottom:(double)paddingBottom
63
- paddingRight:(double)paddingRight
61
+ edgeInsetsTop:(double)edgeInsetsTop
62
+ edgeInsetsLeft:(double)edgeInsetsLeft
63
+ edgeInsetsBottom:(double)edgeInsetsBottom
64
+ edgeInsetsRight:(double)edgeInsetsRight
64
65
  duration:(double)duration;
65
66
 
66
67
  @end
@@ -30,7 +30,7 @@ export class MapView extends React.Component {
30
30
  const first = coordinates[0];
31
31
  if (!ref || !first) return;
32
32
  const {
33
- padding,
33
+ edgeInsets,
34
34
  duration = -1
35
35
  } = options ?? {};
36
36
  const {
@@ -38,7 +38,7 @@ export class MapView extends React.Component {
38
38
  left = 0,
39
39
  bottom = 0,
40
40
  right = 0
41
- } = padding ?? {};
41
+ } = edgeInsets ?? {};
42
42
  if (coordinates.length === 1) {
43
43
  const zoom = this.props.initialZoom ?? 10;
44
44
  this.moveCamera(first, {
@@ -61,8 +61,9 @@ export class MapView extends React.Component {
61
61
  scrollEnabled,
62
62
  rotateEnabled,
63
63
  pitchEnabled,
64
- padding,
64
+ edgeInsets,
65
65
  userLocationEnabled,
66
+ myLocationButtonEnabled,
66
67
  theme,
67
68
  onCameraMove,
68
69
  onCameraIdle,
@@ -83,8 +84,9 @@ export class MapView extends React.Component {
83
84
  scrollEnabled: scrollEnabled,
84
85
  rotateEnabled: rotateEnabled,
85
86
  pitchEnabled: pitchEnabled,
86
- padding: padding,
87
+ edgeInsets: edgeInsets,
87
88
  userLocationEnabled: userLocationEnabled,
89
+ myLocationButtonEnabled: myLocationButtonEnabled,
88
90
  theme: theme,
89
91
  onCameraMove: onCameraMove,
90
92
  onCameraIdle: onCameraIdle,
@@ -1 +1 @@
1
- {"version":3,"names":["React","Platform","StyleSheet","LuggMapViewNativeComponent","Commands","LuggMapWrapperViewNativeComponent","jsx","_jsx","jsxs","_jsxs","MapView","Component","defaultProps","provider","OS","initialZoom","zoomEnabled","scrollEnabled","rotateEnabled","pitchEnabled","theme","nativeRef","createRef","moveCamera","coordinate","options","ref","current","zoom","duration","latitude","longitude","fitCoordinates","coordinates","first","padding","top","left","bottom","right","length","props","render","mapId","initialCoordinate","minZoom","maxZoom","userLocationEnabled","onCameraMove","onCameraIdle","onReady","children","rest","style","absoluteFill"],"sourceRoot":"../../src","sources":["MapView.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Platform","StyleSheet","LuggMapViewNativeComponent","Commands","LuggMapWrapperViewNativeComponent","jsx","_jsx","jsxs","_jsxs","MapView","Component","defaultProps","provider","OS","initialZoom","zoomEnabled","scrollEnabled","rotateEnabled","pitchEnabled","theme","nativeRef","createRef","moveCamera","coordinate","options","ref","current","zoom","duration","latitude","longitude","fitCoordinates","coordinates","first","edgeInsets","top","left","bottom","right","length","props","render","mapId","initialCoordinate","minZoom","maxZoom","userLocationEnabled","myLocationButtonEnabled","onCameraMove","onCameraIdle","onReady","children","rest","style","absoluteFill"],"sourceRoot":"../../src","sources":["MapView.tsx"],"mappings":"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","ignoreList":[]}
@@ -77,7 +77,7 @@ export const MapView = /*#__PURE__*/forwardRef(function MapView(props, ref) {
77
77
  zoomEnabled = true,
78
78
  scrollEnabled = true,
79
79
  pitchEnabled = true,
80
- padding,
80
+ edgeInsets,
81
81
  userLocationEnabled,
82
82
  theme = 'system',
83
83
  onCameraMove,
@@ -92,9 +92,9 @@ export const MapView = /*#__PURE__*/forwardRef(function MapView(props, ref) {
92
92
  const readyFired = useRef(false);
93
93
  const [isDragging, setIsDragging] = useState(false);
94
94
  const wasGesture = useRef(false);
95
- const prevPadding = useRef(padding);
96
- const offsetCenter = useCallback((coord, zoom, paddingOverride, reverse = false) => {
97
- const p = paddingOverride ?? padding;
95
+ const prevEdgeInsets = useRef(edgeInsets);
96
+ const offsetCenter = useCallback((coord, zoom, edgeInsetsOverride, reverse = false) => {
97
+ const p = edgeInsetsOverride ?? edgeInsets;
98
98
  const div = map?.getDiv();
99
99
  if (!p || !div) {
100
100
  return {
@@ -115,7 +115,7 @@ export const MapView = /*#__PURE__*/forwardRef(function MapView(props, ref) {
115
115
  lat,
116
116
  lng
117
117
  };
118
- }, [map, padding]);
118
+ }, [map, edgeInsets]);
119
119
  useImperativeHandle(ref, () => ({
120
120
  moveCamera(coordinate, options) {
121
121
  if (!map) return;
@@ -143,7 +143,7 @@ export const MapView = /*#__PURE__*/forwardRef(function MapView(props, ref) {
143
143
  const first = coordinates[0];
144
144
  if (!map || !first) return;
145
145
  const {
146
- padding: fitPadding,
146
+ edgeInsets: fitEdgeInsets,
147
147
  duration = -1
148
148
  } = options ?? {};
149
149
  if (coordinates.length === 1) {
@@ -161,13 +161,13 @@ export const MapView = /*#__PURE__*/forwardRef(function MapView(props, ref) {
161
161
  });
162
162
  });
163
163
  map.fitBounds(bounds, {
164
- top: (padding?.top ?? 0) + (fitPadding?.top ?? 0),
165
- left: (padding?.left ?? 0) + (fitPadding?.left ?? 0),
166
- bottom: (padding?.bottom ?? 0) + (fitPadding?.bottom ?? 0),
167
- right: (padding?.right ?? 0) + (fitPadding?.right ?? 0)
164
+ top: (edgeInsets?.top ?? 0) + (fitEdgeInsets?.top ?? 0),
165
+ left: (edgeInsets?.left ?? 0) + (fitEdgeInsets?.left ?? 0),
166
+ bottom: (edgeInsets?.bottom ?? 0) + (fitEdgeInsets?.bottom ?? 0),
167
+ right: (edgeInsets?.right ?? 0) + (fitEdgeInsets?.right ?? 0)
168
168
  });
169
169
  }
170
- }), [map, initialZoom, padding, offsetCenter]);
170
+ }), [map, initialZoom, edgeInsets, offsetCenter]);
171
171
  useEffect(() => {
172
172
  if (map && !readyFired.current) {
173
173
  readyFired.current = true;
@@ -175,10 +175,10 @@ export const MapView = /*#__PURE__*/forwardRef(function MapView(props, ref) {
175
175
  }
176
176
  }, [map, onReady]);
177
177
  useEffect(() => {
178
- if (!map || !padding) return;
179
- const prev = prevPadding.current;
180
- const paddingChanged = prev?.top !== padding.top || prev?.left !== padding.left || prev?.bottom !== padding.bottom || prev?.right !== padding.right;
181
- if (paddingChanged) {
178
+ if (!map || !edgeInsets) return;
179
+ const prev = prevEdgeInsets.current;
180
+ const changed = prev?.top !== edgeInsets.top || prev?.left !== edgeInsets.left || prev?.bottom !== edgeInsets.bottom || prev?.right !== edgeInsets.right;
181
+ if (changed) {
182
182
  const center = map.getCenter();
183
183
  const zoom = map.getZoom() ?? initialZoom;
184
184
  if (center) {
@@ -189,12 +189,12 @@ export const MapView = /*#__PURE__*/forwardRef(function MapView(props, ref) {
189
189
  const newCenter = offsetCenter({
190
190
  latitude: logicalCenter.lat,
191
191
  longitude: logicalCenter.lng
192
- }, zoom, padding, false);
192
+ }, zoom, edgeInsets, false);
193
193
  map.panTo(newCenter);
194
194
  }
195
- prevPadding.current = padding;
195
+ prevEdgeInsets.current = edgeInsets;
196
196
  }
197
- }, [map, padding, initialZoom, offsetCenter]);
197
+ }, [map, edgeInsets, initialZoom, offsetCenter]);
198
198
  const handleDragStart = () => {
199
199
  setIsDragging(true);
200
200
  wasGesture.current = true;
@@ -1 +1 @@
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","google","maps","DEMO_MAP_ID","initialCoordinate","initialZoom","minZoom","maxZoom","zoomEnabled","scrollEnabled","pitchEnabled","padding","userLocationEnabled","theme","onCameraMove","onCameraIdle","onReady","id","map","containerRef","readyFired","isDragging","setIsDragging","wasGesture","prevPadding","offsetCenter","coord","zoom","paddingOverride","reverse","p","div","getDiv","lat","lng","dir","scale","Math","pow","offsetX","right","left","offsetY","bottom","top","latRad","PI","log","tan","cos","atan","sinh","moveCamera","options","duration","targetZoom","getZoom","center","undefined","currentZoom","zoomChanged","setZoom","panTo","fitCoordinates","coordinates","first","fitPadding","length","bounds","LatLngBounds","forEach","extend","fitBounds","current","prev","paddingChanged","getCenter","logicalCenter","newCenter","handleDragStart","handleDragEnd","handleCameraChanged","event","detail","payload","gesture","handleIdle","gestureHandling","colorScheme","DARK","LIGHT","FOLLOW_SYSTEM","defaultCenter","Provider","value","defaultZoom","disableDefaultUI","isFractionalZoomEnabled","tilt","onDragstart","onDragend","onCameraChanged","onIdle"],"sourceRoot":"../../src","sources":["MapView.web.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["forwardRef","useCallback","useEffect","useId","useImperativeHandle","useRef","useState","View","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","google","maps","DEMO_MAP_ID","initialCoordinate","initialZoom","minZoom","maxZoom","zoomEnabled","scrollEnabled","pitchEnabled","edgeInsets","userLocationEnabled","theme","onCameraMove","onCameraIdle","onReady","id","map","containerRef","readyFired","isDragging","setIsDragging","wasGesture","prevEdgeInsets","offsetCenter","coord","zoom","edgeInsetsOverride","reverse","p","div","getDiv","lat","lng","dir","scale","Math","pow","offsetX","right","left","offsetY","bottom","top","latRad","PI","log","tan","cos","atan","sinh","moveCamera","options","duration","targetZoom","getZoom","center","undefined","currentZoom","zoomChanged","setZoom","panTo","fitCoordinates","coordinates","first","fitEdgeInsets","length","bounds","LatLngBounds","forEach","extend","fitBounds","current","prev","changed","getCenter","logicalCenter","newCenter","handleDragStart","handleDragEnd","handleCameraChanged","event","detail","payload","gesture","handleIdle","gestureHandling","colorScheme","DARK","LIGHT","FOLLOW_SYSTEM","defaultCenter","Provider","value","defaultZoom","disableDefaultUI","isFractionalZoomEnabled","tilt","onDragstart","onDragend","onCameraChanged","onIdle"],"sourceRoot":"../../src","sources":["MapView.web.tsx"],"mappings":";;AAAA,SACEA,UAAU,EACVC,WAAW,EACXC,SAAS,EACTC,KAAK,EACLC,mBAAmB,EACnBC,MAAM,EACNC,QAAQ,QAEH,OAAO;AAEd,SAASC,IAAI,QAAQ,cAAc;AACnC,SACEC,WAAW,EACXC,GAAG,EACHC,MAAM,QAGD,2BAA2B;AAClC,SAASC,MAAM,QAAQ,4BAAyB;AAChD,SAASC,UAAU,QAAQ,sBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAW/C,MAAMC,oBAAoB,GAAQC,WAAc,KAC7C;EACCA,WAAW;EACXC,aAAa,EAAE,IAAI;EACnBC,MAAM,EAAE,IAAI;EACZC,OAAO,EAAE,KAAK;EACdC,UAAU,EAAE,KAAK;EACjBC,gBAAgB,EAAE,KAAK;EACvBC,UAAU,EAAE,CAAC;EACbC,SAAS,EAAE,IAAI;EACfC,cAAc,EAAEA,CAAA,KAAM,CAAC,CAAC;EACxBC,eAAe,EAAEA,CAAA,KAAM,CAAC,CAAC;EACzBC,kBAAkB,EAAEA,CAAA,KAAM,KAAK;EAC/BC,oBAAoB,EAAEA,CAAA,KAAM,KAAK;EACjCC,OAAO,EAAEA,CAAA,KAAM,CAAC,CAAC;EACjBC,SAAS,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC;EACrBC,IAAI,EAAE;AACR,CAAC,CAAuC;AAE1C,MAAMC,oBAAmC,GAAG;EAC1CC,KAAK,EAAE,EAAE;EACTC,MAAM,EAAE,EAAE;EACVC,eAAe,EAAE,SAAS;EAC1BC,MAAM,EAAE,iBAAiB;EACzBC,YAAY,EAAE,KAAK;EACnBC,SAAS,EAAE;AACb,CAAC;AAED,SAASC,kBAAkBA,CAAC;EAAEC;AAA+B,CAAC,EAAE;EAC9D,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAGvC,QAAQ,CAAoB,IAAI,CAAC;EAErEJ,SAAS,CAAC,MAAM;IACd,IAAI,CAACyC,OAAO,EAAE;MACZE,aAAa,CAAC,IAAI,CAAC;MACnB;IACF;IAEA,IAAIC,OAAsB,GAAG,IAAI;IAEjC,MAAMC,cAAc,GAAIC,QAA6B,IAAK;MACxDH,aAAa,CAAC;QACZI,QAAQ,EAAED,QAAQ,CAACE,MAAM,CAACD,QAAQ;QAClCE,SAAS,EAAEH,QAAQ,CAACE,MAAM,CAACC;MAC7B,CAAC,CAAC;IACJ,CAAC;IAEDC,SAAS,CAACC,WAAW,CAACC,kBAAkB,CAACP,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;IAClED,OAAO,GAAGM,SAAS,CAACC,WAAW,CAACE,aAAa,CAACR,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;IAEvE,OAAO,MAAM;MACX,IAAID,OAAO,KAAK,IAAI,EAAE;QACpBM,SAAS,CAACC,WAAW,CAACG,UAAU,CAACV,OAAO,CAAC;MAC3C;IACF,CAAC;EACH,CAAC,EAAE,CAACH,OAAO,CAAC,CAAC;EAEb,IAAI,CAACC,UAAU,EAAE,OAAO,IAAI;EAE5B,oBACE9B,IAAA,CAACH,MAAM;IAACiC,UAAU,EAAEA,UAAW;IAACa,MAAM,EAAE;MAAEC,CAAC,EAAE,GAAG;MAAEC,CAAC,EAAE;IAAI,CAAE;IAAAC,QAAA,eACzD9C,IAAA;MAAK+C,KAAK,EAAE1B;IAAqB,CAAE;EAAC,CAC9B,CAAC;AAEb;AAEA,OAAO,MAAM2B,OAAO,gBAAG9D,UAAU,CAA2B,SAAS8D,OAAOA,CAC1EC,KAAK,EACLC,GAAG,EACH;EACA,MAAM;IACJC,KAAK,GAAGC,MAAM,CAACC,IAAI,CAAC1D,GAAG,CAAC2D,WAAW;IACnCC,iBAAiB;IACjBC,WAAW,GAAG,EAAE;IAChBC,OAAO;IACPC,OAAO;IACPC,WAAW,GAAG,IAAI;IAClBC,aAAa,GAAG,IAAI;IACpBC,YAAY,GAAG,IAAI;IACnBC,UAAU;IACVC,mBAAmB;IACnBC,KAAK,GAAG,QAAQ;IAChBC,YAAY;IACZC,YAAY;IACZC,OAAO;IACPrB,QAAQ;IACRC;EACF,CAAC,GAAGE,KAAK;EAET,MAAMmB,EAAE,GAAG/E,KAAK,CAAC,CAAC;EAClB,MAAMgF,GAAG,GAAGzE,MAAM,CAACwE,EAAE,CAAC;EACtB,MAAME,YAAY,GAAG/E,MAAM,CAAO,IAAI,CAAC;EACvC,MAAMgF,UAAU,GAAGhF,MAAM,CAAC,KAAK,CAAC;EAChC,MAAM,CAACiF,UAAU,EAAEC,aAAa,CAAC,GAAGjF,QAAQ,CAAC,KAAK,CAAC;EACnD,MAAMkF,UAAU,GAAGnF,MAAM,CAAC,KAAK,CAAC;EAChC,MAAMoF,cAAc,GAAGpF,MAAM,CAACuE,UAAU,CAAC;EAEzC,MAAMc,YAAY,GAAGzF,WAAW,CAC9B,CACE0F,KAAiB,EACjBC,IAAY,EACZC,kBAAsC,EACtCC,OAAO,GAAG,KAAK,KACZ;IACH,MAAMC,CAAC,GAAGF,kBAAkB,IAAIjB,UAAU;IAC1C,MAAMoB,GAAG,GAAGb,GAAG,EAAEc,MAAM,CAAC,CAAC;IACzB,IAAI,CAACF,CAAC,IAAI,CAACC,GAAG,EAAE;MACd,OAAO;QAAEE,GAAG,EAAEP,KAAK,CAAC1C,QAAQ;QAAEkD,GAAG,EAAER,KAAK,CAACxC;MAAU,CAAC;IACtD;IAEA,MAAMiD,GAAG,GAAGN,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC;IAC5B,MAAMO,KAAK,GAAG,GAAG,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEX,IAAI,CAAC;IACrC,MAAMY,OAAO,GAAIJ,GAAG,IAAI,CAACL,CAAC,CAACU,KAAK,IAAI,CAAC,KAAKV,CAAC,CAACW,IAAI,IAAI,CAAC,CAAC,CAAC,GAAI,CAAC;IAC5D,MAAMC,OAAO,GAAIP,GAAG,IAAI,CAACL,CAAC,CAACa,MAAM,IAAI,CAAC,KAAKb,CAAC,CAACc,GAAG,IAAI,CAAC,CAAC,CAAC,GAAI,CAAC;IAE5D,MAAMC,MAAM,GAAInB,KAAK,CAAC1C,QAAQ,GAAGqD,IAAI,CAACS,EAAE,GAAI,GAAG;IAC/C,MAAMrD,CAAC,GAAI,CAACiC,KAAK,CAACxC,SAAS,GAAG,GAAG,IAAI,GAAG,GAAIkD,KAAK,GAAGG,OAAO;IAC3D,MAAM7C,CAAC,GACJ,CAAC,CAAC,GAAG2C,IAAI,CAACU,GAAG,CAACV,IAAI,CAACW,GAAG,CAACH,MAAM,CAAC,GAAG,CAAC,GAAGR,IAAI,CAACY,GAAG,CAACJ,MAAM,CAAC,CAAC,GAAGR,IAAI,CAACS,EAAE,IAC/D,CAAC,GACDV,KAAK,GACPM,OAAO;IAET,MAAMR,GAAG,GAAIzC,CAAC,GAAG2C,KAAK,GAAI,GAAG,GAAG,GAAG;IACnC,MAAMH,GAAG,GACNI,IAAI,CAACa,IAAI,CAACb,IAAI,CAACc,IAAI,CAACd,IAAI,CAACS,EAAE,IAAI,CAAC,GAAI,CAAC,GAAGpD,CAAC,GAAI0C,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,GAAIC,IAAI,CAACS,EAAE;IAEzE,OAAO;MAAEb,GAAG;MAAEC;IAAI,CAAC;EACrB,CAAC,EACD,CAAChB,GAAG,EAAEP,UAAU,CAClB,CAAC;EAEDxE,mBAAmB,CACjB4D,GAAG,EACH,OAAO;IACLqD,UAAUA,CAACzE,UAAsB,EAAE0E,OAA2B,EAAE;MAC9D,IAAI,CAACnC,GAAG,EAAE;MAEV,MAAM;QAAES,IAAI,GAAG,CAAC;QAAE2B,QAAQ,GAAG,CAAC;MAAE,CAAC,GAAGD,OAAO,IAAI,CAAC,CAAC;MACjD,MAAME,UAAU,GAAG5B,IAAI,IAAIT,GAAG,CAACsC,OAAO,CAAC,CAAC,IAAInD,WAAW;MACvD,MAAMoD,MAAM,GAAGhC,YAAY,CAAC9C,UAAU,EAAE4E,UAAU,EAAEG,SAAS,EAAE,KAAK,CAAC;MAErE,IAAIJ,QAAQ,KAAK,CAAC,EAAE;QAClBpC,GAAG,CAACkC,UAAU,CAAC;UAAEK,MAAM;UAAE9B,IAAI,EAAE4B;QAAW,CAAC,CAAC;MAC9C,CAAC,MAAM;QACL,MAAMI,WAAW,GAAGzC,GAAG,CAACsC,OAAO,CAAC,CAAC;QACjC,MAAMI,WAAW,GAAGjC,IAAI,KAAK,CAAC,IAAIA,IAAI,KAAKgC,WAAW;QAEtD,IAAIC,WAAW,EAAE;UACf1C,GAAG,CAAC2C,OAAO,CAAClC,IAAI,CAAC;QACnB;QACAT,GAAG,CAAC4C,KAAK,CAACL,MAAM,CAAC;MACnB;IACF,CAAC;IAEDM,cAAcA,CACZC,WAAyB,EACzBX,OAA+B,EAC/B;MACA,MAAMY,KAAK,GAAGD,WAAW,CAAC,CAAC,CAAC;MAC5B,IAAI,CAAC9C,GAAG,IAAI,CAAC+C,KAAK,EAAE;MAEpB,MAAM;QAAEtD,UAAU,EAAEuD,aAAa;QAAEZ,QAAQ,GAAG,CAAC;MAAE,CAAC,GAAGD,OAAO,IAAI,CAAC,CAAC;MAElE,IAAIW,WAAW,CAACG,MAAM,KAAK,CAAC,EAAE;QAC5B,IAAI,CAACf,UAAU,CAACa,KAAK,EAAE;UAAEtC,IAAI,EAAEtB,WAAW;UAAEiD;QAAS,CAAC,CAAC;QACvD;MACF;MAEA,MAAMc,MAAM,GAAG,IAAInE,MAAM,CAACC,IAAI,CAACmE,YAAY,CAAC,CAAC;MAC7CL,WAAW,CAACM,OAAO,CAAE5C,KAAK,IAAK;QAC7B0C,MAAM,CAACG,MAAM,CAAC;UAAEtC,GAAG,EAAEP,KAAK,CAAC1C,QAAQ;UAAEkD,GAAG,EAAER,KAAK,CAACxC;QAAU,CAAC,CAAC;MAC9D,CAAC,CAAC;MAEFgC,GAAG,CAACsD,SAAS,CAACJ,MAAM,EAAE;QACpBxB,GAAG,EAAE,CAACjC,UAAU,EAAEiC,GAAG,IAAI,CAAC,KAAKsB,aAAa,EAAEtB,GAAG,IAAI,CAAC,CAAC;QACvDH,IAAI,EAAE,CAAC9B,UAAU,EAAE8B,IAAI,IAAI,CAAC,KAAKyB,aAAa,EAAEzB,IAAI,IAAI,CAAC,CAAC;QAC1DE,MAAM,EAAE,CAAChC,UAAU,EAAEgC,MAAM,IAAI,CAAC,KAAKuB,aAAa,EAAEvB,MAAM,IAAI,CAAC,CAAC;QAChEH,KAAK,EAAE,CAAC7B,UAAU,EAAE6B,KAAK,IAAI,CAAC,KAAK0B,aAAa,EAAE1B,KAAK,IAAI,CAAC;MAC9D,CAAC,CAAC;IACJ;EACF,CAAC,CAAC,EACF,CAACtB,GAAG,EAAEb,WAAW,EAAEM,UAAU,EAAEc,YAAY,CAC7C,CAAC;EAEDxF,SAAS,CAAC,MAAM;IACd,IAAIiF,GAAG,IAAI,CAACE,UAAU,CAACqD,OAAO,EAAE;MAC9BrD,UAAU,CAACqD,OAAO,GAAG,IAAI;MACzBzD,OAAO,GAAG,CAAC;IACb;EACF,CAAC,EAAE,CAACE,GAAG,EAAEF,OAAO,CAAC,CAAC;EAElB/E,SAAS,CAAC,MAAM;IACd,IAAI,CAACiF,GAAG,IAAI,CAACP,UAAU,EAAE;IAEzB,MAAM+D,IAAI,GAAGlD,cAAc,CAACiD,OAAO;IACnC,MAAME,OAAO,GACXD,IAAI,EAAE9B,GAAG,KAAKjC,UAAU,CAACiC,GAAG,IAC5B8B,IAAI,EAAEjC,IAAI,KAAK9B,UAAU,CAAC8B,IAAI,IAC9BiC,IAAI,EAAE/B,MAAM,KAAKhC,UAAU,CAACgC,MAAM,IAClC+B,IAAI,EAAElC,KAAK,KAAK7B,UAAU,CAAC6B,KAAK;IAElC,IAAImC,OAAO,EAAE;MACX,MAAMlB,MAAM,GAAGvC,GAAG,CAAC0D,SAAS,CAAC,CAAC;MAC9B,MAAMjD,IAAI,GAAGT,GAAG,CAACsC,OAAO,CAAC,CAAC,IAAInD,WAAW;MACzC,IAAIoD,MAAM,EAAE;QACV,MAAMoB,aAAa,GAAGpD,YAAY,CAChC;UAAEzC,QAAQ,EAAEyE,MAAM,CAACxB,GAAG,CAAC,CAAC;UAAE/C,SAAS,EAAEuE,MAAM,CAACvB,GAAG,CAAC;QAAE,CAAC,EACnDP,IAAI,EACJ+C,IAAI,EACJ,IACF,CAAC;QACD,MAAMI,SAAS,GAAGrD,YAAY,CAC5B;UAAEzC,QAAQ,EAAE6F,aAAa,CAAC5C,GAAG;UAAE/C,SAAS,EAAE2F,aAAa,CAAC3C;QAAI,CAAC,EAC7DP,IAAI,EACJhB,UAAU,EACV,KACF,CAAC;QACDO,GAAG,CAAC4C,KAAK,CAACgB,SAAS,CAAC;MACtB;MACAtD,cAAc,CAACiD,OAAO,GAAG9D,UAAU;IACrC;EACF,CAAC,EAAE,CAACO,GAAG,EAAEP,UAAU,EAAEN,WAAW,EAAEoB,YAAY,CAAC,CAAC;EAEhD,MAAMsD,eAAe,GAAGA,CAAA,KAAM;IAC5BzD,aAAa,CAAC,IAAI,CAAC;IACnBC,UAAU,CAACkD,OAAO,GAAG,IAAI;EAC3B,CAAC;EAED,MAAMO,aAAa,GAAGA,CAAA,KAAM;IAC1B1D,aAAa,CAAC,KAAK,CAAC;EACtB,CAAC;EAED,MAAM2D,mBAAmB,GAAIC,KAA4B,IAAK;IAC5D,MAAML,aAAa,GAAGpD,YAAY,CAChC;MAAEzC,QAAQ,EAAEkG,KAAK,CAACC,MAAM,CAAC1B,MAAM,CAACxB,GAAG;MAAE/C,SAAS,EAAEgG,KAAK,CAACC,MAAM,CAAC1B,MAAM,CAACvB;IAAI,CAAC,EACzEgD,KAAK,CAACC,MAAM,CAACxD,IAAI,EACjB+B,SAAS,EACT,IACF,CAAC;IACD,MAAM0B,OAA2B,GAAG;MAClCzG,UAAU,EAAE;QACVK,QAAQ,EAAE6F,aAAa,CAAC5C,GAAG;QAC3B/C,SAAS,EAAE2F,aAAa,CAAC3C;MAC3B,CAAC;MACDP,IAAI,EAAEuD,KAAK,CAACC,MAAM,CAACxD,IAAI;MACvB0D,OAAO,EAAEhE;IACX,CAAC;IACDP,YAAY,GAAG9D,oBAAoB,CAACoI,OAAO,CAAC,CAAC;EAC/C,CAAC;EAED,MAAME,UAAU,GAAIJ,KAAe,IAAK;IACtC,MAAMzB,MAAM,GAAGyB,KAAK,CAAChE,GAAG,CAAC0D,SAAS,CAAC,CAAC;IACpC,MAAMjD,IAAI,GAAGuD,KAAK,CAAChE,GAAG,CAACsC,OAAO,CAAC,CAAC,IAAI,CAAC;IACrC,MAAMqB,aAAa,GAAGpD,YAAY,CAChC;MAAEzC,QAAQ,EAAEyE,MAAM,EAAExB,GAAG,CAAC,CAAC,IAAI,CAAC;MAAE/C,SAAS,EAAEuE,MAAM,EAAEvB,GAAG,CAAC,CAAC,IAAI;IAAE,CAAC,EAC/DP,IAAI,EACJ+B,SAAS,EACT,IACF,CAAC;IACD,MAAM0B,OAA2B,GAAG;MAClCzG,UAAU,EAAE;QACVK,QAAQ,EAAE6F,aAAa,CAAC5C,GAAG;QAC3B/C,SAAS,EAAE2F,aAAa,CAAC3C;MAC3B,CAAC;MACDP,IAAI;MACJ0D,OAAO,EAAE9D,UAAU,CAACkD;IACtB,CAAC;IACD1D,YAAY,GAAG/D,oBAAoB,CAACoI,OAAO,CAAC,CAAC;IAC7C7D,UAAU,CAACkD,OAAO,GAAG,KAAK;EAC5B,CAAC;EAED,MAAMc,eAAe,GACnB9E,aAAa,KAAK,KAAK,IAAID,WAAW,KAAK,KAAK,GAC5C,MAAM,GACNC,aAAa,KAAK,KAAK,GACvB,aAAa,GACb,MAAM;EAEZ,MAAM+E,WAAW,GACf3E,KAAK,KAAK,MAAM,GACZtE,WAAW,CAACkJ,IAAI,GAChB5E,KAAK,KAAK,OAAO,GACjBtE,WAAW,CAACmJ,KAAK,GACjBnJ,WAAW,CAACoJ,aAAa;EAE/B,MAAMC,aAAa,GAAGxF,iBAAiB,GACnC;IAAE6B,GAAG,EAAE7B,iBAAiB,CAACpB,QAAQ;IAAEkD,GAAG,EAAE9B,iBAAiB,CAAClB;EAAU,CAAC,GACrEwE,SAAS;EAEb,oBACE7G,IAAA,CAACF,UAAU,CAACkJ,QAAQ;IAACC,KAAK,EAAE;MAAE5E,GAAG;MAAEG;IAAW,CAAE;IAAA1B,QAAA,eAC9C9C,IAAA,CAACP,IAAI;MAACyD,GAAG,EAAEoB,YAAa;MAACvB,KAAK,EAAEA,KAAM;MAAAD,QAAA,eACpC5C,KAAA,CAACP,GAAG;QACFyE,EAAE,EAAEA,EAAG;QACPjB,KAAK,EAAEA,KAAM;QACb4F,aAAa,EAAEA,aAAc;QAC7BG,WAAW,EAAE1F,WAAY;QACzBC,OAAO,EAAEA,OAAQ;QACjBC,OAAO,EAAEA,OAAQ;QACjBgF,eAAe,EAAEA,eAAgB;QACjCC,WAAW,EAAEA,WAAY;QACzBQ,gBAAgB;QAChBC,uBAAuB;QACvBC,IAAI,EAAExF,YAAY,KAAK,KAAK,GAAG,CAAC,GAAGgD,SAAU;QAC7CyC,WAAW,EAAEpB,eAAgB;QAC7BqB,SAAS,EAAEpB,aAAc;QACzBqB,eAAe,EAAEpB,mBAAoB;QACrCqB,MAAM,EAAEhB,UAAW;QAAA3F,QAAA,gBAEnB9C,IAAA,CAAC4B,kBAAkB;UAACC,OAAO,EAAEkC;QAAoB,CAAE,CAAC,EACnDjB,QAAQ;MAAA,CACN;IAAC,CACF;EAAC,CACY,CAAC;AAE1B,CAAC,CAAC","ignoreList":[]}
@@ -49,8 +49,9 @@ export interface NativeProps extends ViewProps {
49
49
  scrollEnabled?: boolean;
50
50
  rotateEnabled?: boolean;
51
51
  pitchEnabled?: boolean;
52
- padding?: EdgeInsets;
52
+ edgeInsets?: EdgeInsets;
53
53
  userLocationEnabled?: boolean;
54
+ myLocationButtonEnabled?: boolean;
54
55
  theme?: WithDefault<'light' | 'dark' | 'system', 'system'>;
55
56
  onCameraMove?: DirectEventHandler<CameraMoveEvent>;
56
57
  onCameraIdle?: DirectEventHandler<CameraIdleEvent>;
@@ -70,10 +71,10 @@ interface NativeCommands {
70
71
  fitCoordinates: (
71
72
  viewRef: React.ElementRef<ComponentType>,
72
73
  coordinates: Coordinate[],
73
- paddingTop: Double,
74
- paddingLeft: Double,
75
- paddingBottom: Double,
76
- paddingRight: Double,
74
+ edgeInsetsTop: Double,
75
+ edgeInsetsLeft: Double,
76
+ edgeInsetsBottom: Double,
77
+ edgeInsetsRight: Double,
77
78
  duration: Double
78
79
  ) => void;
79
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MapView.d.ts","sourceRoot":"","sources":["../../../src/MapView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,qBAAa,OACX,SAAQ,KAAK,CAAC,SAAS,CAAC,YAAY,CACpC,YAAW,UAAU;IAErB,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,CAQxC;IAEF,OAAO,CAAC,SAAS,CAA0B;IAE3C,UAAU,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,iBAAiB;IAc9D,cAAc,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,EAAE,qBAAqB;IAyBzE,MAAM;CAgDP"}
1
+ {"version":3,"file":"MapView.d.ts","sourceRoot":"","sources":["../../../src/MapView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,qBAAa,OACX,SAAQ,KAAK,CAAC,SAAS,CAAC,YAAY,CACpC,YAAW,UAAU;IAErB,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,CAQxC;IAEF,OAAO,CAAC,SAAS,CAA0B;IAE3C,UAAU,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,iBAAiB;IAc9D,cAAc,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,EAAE,qBAAqB;IAyBzE,MAAM;CAkDP"}
@@ -3,7 +3,6 @@ import type { NativeSyntheticEvent, ViewProps } from 'react-native';
3
3
  import type { MapProvider, Coordinate, EdgeInsets, MapTheme } from './types';
4
4
  /**
5
5
  * Options for moving the camera
6
- * @default duration -1
7
6
  */
8
7
  export interface MoveCameraOptions {
9
8
  zoom?: number;
@@ -11,10 +10,9 @@ export interface MoveCameraOptions {
11
10
  }
12
11
  /**
13
12
  * Options for fitting coordinates in view
14
- * @default duration -1
15
13
  */
16
14
  export interface FitCoordinatesOptions {
17
- padding?: EdgeInsets;
15
+ edgeInsets?: EdgeInsets;
18
16
  duration?: number;
19
17
  }
20
18
  /**
@@ -83,15 +81,21 @@ export interface MapViewProps extends ViewProps {
83
81
  */
84
82
  pitchEnabled?: boolean;
85
83
  /**
86
- * Map content padding
84
+ * Map content edge insets
87
85
  */
88
- padding?: EdgeInsets;
86
+ edgeInsets?: EdgeInsets;
89
87
  /**
90
88
  * Show current user location on the map.
91
89
  * Requires location permission to be granted, otherwise silently ignored.
92
90
  * @default false
93
91
  */
94
92
  userLocationEnabled?: boolean;
93
+ /**
94
+ * Show native my-location button when userLocationEnabled is true (Android only).
95
+ * @default false
96
+ * @platform android
97
+ */
98
+ myLocationButtonEnabled?: boolean;
95
99
  /**
96
100
  * Map color theme
97
101
  * @default 'system'
@@ -1 +1 @@
1
- {"version":3,"file":"MapView.types.d.ts","sourceRoot":"","sources":["../../../src/MapView.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE7E;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACtE,cAAc,CACZ,WAAW,EAAE,UAAU,EAAE,EACzB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,IAAI,CAAC;CACT;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,SAAS;IAC7C;;;OAGG;IACH,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;OAGG;IACH,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,IAAI,CAAC;IACzE;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,IAAI,CAAC;IACzE;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB"}
1
+ {"version":3,"file":"MapView.types.d.ts","sourceRoot":"","sources":["../../../src/MapView.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE7E;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACtE,cAAc,CACZ,WAAW,EAAE,UAAU,EAAE,EACzB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,IAAI,CAAC;CACT;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,SAAS;IAC7C;;;OAGG;IACH,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;;OAGG;IACH,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,IAAI,CAAC;IACzE;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,IAAI,CAAC;IACzE;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB"}
@@ -39,8 +39,9 @@ export interface NativeProps extends ViewProps {
39
39
  scrollEnabled?: boolean;
40
40
  rotateEnabled?: boolean;
41
41
  pitchEnabled?: boolean;
42
- padding?: EdgeInsets;
42
+ edgeInsets?: EdgeInsets;
43
43
  userLocationEnabled?: boolean;
44
+ myLocationButtonEnabled?: boolean;
44
45
  theme?: WithDefault<'light' | 'dark' | 'system', 'system'>;
45
46
  onCameraMove?: DirectEventHandler<CameraMoveEvent>;
46
47
  onCameraIdle?: DirectEventHandler<CameraIdleEvent>;
@@ -49,7 +50,7 @@ export interface NativeProps extends ViewProps {
49
50
  type ComponentType = HostComponent<NativeProps>;
50
51
  interface NativeCommands {
51
52
  moveCamera: (viewRef: React.ElementRef<ComponentType>, latitude: Double, longitude: Double, zoom: Double, duration: Double) => void;
52
- fitCoordinates: (viewRef: React.ElementRef<ComponentType>, coordinates: Coordinate[], paddingTop: Double, paddingLeft: Double, paddingBottom: Double, paddingRight: Double, duration: Double) => void;
53
+ fitCoordinates: (viewRef: React.ElementRef<ComponentType>, coordinates: Coordinate[], edgeInsetsTop: Double, edgeInsetsLeft: Double, edgeInsetsBottom: Double, edgeInsetsRight: Double, duration: Double) => void;
53
54
  }
54
55
  export declare const Commands: NativeCommands;
55
56
  declare const _default: ComponentType;
@@ -1 +1 @@
1
- {"version":3,"file":"LuggMapViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/fabric/LuggMapViewNativeComponent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,KAAK,EACV,MAAM,EACN,WAAW,EACX,kBAAkB,EACnB,MAAM,2CAA2C,CAAC;AAEnD,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;CAAG;AAE9B,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,QAAQ,CAAC,EAAE,WAAW,CAAC,QAAQ,GAAG,OAAO,EAAE,QAAQ,CAAC,CAAC;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,KAAK,CAAC,EAAE,WAAW,CAAC,OAAO,GAAG,MAAM,GAAG,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC3D,YAAY,CAAC,EAAE,kBAAkB,CAAC,eAAe,CAAC,CAAC;IACnD,YAAY,CAAC,EAAE,kBAAkB,CAAC,eAAe,CAAC,CAAC;IACnD,OAAO,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;CAC1C;AAED,KAAK,aAAa,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;AAEhD,UAAU,cAAc;IACtB,UAAU,EAAE,CACV,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,EACxC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,KACb,IAAI,CAAC;IACV,cAAc,EAAE,CACd,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,EACxC,WAAW,EAAE,UAAU,EAAE,EACzB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,KACb,IAAI,CAAC;CACX;AAED,eAAO,MAAM,QAAQ,gBAEnB,CAAC;wBAIE,aAAa;AAFlB,wBAEmB"}
1
+ {"version":3,"file":"LuggMapViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/fabric/LuggMapViewNativeComponent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,KAAK,EACV,MAAM,EACN,WAAW,EACX,kBAAkB,EACnB,MAAM,2CAA2C,CAAC;AAEnD,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;CAAG;AAE9B,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,QAAQ,CAAC,EAAE,WAAW,CAAC,QAAQ,GAAG,OAAO,EAAE,QAAQ,CAAC,CAAC;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,KAAK,CAAC,EAAE,WAAW,CAAC,OAAO,GAAG,MAAM,GAAG,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC3D,YAAY,CAAC,EAAE,kBAAkB,CAAC,eAAe,CAAC,CAAC;IACnD,YAAY,CAAC,EAAE,kBAAkB,CAAC,eAAe,CAAC,CAAC;IACnD,OAAO,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;CAC1C;AAED,KAAK,aAAa,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;AAEhD,UAAU,cAAc;IACtB,UAAU,EAAE,CACV,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,EACxC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,KACb,IAAI,CAAC;IACV,cAAc,EAAE,CACd,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,EACxC,WAAW,EAAE,UAAU,EAAE,EACzB,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,EACtB,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,KACb,IAAI,CAAC;CACX;AAED,eAAO,MAAM,QAAQ,gBAEnB,CAAC;wBAIE,aAAa;AAFlB,wBAEmB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lugg/maps",
3
- "version": "0.2.0-alpha.24",
3
+ "version": "0.2.0-alpha.26",
4
4
  "description": "Universal maps for React Native.",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
package/src/MapView.tsx CHANGED
@@ -47,8 +47,8 @@ export class MapView
47
47
  const first = coordinates[0];
48
48
  if (!ref || !first) return;
49
49
 
50
- const { padding, duration = -1 } = options ?? {};
51
- const { top = 0, left = 0, bottom = 0, right = 0 } = padding ?? {};
50
+ const { edgeInsets, duration = -1 } = options ?? {};
51
+ const { top = 0, left = 0, bottom = 0, right = 0 } = edgeInsets ?? {};
52
52
 
53
53
  if (coordinates.length === 1) {
54
54
  const zoom = this.props.initialZoom ?? 10;
@@ -79,8 +79,9 @@ export class MapView
79
79
  scrollEnabled,
80
80
  rotateEnabled,
81
81
  pitchEnabled,
82
- padding,
82
+ edgeInsets,
83
83
  userLocationEnabled,
84
+ myLocationButtonEnabled,
84
85
  theme,
85
86
  onCameraMove,
86
87
  onCameraIdle,
@@ -103,8 +104,9 @@ export class MapView
103
104
  scrollEnabled={scrollEnabled}
104
105
  rotateEnabled={rotateEnabled}
105
106
  pitchEnabled={pitchEnabled}
106
- padding={padding}
107
+ edgeInsets={edgeInsets}
107
108
  userLocationEnabled={userLocationEnabled}
109
+ myLocationButtonEnabled={myLocationButtonEnabled}
108
110
  theme={theme}
109
111
  onCameraMove={onCameraMove}
110
112
  onCameraIdle={onCameraIdle}
@@ -4,7 +4,6 @@ import type { MapProvider, Coordinate, EdgeInsets, MapTheme } from './types';
4
4
 
5
5
  /**
6
6
  * Options for moving the camera
7
- * @default duration -1
8
7
  */
9
8
  export interface MoveCameraOptions {
10
9
  zoom?: number;
@@ -13,10 +12,9 @@ export interface MoveCameraOptions {
13
12
 
14
13
  /**
15
14
  * Options for fitting coordinates in view
16
- * @default duration -1
17
15
  */
18
16
  export interface FitCoordinatesOptions {
19
- padding?: EdgeInsets;
17
+ edgeInsets?: EdgeInsets;
20
18
  duration?: number;
21
19
  }
22
20
 
@@ -91,15 +89,21 @@ export interface MapViewProps extends ViewProps {
91
89
  */
92
90
  pitchEnabled?: boolean;
93
91
  /**
94
- * Map content padding
92
+ * Map content edge insets
95
93
  */
96
- padding?: EdgeInsets;
94
+ edgeInsets?: EdgeInsets;
97
95
  /**
98
96
  * Show current user location on the map.
99
97
  * Requires location permission to be granted, otherwise silently ignored.
100
98
  * @default false
101
99
  */
102
100
  userLocationEnabled?: boolean;
101
+ /**
102
+ * Show native my-location button when userLocationEnabled is true (Android only).
103
+ * @default false
104
+ * @platform android
105
+ */
106
+ myLocationButtonEnabled?: boolean;
103
107
  /**
104
108
  * Map color theme
105
109
  * @default 'system'
@@ -107,7 +107,7 @@ export const MapView = forwardRef<MapViewRef, MapViewProps>(function MapView(
107
107
  zoomEnabled = true,
108
108
  scrollEnabled = true,
109
109
  pitchEnabled = true,
110
- padding,
110
+ edgeInsets,
111
111
  userLocationEnabled,
112
112
  theme = 'system',
113
113
  onCameraMove,
@@ -123,16 +123,16 @@ export const MapView = forwardRef<MapViewRef, MapViewProps>(function MapView(
123
123
  const readyFired = useRef(false);
124
124
  const [isDragging, setIsDragging] = useState(false);
125
125
  const wasGesture = useRef(false);
126
- const prevPadding = useRef(padding);
126
+ const prevEdgeInsets = useRef(edgeInsets);
127
127
 
128
128
  const offsetCenter = useCallback(
129
129
  (
130
130
  coord: Coordinate,
131
131
  zoom: number,
132
- paddingOverride?: typeof padding,
132
+ edgeInsetsOverride?: typeof edgeInsets,
133
133
  reverse = false
134
134
  ) => {
135
- const p = paddingOverride ?? padding;
135
+ const p = edgeInsetsOverride ?? edgeInsets;
136
136
  const div = map?.getDiv();
137
137
  if (!p || !div) {
138
138
  return { lat: coord.latitude, lng: coord.longitude };
@@ -157,7 +157,7 @@ export const MapView = forwardRef<MapViewRef, MapViewProps>(function MapView(
157
157
 
158
158
  return { lat, lng };
159
159
  },
160
- [map, padding]
160
+ [map, edgeInsets]
161
161
  );
162
162
 
163
163
  useImperativeHandle(
@@ -190,7 +190,7 @@ export const MapView = forwardRef<MapViewRef, MapViewProps>(function MapView(
190
190
  const first = coordinates[0];
191
191
  if (!map || !first) return;
192
192
 
193
- const { padding: fitPadding, duration = -1 } = options ?? {};
193
+ const { edgeInsets: fitEdgeInsets, duration = -1 } = options ?? {};
194
194
 
195
195
  if (coordinates.length === 1) {
196
196
  this.moveCamera(first, { zoom: initialZoom, duration });
@@ -203,14 +203,14 @@ export const MapView = forwardRef<MapViewRef, MapViewProps>(function MapView(
203
203
  });
204
204
 
205
205
  map.fitBounds(bounds, {
206
- top: (padding?.top ?? 0) + (fitPadding?.top ?? 0),
207
- left: (padding?.left ?? 0) + (fitPadding?.left ?? 0),
208
- bottom: (padding?.bottom ?? 0) + (fitPadding?.bottom ?? 0),
209
- right: (padding?.right ?? 0) + (fitPadding?.right ?? 0),
206
+ top: (edgeInsets?.top ?? 0) + (fitEdgeInsets?.top ?? 0),
207
+ left: (edgeInsets?.left ?? 0) + (fitEdgeInsets?.left ?? 0),
208
+ bottom: (edgeInsets?.bottom ?? 0) + (fitEdgeInsets?.bottom ?? 0),
209
+ right: (edgeInsets?.right ?? 0) + (fitEdgeInsets?.right ?? 0),
210
210
  });
211
211
  },
212
212
  }),
213
- [map, initialZoom, padding, offsetCenter]
213
+ [map, initialZoom, edgeInsets, offsetCenter]
214
214
  );
215
215
 
216
216
  useEffect(() => {
@@ -221,16 +221,16 @@ export const MapView = forwardRef<MapViewRef, MapViewProps>(function MapView(
221
221
  }, [map, onReady]);
222
222
 
223
223
  useEffect(() => {
224
- if (!map || !padding) return;
224
+ if (!map || !edgeInsets) return;
225
225
 
226
- const prev = prevPadding.current;
227
- const paddingChanged =
228
- prev?.top !== padding.top ||
229
- prev?.left !== padding.left ||
230
- prev?.bottom !== padding.bottom ||
231
- prev?.right !== padding.right;
226
+ const prev = prevEdgeInsets.current;
227
+ const changed =
228
+ prev?.top !== edgeInsets.top ||
229
+ prev?.left !== edgeInsets.left ||
230
+ prev?.bottom !== edgeInsets.bottom ||
231
+ prev?.right !== edgeInsets.right;
232
232
 
233
- if (paddingChanged) {
233
+ if (changed) {
234
234
  const center = map.getCenter();
235
235
  const zoom = map.getZoom() ?? initialZoom;
236
236
  if (center) {
@@ -243,14 +243,14 @@ export const MapView = forwardRef<MapViewRef, MapViewProps>(function MapView(
243
243
  const newCenter = offsetCenter(
244
244
  { latitude: logicalCenter.lat, longitude: logicalCenter.lng },
245
245
  zoom,
246
- padding,
246
+ edgeInsets,
247
247
  false
248
248
  );
249
249
  map.panTo(newCenter);
250
250
  }
251
- prevPadding.current = padding;
251
+ prevEdgeInsets.current = edgeInsets;
252
252
  }
253
- }, [map, padding, initialZoom, offsetCenter]);
253
+ }, [map, edgeInsets, initialZoom, offsetCenter]);
254
254
 
255
255
  const handleDragStart = () => {
256
256
  setIsDragging(true);
@@ -49,8 +49,9 @@ export interface NativeProps extends ViewProps {
49
49
  scrollEnabled?: boolean;
50
50
  rotateEnabled?: boolean;
51
51
  pitchEnabled?: boolean;
52
- padding?: EdgeInsets;
52
+ edgeInsets?: EdgeInsets;
53
53
  userLocationEnabled?: boolean;
54
+ myLocationButtonEnabled?: boolean;
54
55
  theme?: WithDefault<'light' | 'dark' | 'system', 'system'>;
55
56
  onCameraMove?: DirectEventHandler<CameraMoveEvent>;
56
57
  onCameraIdle?: DirectEventHandler<CameraIdleEvent>;
@@ -70,10 +71,10 @@ interface NativeCommands {
70
71
  fitCoordinates: (
71
72
  viewRef: React.ElementRef<ComponentType>,
72
73
  coordinates: Coordinate[],
73
- paddingTop: Double,
74
- paddingLeft: Double,
75
- paddingBottom: Double,
76
- paddingRight: Double,
74
+ edgeInsetsTop: Double,
75
+ edgeInsetsLeft: Double,
76
+ edgeInsetsBottom: Double,
77
+ edgeInsetsRight: Double,
77
78
  duration: Double
78
79
  ) => void;
79
80
  }