@lugg/maps 0.2.0-alpha.27 → 0.2.0-alpha.29

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,7 +50,7 @@ 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
+ private var userLocationButtonEnabled: Boolean = false
54
54
  private var minZoom: Double? = null
55
55
  private var maxZoom: Double? = null
56
56
  private var edgeInsets: EdgeInsets = EdgeInsets()
@@ -148,7 +148,7 @@ class LuggMapView(private val reactContext: ThemedReactContext) :
148
148
  provider?.setRotateEnabled(rotateEnabled)
149
149
  provider?.setPitchEnabled(pitchEnabled)
150
150
  provider?.setUserLocationEnabled(userLocationEnabled)
151
- provider?.setMyLocationButtonEnabled(myLocationButtonEnabled)
151
+ provider?.setUserLocationButtonEnabled(userLocationButtonEnabled)
152
152
  provider?.setTheme(theme)
153
153
  minZoom?.let { provider?.setMinZoom(it) }
154
154
  maxZoom?.let { provider?.setMaxZoom(it) }
@@ -176,53 +176,70 @@ class LuggMapView(private val reactContext: ThemedReactContext) :
176
176
  }
177
177
 
178
178
  fun setZoomEnabled(enabled: Boolean) {
179
+ if (zoomEnabled == enabled) return
179
180
  zoomEnabled = enabled
180
181
  provider?.setZoomEnabled(enabled)
181
182
  }
182
183
 
183
184
  fun setScrollEnabled(enabled: Boolean) {
185
+ if (scrollEnabled == enabled) return
184
186
  scrollEnabled = enabled
185
187
  provider?.setScrollEnabled(enabled)
186
188
  }
187
189
 
188
190
  fun setRotateEnabled(enabled: Boolean) {
191
+ if (rotateEnabled == enabled) return
189
192
  rotateEnabled = enabled
190
193
  provider?.setRotateEnabled(enabled)
191
194
  }
192
195
 
193
196
  fun setPitchEnabled(enabled: Boolean) {
197
+ if (pitchEnabled == enabled) return
194
198
  pitchEnabled = enabled
195
199
  provider?.setPitchEnabled(enabled)
196
200
  }
197
201
 
198
202
  fun setUserLocationEnabled(enabled: Boolean) {
203
+ if (userLocationEnabled == enabled) return
199
204
  userLocationEnabled = enabled
200
205
  provider?.setUserLocationEnabled(enabled)
201
206
  }
202
207
 
203
- fun setMyLocationButtonEnabled(enabled: Boolean) {
204
- myLocationButtonEnabled = enabled
205
- provider?.setMyLocationButtonEnabled(enabled)
208
+ fun setUserLocationButtonEnabled(enabled: Boolean) {
209
+ if (userLocationButtonEnabled == enabled) return
210
+ userLocationButtonEnabled = enabled
211
+ provider?.setUserLocationButtonEnabled(enabled)
206
212
  }
207
213
 
208
214
  fun setMinZoom(zoom: Double) {
215
+ if (minZoom == zoom) return
209
216
  minZoom = zoom
210
217
  provider?.setMinZoom(zoom)
211
218
  }
212
219
 
213
220
  fun setMaxZoom(zoom: Double) {
221
+ if (maxZoom == zoom) return
214
222
  maxZoom = zoom
215
223
  provider?.setMaxZoom(zoom)
216
224
  }
217
225
 
218
226
  fun setTheme(value: String) {
227
+ if (theme == value) return
219
228
  theme = value
220
229
  provider?.setTheme(value)
221
230
  }
222
231
 
223
- fun setEdgeInsets(top: Int, left: Int, bottom: Int, right: Int) {
224
- edgeInsets = EdgeInsets(top, left, bottom, right)
225
- provider?.setEdgeInsets(edgeInsets)
232
+ fun setEdgeInsets(
233
+ top: Int,
234
+ left: Int,
235
+ bottom: Int,
236
+ right: Int,
237
+ duration: Int = 0
238
+ ) {
239
+ val newEdgeInsets = EdgeInsets(top, left, bottom, right)
240
+ if (edgeInsets == newEdgeInsets) return
241
+ edgeInsets = newEdgeInsets
242
+ provider?.setEdgeInsets(edgeInsets, duration)
226
243
  }
227
244
 
228
245
  // endregion
@@ -113,9 +113,9 @@ 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)
116
+ @ReactProp(name = "userLocationButtonEnabled", defaultBoolean = false)
117
+ override fun setUserLocationButtonEnabled(view: LuggMapView, value: Boolean) {
118
+ view.setUserLocationButtonEnabled(value)
119
119
  }
120
120
 
121
121
  @ReactProp(name = "minZoom")
@@ -159,6 +159,23 @@ class LuggMapViewManager :
159
159
  view.moveCamera(latitude, longitude, zoom, duration.toInt())
160
160
  }
161
161
 
162
+ override fun setEdgeInsets(
163
+ view: LuggMapView,
164
+ top: Double,
165
+ left: Double,
166
+ bottom: Double,
167
+ right: Double,
168
+ duration: Double
169
+ ) {
170
+ view.setEdgeInsets(
171
+ top.toFloat().dpToPx().toInt(),
172
+ left.toFloat().dpToPx().toInt(),
173
+ bottom.toFloat().dpToPx().toInt(),
174
+ right.toFloat().dpToPx().toInt(),
175
+ duration.toInt()
176
+ )
177
+ }
178
+
162
179
  override fun fitCoordinates(
163
180
  view: LuggMapView,
164
181
  coordinates: ReadableArray?,
@@ -53,7 +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
+ private var userLocationButtonEnabled: Boolean = false
57
57
 
58
58
  // Zoom limits
59
59
  private var minZoom: Float? = null
@@ -184,8 +184,8 @@ class GoogleMapProvider(private val context: Context) :
184
184
  googleMap?.isMyLocationEnabled = userLocationEnabled && hasPermission
185
185
  }
186
186
 
187
- override fun setMyLocationButtonEnabled(enabled: Boolean) {
188
- myLocationButtonEnabled = enabled
187
+ override fun setUserLocationButtonEnabled(enabled: Boolean) {
188
+ userLocationButtonEnabled = enabled
189
189
  googleMap?.uiSettings?.isMyLocationButtonEnabled = enabled
190
190
  }
191
191
 
@@ -209,6 +209,19 @@ class GoogleMapProvider(private val context: Context) :
209
209
  }
210
210
 
211
211
  override fun setEdgeInsets(edgeInsets: EdgeInsets) {
212
+ val oldInsets = this.edgeInsets
213
+ this.edgeInsets = edgeInsets
214
+ applyEdgeInsets()
215
+
216
+ val map = googleMap
217
+ if (map != null && oldInsets != edgeInsets) {
218
+ mapView?.post {
219
+ setEdgeInsets(edgeInsets, 0)
220
+ }
221
+ }
222
+ }
223
+
224
+ override fun setEdgeInsets(edgeInsets: EdgeInsets, duration: Int) {
212
225
  val map = googleMap
213
226
  val oldInsets = this.edgeInsets
214
227
  this.edgeInsets = edgeInsets
@@ -216,7 +229,11 @@ class GoogleMapProvider(private val context: Context) :
216
229
  if (map != null && oldInsets != edgeInsets) {
217
230
  val cameraUpdate = CameraUpdateFactory.newCameraPosition(map.cameraPosition)
218
231
  applyEdgeInsets()
219
- map.moveCamera(cameraUpdate)
232
+ when {
233
+ duration < 0 -> map.animateCamera(cameraUpdate)
234
+ duration > 0 -> map.animateCamera(cameraUpdate, duration, null)
235
+ else -> map.moveCamera(cameraUpdate)
236
+ }
220
237
  } else {
221
238
  applyEdgeInsets()
222
239
  }
@@ -464,6 +481,7 @@ class GoogleMapProvider(private val context: Context) :
464
481
  isScrollGesturesEnabled = scrollEnabled
465
482
  isRotateGesturesEnabled = rotateEnabled
466
483
  isTiltGesturesEnabled = pitchEnabled
484
+ isMyLocationButtonEnabled = userLocationButtonEnabled
467
485
  }
468
486
  }
469
487
 
@@ -496,7 +514,7 @@ class GoogleMapProvider(private val context: Context) :
496
514
  context.checkSelfPermission(android.Manifest.permission.ACCESS_COARSE_LOCATION) ==
497
515
  android.content.pm.PackageManager.PERMISSION_GRANTED
498
516
  googleMap?.isMyLocationEnabled = userLocationEnabled && hasPermission
499
- googleMap?.uiSettings?.isMyLocationButtonEnabled = myLocationButtonEnabled
517
+ googleMap?.uiSettings?.isMyLocationButtonEnabled = userLocationButtonEnabled
500
518
  }
501
519
 
502
520
  // endregion
@@ -25,11 +25,12 @@ 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
+ fun setUserLocationButtonEnabled(enabled: Boolean)
29
29
  fun setTheme(value: String)
30
30
  fun setMinZoom(zoom: Double)
31
31
  fun setMaxZoom(zoom: Double)
32
32
  fun setEdgeInsets(edgeInsets: EdgeInsets)
33
+ fun setEdgeInsets(edgeInsets: EdgeInsets, duration: Int)
33
34
 
34
35
  // Children
35
36
  fun addMarkerView(markerView: LuggMarkerView)
@@ -144,9 +144,6 @@ using namespace luggmaps::events;
144
144
 
145
145
  _provider.delegate = self;
146
146
 
147
- // Apply cached props before initialization
148
- [self applyProps];
149
-
150
147
  CLLocationCoordinate2D coordinate =
151
148
  CLLocationCoordinate2DMake(viewProps.initialCoordinate.latitude,
152
149
  viewProps.initialCoordinate.longitude);
@@ -155,6 +152,8 @@ using namespace luggmaps::events;
155
152
  initialCoordinate:coordinate
156
153
  initialZoom:viewProps.initialZoom];
157
154
 
155
+ // Apply cached props after map view is created
156
+ [self applyProps];
158
157
  [_provider setEdgeInsets:_edgeInsets oldEdgeInsets:UIEdgeInsetsZero];
159
158
 
160
159
  _initialized = YES;
@@ -208,6 +207,8 @@ using namespace luggmaps::events;
208
207
  oldProps:(Props::Shared const &)oldProps {
209
208
  const auto &newViewProps =
210
209
  *std::static_pointer_cast<LuggMapViewProps const>(props);
210
+ const auto &prevViewProps =
211
+ *std::static_pointer_cast<LuggMapViewProps const>(_props);
211
212
 
212
213
  _providerType = newViewProps.provider;
213
214
 
@@ -217,34 +218,49 @@ using namespace luggmaps::events;
217
218
  _mapId = newMapId;
218
219
  }
219
220
 
220
- _zoomEnabled = newViewProps.zoomEnabled;
221
- _scrollEnabled = newViewProps.scrollEnabled;
222
- _rotateEnabled = newViewProps.rotateEnabled;
223
- _pitchEnabled = newViewProps.pitchEnabled;
224
- _userLocationEnabled = newViewProps.userLocationEnabled;
225
- _minZoom = newViewProps.minZoom;
226
- _maxZoom = newViewProps.maxZoom;
227
-
228
- _theme = newViewProps.theme;
221
+ if (newViewProps.zoomEnabled != prevViewProps.zoomEnabled) {
222
+ _zoomEnabled = newViewProps.zoomEnabled;
223
+ [_provider setZoomEnabled:_zoomEnabled];
224
+ }
225
+ if (newViewProps.scrollEnabled != prevViewProps.scrollEnabled) {
226
+ _scrollEnabled = newViewProps.scrollEnabled;
227
+ [_provider setScrollEnabled:_scrollEnabled];
228
+ }
229
+ if (newViewProps.rotateEnabled != prevViewProps.rotateEnabled) {
230
+ _rotateEnabled = newViewProps.rotateEnabled;
231
+ [_provider setRotateEnabled:_rotateEnabled];
232
+ }
233
+ if (newViewProps.pitchEnabled != prevViewProps.pitchEnabled) {
234
+ _pitchEnabled = newViewProps.pitchEnabled;
235
+ [_provider setPitchEnabled:_pitchEnabled];
236
+ }
237
+ if (newViewProps.userLocationEnabled != prevViewProps.userLocationEnabled) {
238
+ _userLocationEnabled = newViewProps.userLocationEnabled;
239
+ [_provider setUserLocationEnabled:_userLocationEnabled];
240
+ }
241
+ if (newViewProps.minZoom != prevViewProps.minZoom) {
242
+ _minZoom = newViewProps.minZoom;
243
+ [_provider setMinZoom:_minZoom];
244
+ }
245
+ if (newViewProps.maxZoom != prevViewProps.maxZoom) {
246
+ _maxZoom = newViewProps.maxZoom;
247
+ [_provider setMaxZoom:_maxZoom];
248
+ }
249
+ if (newViewProps.theme != prevViewProps.theme) {
250
+ _theme = newViewProps.theme;
251
+ [_provider setTheme:(NSInteger)_theme];
252
+ }
229
253
 
230
- _oldEdgeInsets = _edgeInsets;
231
- _edgeInsets = UIEdgeInsetsMake(
254
+ UIEdgeInsets newEdgeInsets = UIEdgeInsetsMake(
232
255
  newViewProps.edgeInsets.top, newViewProps.edgeInsets.left,
233
256
  newViewProps.edgeInsets.bottom, newViewProps.edgeInsets.right);
234
-
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;
244
-
245
- [self applyProps];
257
+ if (!UIEdgeInsetsEqualToEdgeInsets(newEdgeInsets, _edgeInsets)) {
258
+ _oldEdgeInsets = _edgeInsets;
259
+ _edgeInsets = newEdgeInsets;
246
260
  [_provider setEdgeInsets:_edgeInsets oldEdgeInsets:_oldEdgeInsets];
247
261
  }
262
+
263
+ [super updateProps:props oldProps:oldProps];
248
264
  }
249
265
 
250
266
  #pragma mark - Commands
@@ -273,6 +289,18 @@ using namespace luggmaps::events;
273
289
  duration:duration];
274
290
  }
275
291
 
292
+ - (void)setEdgeInsets:(double)top
293
+ left:(double)left
294
+ bottom:(double)bottom
295
+ right:(double)right
296
+ duration:(double)duration {
297
+ UIEdgeInsets oldInsets = _edgeInsets;
298
+ _edgeInsets = UIEdgeInsetsMake(top, left, bottom, right);
299
+ [_provider setEdgeInsets:_edgeInsets
300
+ oldEdgeInsets:oldInsets
301
+ duration:duration];
302
+ }
303
+
276
304
  - (void)handleCommand:(const NSString *)commandName args:(const NSArray *)args {
277
305
  RCTLuggMapViewHandleCommand(self, commandName, args);
278
306
  }
@@ -29,6 +29,13 @@
29
29
  double _minZoom;
30
30
  double _maxZoom;
31
31
  NSMapTable<id<MKOverlay>, LuggPolylineView *> *_overlayToPolylineMap;
32
+
33
+ // Edge insets animation
34
+ CADisplayLink *_edgeInsetsDisplayLink;
35
+ UIEdgeInsets _edgeInsetsFrom;
36
+ UIEdgeInsets _edgeInsetsTo;
37
+ CFTimeInterval _edgeInsetsAnimationStart;
38
+ CFTimeInterval _edgeInsetsAnimationDuration;
32
39
  }
33
40
 
34
41
  @synthesize delegate = _delegate;
@@ -76,6 +83,7 @@
76
83
  }
77
84
 
78
85
  - (void)destroy {
86
+ [self stopEdgeInsetsAnimation];
79
87
  [_mapView removeFromSuperview];
80
88
  _mapView = nil;
81
89
  _isMapReady = NO;
@@ -151,6 +159,55 @@
151
159
  }
152
160
  }
153
161
 
162
+ - (void)setEdgeInsets:(UIEdgeInsets)edgeInsets
163
+ oldEdgeInsets:(UIEdgeInsets)oldEdgeInsets
164
+ duration:(double)duration {
165
+ [self stopEdgeInsetsAnimation];
166
+
167
+ if (duration != 0 && _mapView) {
168
+ double actualDuration = duration < 0 ? 0.3 : duration / 1000.0;
169
+ _edgeInsetsFrom = oldEdgeInsets;
170
+ _edgeInsetsTo = edgeInsets;
171
+ _edgeInsetsAnimationDuration = actualDuration;
172
+ _edgeInsetsAnimationStart = CACurrentMediaTime();
173
+
174
+ _edgeInsetsDisplayLink = [CADisplayLink
175
+ displayLinkWithTarget:self
176
+ selector:@selector(edgeInsetsAnimationTick:)];
177
+ [_edgeInsetsDisplayLink addToRunLoop:[NSRunLoop mainRunLoop]
178
+ forMode:NSRunLoopCommonModes];
179
+ } else {
180
+ [self setEdgeInsets:edgeInsets oldEdgeInsets:oldEdgeInsets];
181
+ }
182
+ }
183
+
184
+ - (void)edgeInsetsAnimationTick:(CADisplayLink *)displayLink {
185
+ CFTimeInterval elapsed = CACurrentMediaTime() - _edgeInsetsAnimationStart;
186
+ CGFloat progress = MIN(elapsed / _edgeInsetsAnimationDuration, 1.0);
187
+
188
+ // Ease out cubic
189
+ CGFloat t = 1.0 - (1.0 - progress) * (1.0 - progress) * (1.0 - progress);
190
+
191
+ UIEdgeInsets current = UIEdgeInsetsMake(
192
+ _edgeInsetsFrom.top + (_edgeInsetsTo.top - _edgeInsetsFrom.top) * t,
193
+ _edgeInsetsFrom.left + (_edgeInsetsTo.left - _edgeInsetsFrom.left) * t,
194
+ _edgeInsetsFrom.bottom +
195
+ (_edgeInsetsTo.bottom - _edgeInsetsFrom.bottom) * t,
196
+ _edgeInsetsFrom.right +
197
+ (_edgeInsetsTo.right - _edgeInsetsFrom.right) * t);
198
+
199
+ [self setEdgeInsets:current oldEdgeInsets:_mapView.layoutMargins];
200
+
201
+ if (progress >= 1.0) {
202
+ [self stopEdgeInsetsAnimation];
203
+ }
204
+ }
205
+
206
+ - (void)stopEdgeInsetsAnimation {
207
+ [_edgeInsetsDisplayLink invalidate];
208
+ _edgeInsetsDisplayLink = nil;
209
+ }
210
+
154
211
  - (CLLocationDistance)cameraDistanceForZoomLevel:(double)zoomLevel {
155
212
  return 128000000.0 / pow(2, zoomLevel);
156
213
  }
@@ -19,6 +19,13 @@ static NSString *const kDemoMapId = @"DEMO_MAP_ID";
19
19
  NSMutableArray<LuggMarkerView *> *_pendingMarkerViews;
20
20
  NSMutableArray<LuggPolylineView *> *_pendingPolylineViews;
21
21
  NSMapTable<LuggPolylineView *, GMSPolylineAnimator *> *_polylineAnimators;
22
+
23
+ // Edge insets animation
24
+ CADisplayLink *_edgeInsetsDisplayLink;
25
+ UIEdgeInsets _edgeInsetsFrom;
26
+ UIEdgeInsets _edgeInsetsTo;
27
+ CFTimeInterval _edgeInsetsAnimationStart;
28
+ CFTimeInterval _edgeInsetsAnimationDuration;
22
29
  }
23
30
 
24
31
  @synthesize delegate = _delegate;
@@ -86,6 +93,7 @@ static NSString *const kDemoMapId = @"DEMO_MAP_ID";
86
93
  }
87
94
 
88
95
  - (void)destroy {
96
+ [self stopEdgeInsetsAnimation];
89
97
  [_pendingMarkerViews removeAllObjects];
90
98
  [_pendingPolylineViews removeAllObjects];
91
99
  [_polylineAnimators removeAllObjects];
@@ -155,10 +163,61 @@ static NSString *const kDemoMapId = @"DEMO_MAP_ID";
155
163
 
156
164
  - (void)setEdgeInsets:(UIEdgeInsets)edgeInsets
157
165
  oldEdgeInsets:(UIEdgeInsets)oldEdgeInsets {
166
+ [self setEdgeInsets:edgeInsets oldEdgeInsets:oldEdgeInsets duration:0];
167
+ }
168
+
169
+ - (void)setEdgeInsets:(UIEdgeInsets)edgeInsets
170
+ oldEdgeInsets:(UIEdgeInsets)oldEdgeInsets
171
+ duration:(double)duration {
158
172
  if (UIEdgeInsetsEqualToEdgeInsets(_edgeInsets, edgeInsets))
159
173
  return;
160
- _edgeInsets = edgeInsets;
161
- _mapView.padding = edgeInsets;
174
+
175
+ [self stopEdgeInsetsAnimation];
176
+
177
+ if (duration != 0 && _mapView) {
178
+ double actualDuration = duration < 0 ? 0.3 : duration / 1000.0;
179
+ _edgeInsetsFrom = _edgeInsets;
180
+ _edgeInsetsTo = edgeInsets;
181
+ _edgeInsets = edgeInsets;
182
+ _edgeInsetsAnimationDuration = actualDuration;
183
+ _edgeInsetsAnimationStart = CACurrentMediaTime();
184
+
185
+ _edgeInsetsDisplayLink = [CADisplayLink
186
+ displayLinkWithTarget:self
187
+ selector:@selector(edgeInsetsAnimationTick:)];
188
+ [_edgeInsetsDisplayLink addToRunLoop:[NSRunLoop mainRunLoop]
189
+ forMode:NSRunLoopCommonModes];
190
+ } else {
191
+ _edgeInsets = edgeInsets;
192
+ _mapView.padding = edgeInsets;
193
+ }
194
+ }
195
+
196
+ - (void)edgeInsetsAnimationTick:(CADisplayLink *)displayLink {
197
+ CFTimeInterval elapsed = CACurrentMediaTime() - _edgeInsetsAnimationStart;
198
+ CGFloat progress = MIN(elapsed / _edgeInsetsAnimationDuration, 1.0);
199
+
200
+ // Ease out cubic
201
+ CGFloat t = 1.0 - (1.0 - progress) * (1.0 - progress) * (1.0 - progress);
202
+
203
+ UIEdgeInsets current = UIEdgeInsetsMake(
204
+ _edgeInsetsFrom.top + (_edgeInsetsTo.top - _edgeInsetsFrom.top) * t,
205
+ _edgeInsetsFrom.left + (_edgeInsetsTo.left - _edgeInsetsFrom.left) * t,
206
+ _edgeInsetsFrom.bottom +
207
+ (_edgeInsetsTo.bottom - _edgeInsetsFrom.bottom) * t,
208
+ _edgeInsetsFrom.right +
209
+ (_edgeInsetsTo.right - _edgeInsetsFrom.right) * t);
210
+
211
+ _mapView.padding = current;
212
+
213
+ if (progress >= 1.0) {
214
+ [self stopEdgeInsetsAnimation];
215
+ }
216
+ }
217
+
218
+ - (void)stopEdgeInsetsAnimation {
219
+ [_edgeInsetsDisplayLink invalidate];
220
+ _edgeInsetsDisplayLink = nil;
162
221
  }
163
222
 
164
223
  #pragma mark - GMSMapViewDelegate
@@ -39,6 +39,9 @@ NS_ASSUME_NONNULL_BEGIN
39
39
  - (void)setMaxZoom:(double)maxZoom;
40
40
  - (void)setEdgeInsets:(UIEdgeInsets)edgeInsets
41
41
  oldEdgeInsets:(UIEdgeInsets)oldEdgeInsets;
42
+ - (void)setEdgeInsets:(UIEdgeInsets)edgeInsets
43
+ oldEdgeInsets:(UIEdgeInsets)oldEdgeInsets
44
+ duration:(double)duration;
42
45
 
43
46
  // Children
44
47
  - (void)addMarkerView:(LuggMarkerView *)markerView;
@@ -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
- edgeInsets,
33
+ padding,
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
- } = edgeInsets ?? {};
41
+ } = padding ?? {};
42
42
  if (coordinates.length === 1) {
43
43
  const zoom = this.props.initialZoom ?? 10;
44
44
  this.moveCamera(first, {
@@ -49,6 +49,20 @@ export class MapView extends React.Component {
49
49
  }
50
50
  Commands.fitCoordinates(ref, coordinates, top, left, bottom, right, duration);
51
51
  }
52
+ setEdgeInsets(edgeInsets, options) {
53
+ const ref = this.nativeRef.current;
54
+ if (!ref) return;
55
+ const {
56
+ top = 0,
57
+ left = 0,
58
+ bottom = 0,
59
+ right = 0
60
+ } = edgeInsets;
61
+ const {
62
+ duration = -1
63
+ } = options ?? {};
64
+ Commands.setEdgeInsets(ref, top, left, bottom, right, duration);
65
+ }
52
66
  render() {
53
67
  const {
54
68
  provider,
@@ -63,7 +77,7 @@ export class MapView extends React.Component {
63
77
  pitchEnabled,
64
78
  edgeInsets,
65
79
  userLocationEnabled,
66
- myLocationButtonEnabled,
80
+ userLocationButtonEnabled,
67
81
  theme,
68
82
  onCameraMove,
69
83
  onCameraIdle,
@@ -86,7 +100,7 @@ export class MapView extends React.Component {
86
100
  pitchEnabled: pitchEnabled,
87
101
  edgeInsets: edgeInsets,
88
102
  userLocationEnabled: userLocationEnabled,
89
- myLocationButtonEnabled: myLocationButtonEnabled,
103
+ userLocationButtonEnabled: userLocationButtonEnabled,
90
104
  theme: theme,
91
105
  onCameraMove: onCameraMove,
92
106
  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","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":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,EAAEC,UAAU,QAAQ,cAAc;AACnD,OAAOC,0BAA0B,IAC/BC,QAAQ,QACH,qCAAqC;AAC5C,OAAOC,iCAAiC,MAAM,4CAA4C;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAS3F,OAAO,MAAMC,OAAO,SACVV,KAAK,CAACW,SAAS,CAEzB;EACE,OAAOC,YAAY,GAA0B;IAC3CC,QAAQ,EAAEZ,QAAQ,CAACa,EAAE,KAAK,KAAK,GAAG,OAAO,GAAG,QAAQ;IACpDC,WAAW,EAAE,EAAE;IACfC,WAAW,EAAE,IAAI;IACjBC,aAAa,EAAE,IAAI;IACnBC,aAAa,EAAE,IAAI;IACnBC,YAAY,EAAE,IAAI;IAClBC,KAAK,EAAE;EACT,CAAC;EAEOC,SAAS,gBAAGrB,KAAK,CAACsB,SAAS,CAAM,CAAC;EAE1CC,UAAUA,CAACC,UAAsB,EAAEC,OAA2B,EAAE;IAC9D,MAAMC,GAAG,GAAG,IAAI,CAACL,SAAS,CAACM,OAAO;IAClC,IAAI,CAACD,GAAG,EAAE;IAEV,MAAM;MAAEE,IAAI,GAAG,CAAC;MAAEC,QAAQ,GAAG,CAAC;IAAE,CAAC,GAAGJ,OAAO,IAAI,CAAC,CAAC;IACjDrB,QAAQ,CAACmB,UAAU,CACjBG,GAAG,EACHF,UAAU,CAACM,QAAQ,EACnBN,UAAU,CAACO,SAAS,EACpBH,IAAI,EACJC,QACF,CAAC;EACH;EAEAG,cAAcA,CAACC,WAAyB,EAAER,OAA+B,EAAE;IACzE,MAAMC,GAAG,GAAG,IAAI,CAACL,SAAS,CAACM,OAAO;IAClC,MAAMO,KAAK,GAAGD,WAAW,CAAC,CAAC,CAAC;IAC5B,IAAI,CAACP,GAAG,IAAI,CAACQ,KAAK,EAAE;IAEpB,MAAM;MAAEC,UAAU;MAAEN,QAAQ,GAAG,CAAC;IAAE,CAAC,GAAGJ,OAAO,IAAI,CAAC,CAAC;IACnD,MAAM;MAAEW,GAAG,GAAG,CAAC;MAAEC,IAAI,GAAG,CAAC;MAAEC,MAAM,GAAG,CAAC;MAAEC,KAAK,GAAG;IAAE,CAAC,GAAGJ,UAAU,IAAI,CAAC,CAAC;IAErE,IAAIF,WAAW,CAACO,MAAM,KAAK,CAAC,EAAE;MAC5B,MAAMZ,IAAI,GAAG,IAAI,CAACa,KAAK,CAAC1B,WAAW,IAAI,EAAE;MACzC,IAAI,CAACQ,UAAU,CAACW,KAAK,EAAE;QAAEN,IAAI;QAAEC;MAAS,CAAC,CAAC;MAC1C;IACF;IAEAzB,QAAQ,CAAC4B,cAAc,CACrBN,GAAG,EACHO,WAAW,EACXG,GAAG,EACHC,IAAI,EACJC,MAAM,EACNC,KAAK,EACLV,QACF,CAAC;EACH;EAEAa,MAAMA,CAAA,EAAG;IACP,MAAM;MACJ7B,QAAQ;MACR8B,KAAK;MACLC,iBAAiB;MACjB7B,WAAW;MACX8B,OAAO;MACPC,OAAO;MACP9B,WAAW;MACXC,aAAa;MACbC,aAAa;MACbC,YAAY;MACZgB,UAAU;MACVY,mBAAmB;MACnBC,uBAAuB;MACvB5B,KAAK;MACL6B,YAAY;MACZC,YAAY;MACZC,OAAO;MACPC,QAAQ;MACR,GAAGC;IACL,CAAC,GAAG,IAAI,CAACZ,KAAK;IAEd,oBACEhC,KAAA,CAACN,0BAA0B;MACzBuB,GAAG,EAAE,IAAI,CAACL,SAAU;MAAA,GAChBgC,IAAI;MACRxC,QAAQ,EAAEA,QAAS;MACnB8B,KAAK,EAAEA,KAAM;MACbC,iBAAiB,EAAEA,iBAAkB;MACrC7B,WAAW,EAAEA,WAAY;MACzB8B,OAAO,EAAEA,OAAQ;MACjBC,OAAO,EAAEA,OAAQ;MACjB9B,WAAW,EAAEA,WAAY;MACzBC,aAAa,EAAEA,aAAc;MAC7BC,aAAa,EAAEA,aAAc;MAC7BC,YAAY,EAAEA,YAAa;MAC3BgB,UAAU,EAAEA,UAAW;MACvBY,mBAAmB,EAAEA,mBAAoB;MACzCC,uBAAuB,EAAEA,uBAAwB;MACjD5B,KAAK,EAAEA,KAAM;MACb6B,YAAY,EAAEA,YAAa;MAC3BC,YAAY,EAAEA,YAAa;MAC3BC,OAAO,EAAEA,OAAQ;MAAAC,QAAA,gBAEjB7C,IAAA,CAACF,iCAAiC;QAACiD,KAAK,EAAEpD,UAAU,CAACqD;MAAa,CAAE,CAAC,EACpEH,QAAQ;IAAA,CACiB,CAAC;EAEjC;AACF","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","padding","top","left","bottom","right","length","props","setEdgeInsets","edgeInsets","render","mapId","initialCoordinate","minZoom","maxZoom","userLocationEnabled","userLocationButtonEnabled","onCameraMove","onCameraIdle","onReady","children","rest","style","absoluteFill"],"sourceRoot":"../../src","sources":["MapView.tsx"],"mappings":"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","ignoreList":[]}
@@ -93,10 +93,9 @@ export const MapView = /*#__PURE__*/forwardRef(function MapView(props, ref) {
93
93
  const [isDragging, setIsDragging] = useState(false);
94
94
  const wasGesture = useRef(false);
95
95
  const prevEdgeInsets = useRef(edgeInsets);
96
- const offsetCenter = useCallback((coord, zoom, edgeInsetsOverride, reverse = false) => {
97
- const p = edgeInsetsOverride ?? edgeInsets;
98
- const div = map?.getDiv();
99
- if (!p || !div) {
96
+ const offsetCenter = useCallback((coord, zoom, insets, reverse = false) => {
97
+ const p = insets ?? prevEdgeInsets.current;
98
+ if (!p) {
100
99
  return {
101
100
  lat: coord.latitude,
102
101
  lng: coord.longitude
@@ -115,7 +114,32 @@ export const MapView = /*#__PURE__*/forwardRef(function MapView(props, ref) {
115
114
  lat,
116
115
  lng
117
116
  };
118
- }, [map, edgeInsets]);
117
+ }, []);
118
+ const applyEdgeInsets = useCallback((newEdgeInsets, duration) => {
119
+ if (!map) return;
120
+ const prev = prevEdgeInsets.current;
121
+ const center = map.getCenter();
122
+ const zoom = map.getZoom() ?? initialZoom;
123
+ if (center) {
124
+ const logicalCenter = offsetCenter({
125
+ latitude: center.lat(),
126
+ longitude: center.lng()
127
+ }, zoom, prev, true);
128
+ const newCenter = offsetCenter({
129
+ latitude: logicalCenter.lat,
130
+ longitude: logicalCenter.lng
131
+ }, zoom, newEdgeInsets, false);
132
+ if (duration === 0) {
133
+ map.moveCamera({
134
+ center: newCenter,
135
+ zoom
136
+ });
137
+ } else {
138
+ map.panTo(newCenter);
139
+ }
140
+ }
141
+ prevEdgeInsets.current = newEdgeInsets;
142
+ }, [map, initialZoom, offsetCenter]);
119
143
  useImperativeHandle(ref, () => ({
120
144
  moveCamera(coordinate, options) {
121
145
  if (!map) return;
@@ -143,7 +167,7 @@ export const MapView = /*#__PURE__*/forwardRef(function MapView(props, ref) {
143
167
  const first = coordinates[0];
144
168
  if (!map || !first) return;
145
169
  const {
146
- edgeInsets: fitEdgeInsets,
170
+ padding: fitPadding,
147
171
  duration = -1
148
172
  } = options ?? {};
149
173
  if (coordinates.length === 1) {
@@ -160,14 +184,18 @@ export const MapView = /*#__PURE__*/forwardRef(function MapView(props, ref) {
160
184
  lng: coord.longitude
161
185
  });
162
186
  });
187
+ const ei = prevEdgeInsets.current;
163
188
  map.fitBounds(bounds, {
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)
189
+ top: (ei?.top ?? 0) + (fitPadding?.top ?? 0),
190
+ left: (ei?.left ?? 0) + (fitPadding?.left ?? 0),
191
+ bottom: (ei?.bottom ?? 0) + (fitPadding?.bottom ?? 0),
192
+ right: (ei?.right ?? 0) + (fitPadding?.right ?? 0)
168
193
  });
194
+ },
195
+ setEdgeInsets(newEdgeInsets, options) {
196
+ applyEdgeInsets(newEdgeInsets, options?.duration);
169
197
  }
170
- }), [map, initialZoom, edgeInsets, offsetCenter]);
198
+ }), [map, initialZoom, offsetCenter, applyEdgeInsets]);
171
199
  useEffect(() => {
172
200
  if (map && !readyFired.current) {
173
201
  readyFired.current = true;
@@ -179,22 +207,9 @@ export const MapView = /*#__PURE__*/forwardRef(function MapView(props, ref) {
179
207
  const prev = prevEdgeInsets.current;
180
208
  const changed = prev?.top !== edgeInsets.top || prev?.left !== edgeInsets.left || prev?.bottom !== edgeInsets.bottom || prev?.right !== edgeInsets.right;
181
209
  if (changed) {
182
- const center = map.getCenter();
183
- const zoom = map.getZoom() ?? initialZoom;
184
- if (center) {
185
- const logicalCenter = offsetCenter({
186
- latitude: center.lat(),
187
- longitude: center.lng()
188
- }, zoom, prev, true);
189
- const newCenter = offsetCenter({
190
- latitude: logicalCenter.lat,
191
- longitude: logicalCenter.lng
192
- }, zoom, edgeInsets, false);
193
- map.panTo(newCenter);
194
- }
195
- prevEdgeInsets.current = edgeInsets;
210
+ applyEdgeInsets(edgeInsets);
196
211
  }
197
- }, [map, edgeInsets, initialZoom, offsetCenter]);
212
+ }, [map, edgeInsets, applyEdgeInsets]);
198
213
  const handleDragStart = () => {
199
214
  setIsDragging(true);
200
215
  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","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","google","maps","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,GAAG,aAAa;IACrBC,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;IACPlB,QAAQ;IACRC;EACF,CAAC,GAAGE,KAAK;EAET,MAAMgB,EAAE,GAAG5E,KAAK,CAAC,CAAC;EAClB,MAAM6E,GAAG,GAAGtE,MAAM,CAACqE,EAAE,CAAC;EACtB,MAAME,YAAY,GAAG5E,MAAM,CAAO,IAAI,CAAC;EACvC,MAAM6E,UAAU,GAAG7E,MAAM,CAAC,KAAK,CAAC;EAChC,MAAM,CAAC8E,UAAU,EAAEC,aAAa,CAAC,GAAG9E,QAAQ,CAAC,KAAK,CAAC;EACnD,MAAM+E,UAAU,GAAGhF,MAAM,CAAC,KAAK,CAAC;EAChC,MAAMiF,cAAc,GAAGjF,MAAM,CAACoE,UAAU,CAAC;EAEzC,MAAMc,YAAY,GAAGtF,WAAW,CAC9B,CACEuF,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,CAACvC,QAAQ;QAAE+C,GAAG,EAAER,KAAK,CAACrC;MAAU,CAAC;IACtD;IAEA,MAAM8C,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,CAACvC,QAAQ,GAAGkD,IAAI,CAACS,EAAE,GAAI,GAAG;IAC/C,MAAMlD,CAAC,GAAI,CAAC8B,KAAK,CAACrC,SAAS,GAAG,GAAG,IAAI,GAAG,GAAI+C,KAAK,GAAGG,OAAO;IAC3D,MAAM1C,CAAC,GACJ,CAAC,CAAC,GAAGwC,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,GAAItC,CAAC,GAAGwC,KAAK,GAAI,GAAG,GAAG,GAAG;IACnC,MAAMH,GAAG,GACNI,IAAI,CAACa,IAAI,CAACb,IAAI,CAACc,IAAI,CAACd,IAAI,CAACS,EAAE,IAAI,CAAC,GAAI,CAAC,GAAGjD,CAAC,GAAIuC,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;EAEDrE,mBAAmB,CACjB4D,GAAG,EACH,OAAO;IACLkD,UAAUA,CAACtE,UAAsB,EAAEuE,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,CAAC3C,UAAU,EAAEyE,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,IAAIC,MAAM,CAACC,IAAI,CAACC,YAAY,CAAC,CAAC;MAC7CP,WAAW,CAACQ,OAAO,CAAE9C,KAAK,IAAK;QAC7B0C,MAAM,CAACK,MAAM,CAAC;UAAExC,GAAG,EAAEP,KAAK,CAACvC,QAAQ;UAAE+C,GAAG,EAAER,KAAK,CAACrC;QAAU,CAAC,CAAC;MAC9D,CAAC,CAAC;MAEF6B,GAAG,CAACwD,SAAS,CAACN,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;EAEDrF,SAAS,CAAC,MAAM;IACd,IAAI8E,GAAG,IAAI,CAACE,UAAU,CAACuD,OAAO,EAAE;MAC9BvD,UAAU,CAACuD,OAAO,GAAG,IAAI;MACzB3D,OAAO,GAAG,CAAC;IACb;EACF,CAAC,EAAE,CAACE,GAAG,EAAEF,OAAO,CAAC,CAAC;EAElB5E,SAAS,CAAC,MAAM;IACd,IAAI,CAAC8E,GAAG,IAAI,CAACP,UAAU,EAAE;IAEzB,MAAMiE,IAAI,GAAGpD,cAAc,CAACmD,OAAO;IACnC,MAAME,OAAO,GACXD,IAAI,EAAEhC,GAAG,KAAKjC,UAAU,CAACiC,GAAG,IAC5BgC,IAAI,EAAEnC,IAAI,KAAK9B,UAAU,CAAC8B,IAAI,IAC9BmC,IAAI,EAAEjC,MAAM,KAAKhC,UAAU,CAACgC,MAAM,IAClCiC,IAAI,EAAEpC,KAAK,KAAK7B,UAAU,CAAC6B,KAAK;IAElC,IAAIqC,OAAO,EAAE;MACX,MAAMpB,MAAM,GAAGvC,GAAG,CAAC4D,SAAS,CAAC,CAAC;MAC9B,MAAMnD,IAAI,GAAGT,GAAG,CAACsC,OAAO,CAAC,CAAC,IAAInD,WAAW;MACzC,IAAIoD,MAAM,EAAE;QACV,MAAMsB,aAAa,GAAGtD,YAAY,CAChC;UAAEtC,QAAQ,EAAEsE,MAAM,CAACxB,GAAG,CAAC,CAAC;UAAE5C,SAAS,EAAEoE,MAAM,CAACvB,GAAG,CAAC;QAAE,CAAC,EACnDP,IAAI,EACJiD,IAAI,EACJ,IACF,CAAC;QACD,MAAMI,SAAS,GAAGvD,YAAY,CAC5B;UAAEtC,QAAQ,EAAE4F,aAAa,CAAC9C,GAAG;UAAE5C,SAAS,EAAE0F,aAAa,CAAC7C;QAAI,CAAC,EAC7DP,IAAI,EACJhB,UAAU,EACV,KACF,CAAC;QACDO,GAAG,CAAC4C,KAAK,CAACkB,SAAS,CAAC;MACtB;MACAxD,cAAc,CAACmD,OAAO,GAAGhE,UAAU;IACrC;EACF,CAAC,EAAE,CAACO,GAAG,EAAEP,UAAU,EAAEN,WAAW,EAAEoB,YAAY,CAAC,CAAC;EAEhD,MAAMwD,eAAe,GAAGA,CAAA,KAAM;IAC5B3D,aAAa,CAAC,IAAI,CAAC;IACnBC,UAAU,CAACoD,OAAO,GAAG,IAAI;EAC3B,CAAC;EAED,MAAMO,aAAa,GAAGA,CAAA,KAAM;IAC1B5D,aAAa,CAAC,KAAK,CAAC;EACtB,CAAC;EAED,MAAM6D,mBAAmB,GAAIC,KAA4B,IAAK;IAC5D,MAAML,aAAa,GAAGtD,YAAY,CAChC;MAAEtC,QAAQ,EAAEiG,KAAK,CAACC,MAAM,CAAC5B,MAAM,CAACxB,GAAG;MAAE5C,SAAS,EAAE+F,KAAK,CAACC,MAAM,CAAC5B,MAAM,CAACvB;IAAI,CAAC,EACzEkD,KAAK,CAACC,MAAM,CAAC1D,IAAI,EACjB+B,SAAS,EACT,IACF,CAAC;IACD,MAAM4B,OAA2B,GAAG;MAClCxG,UAAU,EAAE;QACVK,QAAQ,EAAE4F,aAAa,CAAC9C,GAAG;QAC3B5C,SAAS,EAAE0F,aAAa,CAAC7C;MAC3B,CAAC;MACDP,IAAI,EAAEyD,KAAK,CAACC,MAAM,CAAC1D,IAAI;MACvB4D,OAAO,EAAElE;IACX,CAAC;IACDP,YAAY,GAAG3D,oBAAoB,CAACmI,OAAO,CAAC,CAAC;EAC/C,CAAC;EAED,MAAME,UAAU,GAAIJ,KAAe,IAAK;IACtC,MAAM3B,MAAM,GAAG2B,KAAK,CAAClE,GAAG,CAAC4D,SAAS,CAAC,CAAC;IACpC,MAAMnD,IAAI,GAAGyD,KAAK,CAAClE,GAAG,CAACsC,OAAO,CAAC,CAAC,IAAI,CAAC;IACrC,MAAMuB,aAAa,GAAGtD,YAAY,CAChC;MAAEtC,QAAQ,EAAEsE,MAAM,EAAExB,GAAG,CAAC,CAAC,IAAI,CAAC;MAAE5C,SAAS,EAAEoE,MAAM,EAAEvB,GAAG,CAAC,CAAC,IAAI;IAAE,CAAC,EAC/DP,IAAI,EACJ+B,SAAS,EACT,IACF,CAAC;IACD,MAAM4B,OAA2B,GAAG;MAClCxG,UAAU,EAAE;QACVK,QAAQ,EAAE4F,aAAa,CAAC9C,GAAG;QAC3B5C,SAAS,EAAE0F,aAAa,CAAC7C;MAC3B,CAAC;MACDP,IAAI;MACJ4D,OAAO,EAAEhE,UAAU,CAACoD;IACtB,CAAC;IACD5D,YAAY,GAAG5D,oBAAoB,CAACmI,OAAO,CAAC,CAAC;IAC7C/D,UAAU,CAACoD,OAAO,GAAG,KAAK;EAC5B,CAAC;EAED,MAAMc,eAAe,GACnBhF,aAAa,KAAK,KAAK,IAAID,WAAW,KAAK,KAAK,GAC5C,MAAM,GACNC,aAAa,KAAK,KAAK,GACvB,aAAa,GACb,MAAM;EAEZ,MAAMiF,WAAW,GACf7E,KAAK,KAAK,MAAM,GACZnE,WAAW,CAACiJ,IAAI,GAChB9E,KAAK,KAAK,OAAO,GACjBnE,WAAW,CAACkJ,KAAK,GACjBlJ,WAAW,CAACmJ,aAAa;EAE/B,MAAMC,aAAa,GAAG1F,iBAAiB,GACnC;IAAE6B,GAAG,EAAE7B,iBAAiB,CAACjB,QAAQ;IAAE+C,GAAG,EAAE9B,iBAAiB,CAACf;EAAU,CAAC,GACrEqE,SAAS;EAEb,oBACE1G,IAAA,CAACF,UAAU,CAACiJ,QAAQ;IAACC,KAAK,EAAE;MAAE9E,GAAG;MAAEG;IAAW,CAAE;IAAAvB,QAAA,eAC9C9C,IAAA,CAACP,IAAI;MAACyD,GAAG,EAAEiB,YAAa;MAACpB,KAAK,EAAEA,KAAM;MAAAD,QAAA,eACpC5C,KAAA,CAACP,GAAG;QACFsE,EAAE,EAAEA,EAAG;QACPd,KAAK,EAAEA,KAAM;QACb2F,aAAa,EAAEA,aAAc;QAC7BG,WAAW,EAAE5F,WAAY;QACzBC,OAAO,EAAEA,OAAQ;QACjBC,OAAO,EAAEA,OAAQ;QACjBkF,eAAe,EAAEA,eAAgB;QACjCC,WAAW,EAAEA,WAAY;QACzBQ,gBAAgB;QAChBC,uBAAuB;QACvBC,IAAI,EAAE1F,YAAY,KAAK,KAAK,GAAG,CAAC,GAAGgD,SAAU;QAC7C2C,WAAW,EAAEpB,eAAgB;QAC7BqB,SAAS,EAAEpB,aAAc;QACzBqB,eAAe,EAAEpB,mBAAoB;QACrCqB,MAAM,EAAEhB,UAAW;QAAA1F,QAAA,gBAEnB9C,IAAA,CAAC4B,kBAAkB;UAACC,OAAO,EAAE+B;QAAoB,CAAE,CAAC,EACnDd,QAAQ;MAAA,CACN;IAAC,CACF;EAAC,CACY,CAAC;AAE1B,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["forwardRef","useCallback","useEffect","useId","useImperativeHandle","useRef","useState","View","ColorScheme","Map","useMap","Marker","MapContext","jsx","_jsx","jsxs","_jsxs","createSyntheticEvent","nativeEvent","currentTarget","target","bubbles","cancelable","defaultPrevented","eventPhase","isTrusted","preventDefault","stopPropagation","isDefaultPrevented","isPropagationStopped","persist","timeStamp","Date","now","type","userLocationDotStyle","width","height","backgroundColor","border","borderRadius","boxShadow","UserLocationMarker","enabled","coordinate","setCoordinate","watchId","updateLocation","position","latitude","coords","longitude","navigator","geolocation","getCurrentPosition","watchPosition","clearWatch","anchor","x","y","children","style","MapView","props","ref","mapId","initialCoordinate","initialZoom","minZoom","maxZoom","zoomEnabled","scrollEnabled","pitchEnabled","edgeInsets","userLocationEnabled","theme","onCameraMove","onCameraIdle","onReady","id","map","containerRef","readyFired","isDragging","setIsDragging","wasGesture","prevEdgeInsets","offsetCenter","coord","zoom","insets","reverse","p","current","lat","lng","dir","scale","Math","pow","offsetX","right","left","offsetY","bottom","top","latRad","PI","log","tan","cos","atan","sinh","applyEdgeInsets","newEdgeInsets","duration","prev","center","getCenter","getZoom","logicalCenter","newCenter","moveCamera","panTo","options","targetZoom","undefined","currentZoom","zoomChanged","setZoom","fitCoordinates","coordinates","first","padding","fitPadding","length","bounds","google","maps","LatLngBounds","forEach","extend","ei","fitBounds","setEdgeInsets","changed","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":[]}
@@ -51,7 +51,7 @@ export interface NativeProps extends ViewProps {
51
51
  pitchEnabled?: boolean;
52
52
  edgeInsets?: EdgeInsets;
53
53
  userLocationEnabled?: boolean;
54
- myLocationButtonEnabled?: boolean;
54
+ userLocationButtonEnabled?: boolean;
55
55
  theme?: WithDefault<'light' | 'dark' | 'system', 'system'>;
56
56
  onCameraMove?: DirectEventHandler<CameraMoveEvent>;
57
57
  onCameraIdle?: DirectEventHandler<CameraIdleEvent>;
@@ -77,10 +77,18 @@ interface NativeCommands {
77
77
  edgeInsetsRight: Double,
78
78
  duration: Double
79
79
  ) => void;
80
+ setEdgeInsets: (
81
+ viewRef: React.ElementRef<ComponentType>,
82
+ top: Double,
83
+ left: Double,
84
+ bottom: Double,
85
+ right: Double,
86
+ duration: Double
87
+ ) => void;
80
88
  }
81
89
 
82
90
  export const Commands = codegenNativeCommands<NativeCommands>({
83
- supportedCommands: ['moveCamera', 'fitCoordinates'],
91
+ supportedCommands: ['moveCamera', 'fitCoordinates', 'setEdgeInsets'],
84
92
  });
85
93
 
86
94
  export default codegenNativeComponent<NativeProps>(
@@ -1,11 +1,12 @@
1
1
  import React from 'react';
2
- import type { MapViewProps, MapViewRef, MoveCameraOptions, FitCoordinatesOptions } from './MapView.types';
3
- import type { Coordinate } from './types';
2
+ import type { MapViewProps, MapViewRef, MoveCameraOptions, FitCoordinatesOptions, SetEdgeInsetsOptions } from './MapView.types';
3
+ import type { Coordinate, EdgeInsets } from './types';
4
4
  export declare class MapView extends React.Component<MapViewProps> implements MapViewRef {
5
5
  static defaultProps: Partial<MapViewProps>;
6
6
  private nativeRef;
7
7
  moveCamera(coordinate: Coordinate, options?: MoveCameraOptions): void;
8
8
  fitCoordinates(coordinates: Coordinate[], options?: FitCoordinatesOptions): void;
9
+ setEdgeInsets(edgeInsets: EdgeInsets, options?: SetEdgeInsetsOptions): void;
9
10
  render(): import("react/jsx-runtime").JSX.Element;
10
11
  }
11
12
  //# sourceMappingURL=MapView.d.ts.map
@@ -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;CAkDP"}
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,EACrB,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEtD,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,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,oBAAoB;IASpE,MAAM;CAkDP"}
@@ -12,7 +12,13 @@ export interface MoveCameraOptions {
12
12
  * Options for fitting coordinates in view
13
13
  */
14
14
  export interface FitCoordinatesOptions {
15
- edgeInsets?: EdgeInsets;
15
+ padding?: EdgeInsets;
16
+ duration?: number;
17
+ }
18
+ /**
19
+ * Options for setting edge insets
20
+ */
21
+ export interface SetEdgeInsetsOptions {
16
22
  duration?: number;
17
23
  }
18
24
  /**
@@ -21,6 +27,7 @@ export interface FitCoordinatesOptions {
21
27
  export interface MapViewRef {
22
28
  moveCamera(coordinate: Coordinate, options?: MoveCameraOptions): void;
23
29
  fitCoordinates(coordinates: Coordinate[], options?: FitCoordinatesOptions): void;
30
+ setEdgeInsets(edgeInsets: EdgeInsets, options?: SetEdgeInsetsOptions): void;
24
31
  }
25
32
  /**
26
33
  * Camera event payload
@@ -95,7 +102,7 @@ export interface MapViewProps extends ViewProps {
95
102
  * @default false
96
103
  * @platform android
97
104
  */
98
- myLocationButtonEnabled?: boolean;
105
+ userLocationButtonEnabled?: boolean;
99
106
  /**
100
107
  * Map color theme
101
108
  * @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;;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"}
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,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,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;IACR,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;CAC7E;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,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC;;;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 +1 @@
1
- {"version":3,"file":"MapView.web.d.ts","sourceRoot":"","sources":["../../../src/MapView.web.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EAIX,MAAM,iBAAiB,CAAC;AAoEzB,eAAO,MAAM,OAAO,qGA0PlB,CAAC"}
1
+ {"version":3,"file":"MapView.web.d.ts","sourceRoot":"","sources":["../../../src/MapView.web.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EAKX,MAAM,iBAAiB,CAAC;AAoEzB,eAAO,MAAM,OAAO,qGA0QlB,CAAC"}
@@ -41,7 +41,7 @@ export interface NativeProps extends ViewProps {
41
41
  pitchEnabled?: boolean;
42
42
  edgeInsets?: EdgeInsets;
43
43
  userLocationEnabled?: boolean;
44
- myLocationButtonEnabled?: boolean;
44
+ userLocationButtonEnabled?: boolean;
45
45
  theme?: WithDefault<'light' | 'dark' | 'system', 'system'>;
46
46
  onCameraMove?: DirectEventHandler<CameraMoveEvent>;
47
47
  onCameraIdle?: DirectEventHandler<CameraIdleEvent>;
@@ -51,6 +51,7 @@ type ComponentType = HostComponent<NativeProps>;
51
51
  interface NativeCommands {
52
52
  moveCamera: (viewRef: React.ElementRef<ComponentType>, latitude: Double, longitude: Double, zoom: Double, duration: Double) => void;
53
53
  fitCoordinates: (viewRef: React.ElementRef<ComponentType>, coordinates: Coordinate[], edgeInsetsTop: Double, edgeInsetsLeft: Double, edgeInsetsBottom: Double, edgeInsetsRight: Double, duration: Double) => void;
54
+ setEdgeInsets: (viewRef: React.ElementRef<ComponentType>, top: Double, left: Double, bottom: Double, right: Double, duration: Double) => void;
54
55
  }
55
56
  export declare const Commands: NativeCommands;
56
57
  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,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"}
1
+ {"version":3,"file":"LuggMapViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/fabric/LuggMapViewNativeComponent.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,6 @@ export { Marker } from './components';
5
5
  export type { MarkerProps } from './components';
6
6
  export { Polyline } from './components';
7
7
  export type { PolylineProps, PolylineEasing, PolylineAnimatedOptions, } from './components';
8
- export type { MapViewProps, MapViewRef, MoveCameraOptions, FitCoordinatesOptions, CameraEventPayload, } from './MapView.types';
8
+ export type { MapViewProps, MapViewRef, MoveCameraOptions, FitCoordinatesOptions, SetEdgeInsetsOptions, CameraEventPayload, } from './MapView.types';
9
9
  export type { MapProvider as MapProviderType, MapTheme, Coordinate, Point, EdgeInsets, } from './types';
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,YAAY,EACV,aAAa,EACb,cAAc,EACd,uBAAuB,GACxB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,WAAW,IAAI,eAAe,EAC9B,QAAQ,EACR,UAAU,EACV,KAAK,EACL,UAAU,GACX,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,YAAY,EACV,aAAa,EACb,cAAc,EACd,uBAAuB,GACxB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,WAAW,IAAI,eAAe,EAC9B,QAAQ,EACR,UAAU,EACV,KAAK,EACL,UAAU,GACX,MAAM,SAAS,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lugg/maps",
3
- "version": "0.2.0-alpha.27",
3
+ "version": "0.2.0-alpha.29",
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
@@ -9,8 +9,9 @@ import type {
9
9
  MapViewRef,
10
10
  MoveCameraOptions,
11
11
  FitCoordinatesOptions,
12
+ SetEdgeInsetsOptions,
12
13
  } from './MapView.types';
13
- import type { Coordinate } from './types';
14
+ import type { Coordinate, EdgeInsets } from './types';
14
15
 
15
16
  export class MapView
16
17
  extends React.Component<MapViewProps>
@@ -47,8 +48,8 @@ export class MapView
47
48
  const first = coordinates[0];
48
49
  if (!ref || !first) return;
49
50
 
50
- const { edgeInsets, duration = -1 } = options ?? {};
51
- const { top = 0, left = 0, bottom = 0, right = 0 } = edgeInsets ?? {};
51
+ const { padding, duration = -1 } = options ?? {};
52
+ const { top = 0, left = 0, bottom = 0, right = 0 } = padding ?? {};
52
53
 
53
54
  if (coordinates.length === 1) {
54
55
  const zoom = this.props.initialZoom ?? 10;
@@ -67,6 +68,15 @@ export class MapView
67
68
  );
68
69
  }
69
70
 
71
+ setEdgeInsets(edgeInsets: EdgeInsets, options?: SetEdgeInsetsOptions) {
72
+ const ref = this.nativeRef.current;
73
+ if (!ref) return;
74
+
75
+ const { top = 0, left = 0, bottom = 0, right = 0 } = edgeInsets;
76
+ const { duration = -1 } = options ?? {};
77
+ Commands.setEdgeInsets(ref, top, left, bottom, right, duration);
78
+ }
79
+
70
80
  render() {
71
81
  const {
72
82
  provider,
@@ -81,7 +91,7 @@ export class MapView
81
91
  pitchEnabled,
82
92
  edgeInsets,
83
93
  userLocationEnabled,
84
- myLocationButtonEnabled,
94
+ userLocationButtonEnabled,
85
95
  theme,
86
96
  onCameraMove,
87
97
  onCameraIdle,
@@ -106,7 +116,7 @@ export class MapView
106
116
  pitchEnabled={pitchEnabled}
107
117
  edgeInsets={edgeInsets}
108
118
  userLocationEnabled={userLocationEnabled}
109
- myLocationButtonEnabled={myLocationButtonEnabled}
119
+ userLocationButtonEnabled={userLocationButtonEnabled}
110
120
  theme={theme}
111
121
  onCameraMove={onCameraMove}
112
122
  onCameraIdle={onCameraIdle}
@@ -14,7 +14,14 @@ export interface MoveCameraOptions {
14
14
  * Options for fitting coordinates in view
15
15
  */
16
16
  export interface FitCoordinatesOptions {
17
- edgeInsets?: EdgeInsets;
17
+ padding?: EdgeInsets;
18
+ duration?: number;
19
+ }
20
+
21
+ /**
22
+ * Options for setting edge insets
23
+ */
24
+ export interface SetEdgeInsetsOptions {
18
25
  duration?: number;
19
26
  }
20
27
 
@@ -27,6 +34,7 @@ export interface MapViewRef {
27
34
  coordinates: Coordinate[],
28
35
  options?: FitCoordinatesOptions
29
36
  ): void;
37
+ setEdgeInsets(edgeInsets: EdgeInsets, options?: SetEdgeInsetsOptions): void;
30
38
  }
31
39
 
32
40
  /**
@@ -103,7 +111,7 @@ export interface MapViewProps extends ViewProps {
103
111
  * @default false
104
112
  * @platform android
105
113
  */
106
- myLocationButtonEnabled?: boolean;
114
+ userLocationButtonEnabled?: boolean;
107
115
  /**
108
116
  * Map color theme
109
117
  * @default 'system'
@@ -25,9 +25,10 @@ import type {
25
25
  MapViewRef,
26
26
  MoveCameraOptions,
27
27
  FitCoordinatesOptions,
28
+ SetEdgeInsetsOptions,
28
29
  CameraEventPayload,
29
30
  } from './MapView.types';
30
- import type { Coordinate } from './types';
31
+ import type { Coordinate, EdgeInsets } from './types';
31
32
 
32
33
  const createSyntheticEvent = <T,>(nativeEvent: T): NativeSyntheticEvent<T> =>
33
34
  ({
@@ -126,15 +127,9 @@ export const MapView = forwardRef<MapViewRef, MapViewProps>(function MapView(
126
127
  const prevEdgeInsets = useRef(edgeInsets);
127
128
 
128
129
  const offsetCenter = useCallback(
129
- (
130
- coord: Coordinate,
131
- zoom: number,
132
- edgeInsetsOverride?: typeof edgeInsets,
133
- reverse = false
134
- ) => {
135
- const p = edgeInsetsOverride ?? edgeInsets;
136
- const div = map?.getDiv();
137
- if (!p || !div) {
130
+ (coord: Coordinate, zoom: number, insets?: EdgeInsets, reverse = false) => {
131
+ const p = insets ?? prevEdgeInsets.current;
132
+ if (!p) {
138
133
  return { lat: coord.latitude, lng: coord.longitude };
139
134
  }
140
135
 
@@ -157,7 +152,41 @@ export const MapView = forwardRef<MapViewRef, MapViewProps>(function MapView(
157
152
 
158
153
  return { lat, lng };
159
154
  },
160
- [map, edgeInsets]
155
+ []
156
+ );
157
+
158
+ const applyEdgeInsets = useCallback(
159
+ (newEdgeInsets: EdgeInsets, duration?: number) => {
160
+ if (!map) return;
161
+
162
+ const prev = prevEdgeInsets.current;
163
+ const center = map.getCenter();
164
+ const zoom = map.getZoom() ?? initialZoom;
165
+
166
+ if (center) {
167
+ const logicalCenter = offsetCenter(
168
+ { latitude: center.lat(), longitude: center.lng() },
169
+ zoom,
170
+ prev,
171
+ true
172
+ );
173
+ const newCenter = offsetCenter(
174
+ { latitude: logicalCenter.lat, longitude: logicalCenter.lng },
175
+ zoom,
176
+ newEdgeInsets,
177
+ false
178
+ );
179
+
180
+ if (duration === 0) {
181
+ map.moveCamera({ center: newCenter, zoom });
182
+ } else {
183
+ map.panTo(newCenter);
184
+ }
185
+ }
186
+
187
+ prevEdgeInsets.current = newEdgeInsets;
188
+ },
189
+ [map, initialZoom, offsetCenter]
161
190
  );
162
191
 
163
192
  useImperativeHandle(
@@ -190,7 +219,7 @@ export const MapView = forwardRef<MapViewRef, MapViewProps>(function MapView(
190
219
  const first = coordinates[0];
191
220
  if (!map || !first) return;
192
221
 
193
- const { edgeInsets: fitEdgeInsets, duration = -1 } = options ?? {};
222
+ const { padding: fitPadding, duration = -1 } = options ?? {};
194
223
 
195
224
  if (coordinates.length === 1) {
196
225
  this.moveCamera(first, { zoom: initialZoom, duration });
@@ -202,15 +231,20 @@ export const MapView = forwardRef<MapViewRef, MapViewProps>(function MapView(
202
231
  bounds.extend({ lat: coord.latitude, lng: coord.longitude });
203
232
  });
204
233
 
234
+ const ei = prevEdgeInsets.current;
205
235
  map.fitBounds(bounds, {
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),
236
+ top: (ei?.top ?? 0) + (fitPadding?.top ?? 0),
237
+ left: (ei?.left ?? 0) + (fitPadding?.left ?? 0),
238
+ bottom: (ei?.bottom ?? 0) + (fitPadding?.bottom ?? 0),
239
+ right: (ei?.right ?? 0) + (fitPadding?.right ?? 0),
210
240
  });
211
241
  },
242
+
243
+ setEdgeInsets(newEdgeInsets: EdgeInsets, options?: SetEdgeInsetsOptions) {
244
+ applyEdgeInsets(newEdgeInsets, options?.duration);
245
+ },
212
246
  }),
213
- [map, initialZoom, edgeInsets, offsetCenter]
247
+ [map, initialZoom, offsetCenter, applyEdgeInsets]
214
248
  );
215
249
 
216
250
  useEffect(() => {
@@ -231,26 +265,9 @@ export const MapView = forwardRef<MapViewRef, MapViewProps>(function MapView(
231
265
  prev?.right !== edgeInsets.right;
232
266
 
233
267
  if (changed) {
234
- const center = map.getCenter();
235
- const zoom = map.getZoom() ?? initialZoom;
236
- if (center) {
237
- const logicalCenter = offsetCenter(
238
- { latitude: center.lat(), longitude: center.lng() },
239
- zoom,
240
- prev,
241
- true
242
- );
243
- const newCenter = offsetCenter(
244
- { latitude: logicalCenter.lat, longitude: logicalCenter.lng },
245
- zoom,
246
- edgeInsets,
247
- false
248
- );
249
- map.panTo(newCenter);
250
- }
251
- prevEdgeInsets.current = edgeInsets;
268
+ applyEdgeInsets(edgeInsets);
252
269
  }
253
- }, [map, edgeInsets, initialZoom, offsetCenter]);
270
+ }, [map, edgeInsets, applyEdgeInsets]);
254
271
 
255
272
  const handleDragStart = () => {
256
273
  setIsDragging(true);
@@ -51,7 +51,7 @@ export interface NativeProps extends ViewProps {
51
51
  pitchEnabled?: boolean;
52
52
  edgeInsets?: EdgeInsets;
53
53
  userLocationEnabled?: boolean;
54
- myLocationButtonEnabled?: boolean;
54
+ userLocationButtonEnabled?: boolean;
55
55
  theme?: WithDefault<'light' | 'dark' | 'system', 'system'>;
56
56
  onCameraMove?: DirectEventHandler<CameraMoveEvent>;
57
57
  onCameraIdle?: DirectEventHandler<CameraIdleEvent>;
@@ -77,10 +77,18 @@ interface NativeCommands {
77
77
  edgeInsetsRight: Double,
78
78
  duration: Double
79
79
  ) => void;
80
+ setEdgeInsets: (
81
+ viewRef: React.ElementRef<ComponentType>,
82
+ top: Double,
83
+ left: Double,
84
+ bottom: Double,
85
+ right: Double,
86
+ duration: Double
87
+ ) => void;
80
88
  }
81
89
 
82
90
  export const Commands = codegenNativeCommands<NativeCommands>({
83
- supportedCommands: ['moveCamera', 'fitCoordinates'],
91
+ supportedCommands: ['moveCamera', 'fitCoordinates', 'setEdgeInsets'],
84
92
  });
85
93
 
86
94
  export default codegenNativeComponent<NativeProps>(
package/src/index.ts CHANGED
@@ -14,6 +14,7 @@ export type {
14
14
  MapViewRef,
15
15
  MoveCameraOptions,
16
16
  FitCoordinatesOptions,
17
+ SetEdgeInsetsOptions,
17
18
  CameraEventPayload,
18
19
  } from './MapView.types';
19
20
  export type {