@lugg/maps 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/android/src/main/java/com/luggmaps/LuggMapView.kt +15 -2
  2. package/android/src/main/java/com/luggmaps/LuggMapViewManager.kt +4 -0
  3. package/android/src/main/java/com/luggmaps/LuggMapWrapperView.kt +9 -0
  4. package/android/src/main/java/com/luggmaps/core/GoogleMapProvider.kt +25 -1
  5. package/android/src/main/java/com/luggmaps/core/MapProviderDelegate.kt +5 -0
  6. package/ios/LuggMapView.mm +70 -8
  7. package/ios/core/AppleMapProvider.mm +15 -16
  8. package/ios/core/AppleStaticMapProvider.mm +74 -0
  9. package/ios/core/GoogleMapProvider.mm +11 -10
  10. package/ios/core/GoogleStaticMapProvider.mm +20 -16
  11. package/ios/core/MapEdgeInsets.h +18 -0
  12. package/ios/core/MapProviderDelegate.h +4 -0
  13. package/ios/core/StaticMapProviderBase.h +5 -0
  14. package/ios/core/StaticMapProviderBase.mm +8 -6
  15. package/lib/module/MapView.js +5 -0
  16. package/lib/module/MapView.js.map +1 -1
  17. package/lib/module/MapView.web.js +20 -6
  18. package/lib/module/MapView.web.js.map +1 -1
  19. package/lib/module/fabric/LuggMapViewNativeComponent.ts +7 -1
  20. package/lib/typescript/src/MapView.d.ts +1 -0
  21. package/lib/typescript/src/MapView.d.ts.map +1 -1
  22. package/lib/typescript/src/MapView.types.d.ts +9 -1
  23. package/lib/typescript/src/MapView.types.d.ts.map +1 -1
  24. package/lib/typescript/src/MapView.web.d.ts.map +1 -1
  25. package/lib/typescript/src/fabric/LuggMapViewNativeComponent.d.ts +1 -0
  26. package/lib/typescript/src/fabric/LuggMapViewNativeComponent.d.ts.map +1 -1
  27. package/package.json +6 -3
  28. package/src/MapView.tsx +7 -0
  29. package/src/MapView.types.ts +9 -1
  30. package/src/MapView.web.tsx +24 -5
  31. package/src/fabric/LuggMapViewNativeComponent.ts +7 -1
@@ -131,7 +131,7 @@ class LuggMapView(private val reactContext: ThemedReactContext) :
131
131
 
132
132
  // region Provider Initialization
133
133
 
134
- private fun initializeProvider() {
134
+ private fun initializeProvider(latitude: Double = initialLatitude, longitude: Double = initialLongitude, zoom: Float = initialZoom) {
135
135
  if (provider != null || mapWrapperView == null) return
136
136
 
137
137
  if (staticMode) {
@@ -146,7 +146,7 @@ class LuggMapView(private val reactContext: ThemedReactContext) :
146
146
 
147
147
  applyProps()
148
148
 
149
- google.initializeMap(mapWrapperView!!, initialLatitude, initialLongitude, initialZoom)
149
+ google.initializeMap(mapWrapperView!!, latitude, longitude, zoom)
150
150
 
151
151
  // Flush children mounted before provider was created
152
152
  for (i in 0 until childCount) {
@@ -371,6 +371,19 @@ class LuggMapView(private val reactContext: ThemedReactContext) :
371
371
  provider?.fitCoordinates(coordinates, edgeInsetsTop, edgeInsetsLeft, edgeInsetsBottom, edgeInsetsRight, duration)
372
372
  }
373
373
 
374
+ fun reload() {
375
+ val current = provider ?: return
376
+ val latitude = current.cameraLatitude
377
+ val longitude = current.cameraLongitude
378
+ val zoom = current.cameraZoom
379
+
380
+ current.destroy()
381
+ provider = null
382
+ if (isAttachedToWindow) {
383
+ initializeProvider(latitude, longitude, zoom)
384
+ }
385
+ }
386
+
374
387
  // endregion
375
388
 
376
389
  companion object {
@@ -273,6 +273,10 @@ class LuggMapViewManager :
273
273
  )
274
274
  }
275
275
 
276
+ override fun reload(view: LuggMapView) {
277
+ view.reload()
278
+ }
279
+
276
280
  companion object {
277
281
  const val NAME = "LuggMapView"
278
282
  }
@@ -2,6 +2,7 @@ package com.luggmaps
2
2
 
3
3
  import android.annotation.SuppressLint
4
4
  import android.view.MotionEvent
5
+ import android.view.View
5
6
  import com.facebook.react.uimanager.ThemedReactContext
6
7
  import com.facebook.react.views.view.ReactViewGroup
7
8
 
@@ -34,6 +35,14 @@ class LuggMapWrapperView(context: ThemedReactContext) : ReactViewGroup(context)
34
35
  }
35
36
  }
36
37
 
38
+ override fun onViewAdded(child: View) {
39
+ super.onViewAdded(child)
40
+ // A replacement map needs sizing even when Yoga's layout is unchanged.
41
+ if (indexOfChild(child) == 0) {
42
+ layoutChild(width, height)
43
+ }
44
+ }
45
+
37
46
  override fun onLayout(
38
47
  changed: Boolean,
39
48
  left: Int,
@@ -128,6 +128,7 @@ class GoogleMapProvider(private val context: Context) :
128
128
 
129
129
  // Theme
130
130
  private var theme: String = "system"
131
+ private var mapType: String = "standard"
131
132
 
132
133
  // Edge Insets
133
134
  private var edgeInsets: EdgeInsets = EdgeInsets()
@@ -183,7 +184,7 @@ class GoogleMapProvider(private val context: Context) :
183
184
  view.onCreate(null)
184
185
  view.onResume()
185
186
  view.getMapAsync(this)
186
- wrapper.addView(view)
187
+ wrapper.addView(view, 0)
187
188
  }
188
189
  wrapper.onLayoutReady = null
189
190
  }
@@ -211,6 +212,9 @@ class GoogleMapProvider(private val context: Context) :
211
212
  groundOverlayToViewMap.clear()
212
213
  markerToViewMap.clear()
213
214
  wrapperView?.touchEventHandler = null
215
+ // The wrapper outlives the provider on reload; don't leave the dead map
216
+ // view in it
217
+ mapView?.let { wrapperView?.removeView(it) }
214
218
  wrapperView = null
215
219
  googleMap?.setOnCameraMoveStartedListener(null)
216
220
  googleMap?.setOnCameraMoveListener(null)
@@ -276,6 +280,7 @@ class GoogleMapProvider(private val context: Context) :
276
280
  applyZoomLimits()
277
281
  applyInsetAdjustment()
278
282
  applyTheme()
283
+ setMapType(mapType)
279
284
  applyUserLocation()
280
285
  processPendingMarkers()
281
286
  processPendingPolylines()
@@ -542,6 +547,7 @@ class GoogleMapProvider(private val context: Context) :
542
547
  }
543
548
 
544
549
  override fun setMapType(value: String) {
550
+ mapType = value
545
551
  googleMap?.mapType = when (value) {
546
552
  "satellite" -> GoogleMap.MAP_TYPE_SATELLITE
547
553
  "terrain" -> GoogleMap.MAP_TYPE_TERRAIN
@@ -1201,6 +1207,24 @@ class GoogleMapProvider(private val context: Context) :
1201
1207
 
1202
1208
  // endregion
1203
1209
 
1210
+ // region Camera
1211
+
1212
+ // A static map's camera is inset-shifted (staticCameraTarget), so report
1213
+ // the requested camera instead
1214
+ private val liveCameraPosition: CameraPosition?
1215
+ get() = if (staticMode) null else googleMap?.cameraPosition
1216
+
1217
+ override val cameraLatitude: Double
1218
+ get() = liveCameraPosition?.target?.latitude ?: initialLatitude
1219
+
1220
+ override val cameraLongitude: Double
1221
+ get() = liveCameraPosition?.target?.longitude ?: initialLongitude
1222
+
1223
+ override val cameraZoom: Float
1224
+ get() = liveCameraPosition?.zoom ?: initialZoom
1225
+
1226
+ // endregion
1227
+
1204
1228
  // region Lifecycle
1205
1229
 
1206
1230
  override fun pauseAnimations() {
@@ -58,6 +58,11 @@ interface MapProvider {
58
58
  fun addTileOverlayView(tileOverlayView: LuggTileOverlayView)
59
59
  fun removeTileOverlayView(tileOverlayView: LuggTileOverlayView)
60
60
 
61
+ // Current camera (the initial camera until the map is ready)
62
+ val cameraLatitude: Double
63
+ val cameraLongitude: Double
64
+ val cameraZoom: Float
65
+
61
66
  // Lifecycle
62
67
  fun pauseAnimations()
63
68
  fun resumeAnimations()
@@ -311,11 +311,20 @@ static NSCache<NSString *, UIImage *> *StaticSnapshotCache(void) {
311
311
  #pragma mark - Provider Initialization
312
312
 
313
313
  - (void)initializeProvider {
314
- if (_provider || !_mapWrapperView)
315
- return;
316
-
317
314
  const auto &viewProps =
318
315
  *std::static_pointer_cast<LuggMapViewProps const>(_props);
316
+ [self
317
+ initializeProviderWithCoordinate:CLLocationCoordinate2DMake(
318
+ viewProps.initialCoordinate.latitude,
319
+ viewProps.initialCoordinate
320
+ .longitude)
321
+ zoom:viewProps.initialZoom];
322
+ }
323
+
324
+ - (void)initializeProviderWithCoordinate:(CLLocationCoordinate2D)coordinate
325
+ zoom:(double)zoom {
326
+ if (_provider || !_mapWrapperView)
327
+ return;
319
328
 
320
329
  if (_providerType == LuggMapViewProvider::Apple) {
321
330
  _provider = _staticMode ? [[AppleStaticMapProvider alloc] init]
@@ -333,13 +342,9 @@ static NSCache<NSString *, UIImage *> *StaticSnapshotCache(void) {
333
342
  _provider.delegate = self;
334
343
  _provider.staticMode = _staticMode;
335
344
 
336
- CLLocationCoordinate2D coordinate =
337
- CLLocationCoordinate2DMake(viewProps.initialCoordinate.latitude,
338
- viewProps.initialCoordinate.longitude);
339
-
340
345
  [_provider initializeMapInView:_mapWrapperView
341
346
  initialCoordinate:coordinate
342
- initialZoom:viewProps.initialZoom];
347
+ initialZoom:zoom];
343
348
 
344
349
  // After initializeMapInView so the cache key reads the provider's camera;
345
350
  // the base render is async and picks up the cached image
@@ -582,6 +587,63 @@ static NSCache<NSString *, UIImage *> *StaticSnapshotCache(void) {
582
587
  duration:duration];
583
588
  }
584
589
 
590
+ // Loads the map again, e.g. to recover from missing tiles. A static map
591
+ // drops its cached snapshot and renders the base map again in place.
592
+ // Neither SDK can reload a live map's tiles, so the native map view is
593
+ // recreated at the current camera (coordinate and zoom; heading and pitch
594
+ // reset) with children re-added.
595
+ - (void)reload {
596
+ if (_staticMode) {
597
+ _staticSnapshotDone = NO;
598
+ NSString *cacheKey = [self staticSnapshotCacheKey];
599
+ if (cacheKey) {
600
+ [StaticSnapshotCache() removeObjectForKey:cacheKey];
601
+ }
602
+ if ([_provider isKindOfClass:[StaticMapProviderBase class]]) {
603
+ [(StaticMapProviderBase *)_provider rerenderBaseMap];
604
+ }
605
+ return;
606
+ }
607
+
608
+ if (!_provider)
609
+ return;
610
+
611
+ CLLocationCoordinate2D coordinate = _provider.coordinate;
612
+ double zoom = _provider.zoom;
613
+ // Children keep their native marker/overlay objects from the old map;
614
+ // detach them so the new provider creates fresh ones on the flush
615
+ [self removeChildrenFromProvider];
616
+ [_provider destroy];
617
+ _provider = nil;
618
+ _initialized = NO;
619
+ [self initializeProviderWithCoordinate:coordinate zoom:zoom];
620
+ if (_providerType == LuggMapViewProvider::Apple) {
621
+ // The captured camera already includes the previous inset offset.
622
+ [_provider moveCamera:coordinate.latitude
623
+ longitude:coordinate.longitude
624
+ zoom:zoom
625
+ duration:0];
626
+ }
627
+ }
628
+
629
+ - (void)removeChildrenFromProvider {
630
+ for (UIView *subview in self.subviews) {
631
+ if ([subview isKindOfClass:[LuggMarkerView class]]) {
632
+ [_provider removeMarkerView:(LuggMarkerView *)subview];
633
+ } else if ([subview isKindOfClass:[LuggPolylineView class]]) {
634
+ [_provider removePolylineView:(LuggPolylineView *)subview];
635
+ } else if ([subview isKindOfClass:[LuggPolygonView class]]) {
636
+ [_provider removePolygonView:(LuggPolygonView *)subview];
637
+ } else if ([subview isKindOfClass:[LuggCircleView class]]) {
638
+ [_provider removeCircleView:(LuggCircleView *)subview];
639
+ } else if ([subview isKindOfClass:[LuggGroundOverlayView class]]) {
640
+ [_provider removeGroundOverlayView:(LuggGroundOverlayView *)subview];
641
+ } else if ([subview isKindOfClass:[LuggTileOverlayView class]]) {
642
+ [_provider removeTileOverlayView:(LuggTileOverlayView *)subview];
643
+ }
644
+ }
645
+ }
646
+
585
647
  - (void)handleCommand:(const NSString *)commandName args:(const NSArray *)args {
586
648
  RCTLuggMapViewHandleCommand(self, commandName, args);
587
649
  }
@@ -15,6 +15,7 @@ using facebook::react::LuggMapViewTheme;
15
15
  #import "../extensions/MKMapView+Zoom.h"
16
16
  #import "LuggAnnotationView.h"
17
17
  #import "MKPolylineAnimator.h"
18
+ #import "MapEdgeInsets.h"
18
19
 
19
20
  @interface AppleMarkerAnnotation : NSObject <MKAnnotation>
20
21
  @property(nonatomic, assign) CLLocationCoordinate2D coordinate;
@@ -221,6 +222,14 @@ static double tileToLng(NSInteger x, NSInteger z) {
221
222
  _isMapReady = NO;
222
223
  }
223
224
 
225
+ - (CLLocationCoordinate2D)coordinate {
226
+ return _mapView.centerCoordinate;
227
+ }
228
+
229
+ - (double)zoom {
230
+ return _mapView.zoomLevel;
231
+ }
232
+
224
233
  - (void)destroyMapView {
225
234
  [self dismissNonBubbledCallout];
226
235
  [self stopEdgeInsetsAnimation];
@@ -457,13 +466,11 @@ MKMapType LuggMKMapTypeFromMapType(LuggMapViewMapType mapType) {
457
466
 
458
467
  - (void)setEdgeInsets:(UIEdgeInsets)edgeInsets
459
468
  oldEdgeInsets:(UIEdgeInsets)oldEdgeInsets {
460
- CGFloat oldOffsetX = (oldEdgeInsets.left - oldEdgeInsets.right) / 2.0;
461
- CGFloat oldOffsetY = (oldEdgeInsets.top - oldEdgeInsets.bottom) / 2.0;
462
- CGFloat newOffsetX = (edgeInsets.left - edgeInsets.right) / 2.0;
463
- CGFloat newOffsetY = (edgeInsets.top - edgeInsets.bottom) / 2.0;
469
+ CGPoint oldOffset = LuggMapInsetOffset(oldEdgeInsets);
470
+ CGPoint newOffset = LuggMapInsetOffset(edgeInsets);
464
471
 
465
- CGFloat deltaX = newOffsetX - oldOffsetX;
466
- CGFloat deltaY = newOffsetY - oldOffsetY;
472
+ CGFloat deltaX = newOffset.x - oldOffset.x;
473
+ CGFloat deltaY = newOffset.y - oldOffset.y;
467
474
 
468
475
  _mapView.layoutMargins = edgeInsets;
469
476
  _edgeInsetsCurrent = edgeInsets;
@@ -506,16 +513,8 @@ MKMapType LuggMKMapTypeFromMapType(LuggMapViewMapType mapType) {
506
513
  CFTimeInterval elapsed = CACurrentMediaTime() - _edgeInsetsAnimationStart;
507
514
  CGFloat progress = MIN(elapsed / _edgeInsetsAnimationDuration, 1.0);
508
515
 
509
- // Ease out cubic
510
- CGFloat t = 1.0 - (1.0 - progress) * (1.0 - progress) * (1.0 - progress);
511
-
512
- UIEdgeInsets current = UIEdgeInsetsMake(
513
- _edgeInsetsFrom.top + (_edgeInsetsTo.top - _edgeInsetsFrom.top) * t,
514
- _edgeInsetsFrom.left + (_edgeInsetsTo.left - _edgeInsetsFrom.left) * t,
515
- _edgeInsetsFrom.bottom +
516
- (_edgeInsetsTo.bottom - _edgeInsetsFrom.bottom) * t,
517
- _edgeInsetsFrom.right +
518
- (_edgeInsetsTo.right - _edgeInsetsFrom.right) * t);
516
+ UIEdgeInsets current =
517
+ LuggMapInsetsAtProgress(_edgeInsetsFrom, _edgeInsetsTo, progress);
519
518
 
520
519
  [self setEdgeInsets:current oldEdgeInsets:_edgeInsetsCurrent];
521
520
 
@@ -4,6 +4,7 @@ using facebook::react::LuggMapViewPoiFilterMode;
4
4
  using facebook::react::LuggMapViewTheme;
5
5
 
6
6
  #import "../extensions/MKMapView+Zoom.h"
7
+ #import "../extensions/UIView+Snapshot.h"
7
8
  #import "AppleMapProvider.h"
8
9
  #import "LuggAnnotationView.h"
9
10
 
@@ -42,8 +43,13 @@ static MKMapRect LuggStaticFittedMapRect(CLLocationCoordinate2D center,
42
43
  return rect;
43
44
  }
44
45
 
46
+ @interface AppleStaticMapProvider () <MKMapViewDelegate>
47
+ @end
48
+
45
49
  @implementation AppleStaticMapProvider {
46
50
  MKMapSnapshotter *_snapshotter;
51
+ MKMapView *_warmupMapView;
52
+ BOOL _snapshotReady;
47
53
 
48
54
  BOOL _poiEnabled;
49
55
  LuggMapViewPoiFilterMode _poiFilterMode;
@@ -106,6 +112,12 @@ static MKMapRect LuggStaticFittedMapRect(CLLocationCoordinate2D center,
106
112
  }
107
113
 
108
114
  - (void)renderBaseMap {
115
+ // MKMapSnapshotter bakes attribution into the image without inset control.
116
+ if (!UIEdgeInsetsEqualToEdgeInsets(self.edgeInsets, UIEdgeInsetsZero)) {
117
+ [self renderInsetBaseMap];
118
+ return;
119
+ }
120
+
109
121
  if (_snapshotter)
110
122
  return;
111
123
 
@@ -140,6 +152,68 @@ static MKMapRect LuggStaticFittedMapRect(CLLocationCoordinate2D center,
140
152
  - (void)cancelBaseRender {
141
153
  [_snapshotter cancel];
142
154
  _snapshotter = nil;
155
+ _warmupMapView.delegate = nil;
156
+ [_warmupMapView removeFromSuperview];
157
+ _warmupMapView = nil;
158
+ _snapshotReady = NO;
159
+ }
160
+
161
+ #pragma mark - Inset snapshots
162
+
163
+ - (void)renderInsetBaseMap {
164
+ if (_warmupMapView) {
165
+ if (!_snapshotReady || !_warmupMapView.window)
166
+ return;
167
+
168
+ UIImageView *imageView = [_warmupMapView lugg_snapshotImageView];
169
+ if (!imageView)
170
+ return;
171
+
172
+ [self displayBaseImage:imageView.image fromCache:NO];
173
+ [self cancelBaseRender];
174
+ return;
175
+ }
176
+
177
+ MKMapView *mapView =
178
+ [[MKMapView alloc] initWithFrame:self.wrapperView.bounds];
179
+ mapView.userInteractionEnabled = NO;
180
+ mapView.showsCompass = NO;
181
+ mapView.insetsLayoutMarginsFromSafeArea = NO;
182
+ mapView.layoutMargins = self.edgeInsets;
183
+ mapView.mapType = LuggMKMapTypeFromMapType(self.mapType);
184
+ mapView.pointOfInterestFilter = LuggPointOfInterestFilter(
185
+ _poiEnabled, _poiFilterMode, _poiFilterCategories);
186
+ mapView.overrideUserInterfaceStyle =
187
+ [self snapshotTraitCollection].userInterfaceStyle;
188
+ [mapView setVisibleMapRect:self.mapRect
189
+ edgePadding:UIEdgeInsetsZero
190
+ animated:NO];
191
+ _warmupMapView = mapView;
192
+ mapView.delegate = self;
193
+ [self.wrapperView insertSubview:mapView atIndex:0];
194
+ }
195
+
196
+ - (void)mapViewWillStartRenderingMap:(MKMapView *)mapView {
197
+ _snapshotReady = NO;
198
+ }
199
+
200
+ - (void)mapViewDidFinishRenderingMap:(MKMapView *)mapView
201
+ fullyRendered:(BOOL)fullyRendered {
202
+ _snapshotReady = fullyRendered;
203
+ [self revealOverlays];
204
+ if (!fullyRendered)
205
+ return;
206
+
207
+ __weak AppleStaticMapProvider *weakSelf = self;
208
+ __weak MKMapView *weakMapView = mapView;
209
+ [[NSRunLoop mainRunLoop]
210
+ performInModes:@[ NSDefaultRunLoopMode ]
211
+ block:^{
212
+ AppleStaticMapProvider *strongSelf = weakSelf;
213
+ if (strongSelf && weakMapView &&
214
+ strongSelf->_warmupMapView == weakMapView)
215
+ [strongSelf renderInsetBaseMap];
216
+ }];
143
217
  }
144
218
 
145
219
  #pragma mark - Props
@@ -13,6 +13,7 @@ using facebook::react::LuggMapViewTheme;
13
13
  #import "../LuggPolylineView.h"
14
14
  #import "../LuggTileOverlayView.h"
15
15
  #import "GMSPolylineAnimator.h"
16
+ #import "MapEdgeInsets.h"
16
17
  #import "PolylineAnimatorBase.h"
17
18
 
18
19
  static NSString *const kDemoMapId = @"DEMO_MAP_ID";
@@ -183,6 +184,14 @@ LuggInterfaceStyleFromTheme(facebook::react::LuggMapViewTheme theme) {
183
184
  _mapView = nil;
184
185
  }
185
186
 
187
+ - (CLLocationCoordinate2D)coordinate {
188
+ return _mapView.camera.target;
189
+ }
190
+
191
+ - (double)zoom {
192
+ return _mapView.camera.zoom;
193
+ }
194
+
186
195
  #pragma mark - Props
187
196
 
188
197
  - (void)setZoomEnabled:(BOOL)enabled {
@@ -288,16 +297,8 @@ LuggInterfaceStyleFromTheme(facebook::react::LuggMapViewTheme theme) {
288
297
  CFTimeInterval elapsed = CACurrentMediaTime() - _edgeInsetsAnimationStart;
289
298
  CGFloat progress = MIN(elapsed / _edgeInsetsAnimationDuration, 1.0);
290
299
 
291
- // Ease out cubic
292
- CGFloat t = 1.0 - (1.0 - progress) * (1.0 - progress) * (1.0 - progress);
293
-
294
- UIEdgeInsets current = UIEdgeInsetsMake(
295
- _edgeInsetsFrom.top + (_edgeInsetsTo.top - _edgeInsetsFrom.top) * t,
296
- _edgeInsetsFrom.left + (_edgeInsetsTo.left - _edgeInsetsFrom.left) * t,
297
- _edgeInsetsFrom.bottom +
298
- (_edgeInsetsTo.bottom - _edgeInsetsFrom.bottom) * t,
299
- _edgeInsetsFrom.right +
300
- (_edgeInsetsTo.right - _edgeInsetsFrom.right) * t);
300
+ UIEdgeInsets current =
301
+ LuggMapInsetsAtProgress(_edgeInsetsFrom, _edgeInsetsTo, progress);
301
302
 
302
303
  _mapView.padding = current;
303
304
 
@@ -49,7 +49,7 @@ static void EnqueueStaticMapView(NSString *mapId, GMSMapView *mapView) {
49
49
 
50
50
  @implementation GoogleStaticMapProvider {
51
51
  GMSMapView *_warmupMapView;
52
- BOOL _tilesRendered;
52
+ BOOL _snapshotReady;
53
53
  BOOL _swapScheduled;
54
54
  }
55
55
 
@@ -106,7 +106,7 @@ static void EnqueueStaticMapView(NSString *mapId, GMSMapView *mapView) {
106
106
  if (!wrapperView)
107
107
  return;
108
108
 
109
- _tilesRendered = NO;
109
+ _snapshotReady = NO;
110
110
 
111
111
  GMSMapView *mapView = DequeueStaticMapView([self poolKey]);
112
112
  if (mapView) {
@@ -152,12 +152,12 @@ static void EnqueueStaticMapView(NSString *mapId, GMSMapView *mapView) {
152
152
  _warmupMapView = nil;
153
153
  }
154
154
 
155
- // Once tiles are fully rendered, swap the live map with its image and
156
- // release the map view. The image render and map teardown are expensive,
157
- // so they run outside scroll tracking; the live map keeps displaying (and
158
- // loading tiles) until then.
155
+ // Once the map is stable, swap the live map with its image and release the
156
+ // map view. The image render and map teardown are expensive, so they run
157
+ // outside scroll tracking; the live map keeps displaying (and loading
158
+ // tiles) until then.
159
159
  - (void)scheduleSwap {
160
- if (_swapScheduled || !_warmupMapView || !_tilesRendered ||
160
+ if (_swapScheduled || !_warmupMapView || !_snapshotReady ||
161
161
  !_warmupMapView.window)
162
162
  return;
163
163
 
@@ -176,9 +176,9 @@ static void EnqueueStaticMapView(NSString *mapId, GMSMapView *mapView) {
176
176
 
177
177
  - (void)performSwap {
178
178
  // Tiles can invalidate (or the view leave the window) between scheduling
179
- // and this runloop pass; the next tile callback or resumeAnimations
179
+ // and this runloop pass; the next snapshotReady or resumeAnimations
180
180
  // retries
181
- if (!_warmupMapView || !_tilesRendered || !_warmupMapView.window)
181
+ if (!_warmupMapView || !_snapshotReady || !_warmupMapView.window)
182
182
  return;
183
183
 
184
184
  UIImageView *imageView = [_warmupMapView lugg_snapshotImageView];
@@ -192,20 +192,24 @@ static void EnqueueStaticMapView(NSString *mapId, GMSMapView *mapView) {
192
192
  #pragma mark - GMSMapViewDelegate
193
193
 
194
194
  - (void)mapViewDidStartTileRendering:(GMSMapView *)mapView {
195
- _tilesRendered = NO;
195
+ _snapshotReady = NO;
196
196
  }
197
197
 
198
+ // Fires for tiles that failed permanently too, so it can't gate the swap:
199
+ // capturing here cached blank tiles under the static key with no way to
200
+ // recover. The visible warmup map has rendered what it can; show the
201
+ // overlays now instead of waiting for the swap, which is deferred while
202
+ // scrolling
198
203
  - (void)mapViewDidFinishTileRendering:(GMSMapView *)mapView {
199
- _tilesRendered = YES;
200
- // The visible warmup map is fully rendered; show the overlays now
201
- // instead of waiting for the swap, which is deferred while scrolling
202
204
  [self revealOverlays];
203
- [self scheduleSwap];
204
205
  }
205
206
 
207
+ // Stable per the SDK: tiles loaded, labels and overlays rendered. The only
208
+ // signal that the render is complete, so the only one that captures and
209
+ // caches. Without it (e.g. offline) the live map stays until the view
210
+ // leaves the window, and a fresh warmup runs on return.
206
211
  - (void)mapViewSnapshotReady:(GMSMapView *)mapView {
207
- // Stable per the SDK: tiles loaded, labels and overlays rendered
208
- _tilesRendered = YES;
212
+ _snapshotReady = YES;
209
213
  [self revealOverlays];
210
214
  [self scheduleSwap];
211
215
  }
@@ -0,0 +1,18 @@
1
+ #pragma once
2
+
3
+ #import <UIKit/UIKit.h>
4
+
5
+ static inline CGPoint LuggMapInsetOffset(UIEdgeInsets insets) {
6
+ return CGPointMake((insets.left - insets.right) / 2.0,
7
+ (insets.top - insets.bottom) / 2.0);
8
+ }
9
+
10
+ static inline UIEdgeInsets
11
+ LuggMapInsetsAtProgress(UIEdgeInsets from, UIEdgeInsets to, CGFloat progress) {
12
+ // Ease out cubic
13
+ CGFloat t = 1.0 - (1.0 - progress) * (1.0 - progress) * (1.0 - progress);
14
+ return UIEdgeInsetsMake(from.top + (to.top - from.top) * t,
15
+ from.left + (to.left - from.left) * t,
16
+ from.bottom + (to.bottom - from.bottom) * t,
17
+ from.right + (to.right - from.right) * t);
18
+ }
@@ -89,6 +89,10 @@ NS_ASSUME_NONNULL_BEGIN
89
89
  - (void)removeTileOverlayView:(LuggTileOverlayView *)tileOverlayView;
90
90
  - (void)syncTileOverlayView:(LuggTileOverlayView *)tileOverlayView;
91
91
 
92
+ // Current camera (the initial camera until the map is ready)
93
+ @property(nonatomic, readonly) CLLocationCoordinate2D coordinate;
94
+ @property(nonatomic, readonly) double zoom;
95
+
92
96
  // Lifecycle
93
97
  - (void)pauseAnimations;
94
98
  - (void)resumeAnimations;
@@ -42,6 +42,11 @@ CGPoint LuggStaticPointForCoordinate(MKMapRect mapRect, CGSize size,
42
42
  /// delegate callbacks and marks the base render done.
43
43
  - (void)displayBaseImage:(UIImage *)image fromCache:(BOOL)fromCache;
44
44
 
45
+ /// Discards any cached, displayed or in-flight base render and renders
46
+ /// again at the current camera. The displayed image stays until the new
47
+ /// one replaces it.
48
+ - (void)rerenderBaseMap;
49
+
45
50
  /// Shows the marker and shape overlays (idempotent). Called automatically
46
51
  /// when the base image displays; subclasses whose base map is already
47
52
  /// visible earlier (e.g. a live warmup map) can call it sooner.
@@ -11,6 +11,7 @@ using facebook::react::LuggMapViewTheme;
11
11
  #import "../LuggMarkerView.h"
12
12
  #import "../LuggPolygonView.h"
13
13
  #import "../LuggPolylineView.h"
14
+ #import "MapEdgeInsets.h"
14
15
 
15
16
  #pragma mark - Projection
16
17
 
@@ -351,10 +352,9 @@ static NSInteger shapeZIndex(UIView *shape) {
351
352
 
352
353
  // Edge insets shift the visible center like a live map: the coordinate
353
354
  // lands at the center of the inset viewport instead of the view center
354
- CGFloat offsetX = (_edgeInsets.left - _edgeInsets.right) / 2.0;
355
- CGFloat offsetY = (_edgeInsets.top - _edgeInsets.bottom) / 2.0;
356
- _mapRect.origin.x -= offsetX * _mapRect.size.width / size.width;
357
- _mapRect.origin.y -= offsetY * _mapRect.size.height / size.height;
355
+ CGPoint offset = LuggMapInsetOffset(_edgeInsets);
356
+ _mapRect.origin.x -= offset.x * _mapRect.size.width / size.width;
357
+ _mapRect.origin.y -= offset.y * _mapRect.size.height / size.height;
358
358
 
359
359
  _projectionReady = YES;
360
360
 
@@ -835,8 +835,10 @@ static NSInteger shapeZIndex(UIView *shape) {
835
835
  }
836
836
 
837
837
  // Asymmetric padding shifts the visible center, like edge insets
838
- center.x -= (edgeInsetsLeft - edgeInsetsRight) / 2.0 * scale;
839
- center.y -= (edgeInsetsTop - edgeInsetsBottom) / 2.0 * scale;
838
+ CGPoint offset = LuggMapInsetOffset(UIEdgeInsetsMake(
839
+ edgeInsetsTop, edgeInsetsLeft, edgeInsetsBottom, edgeInsetsRight));
840
+ center.x -= offset.x * scale;
841
+ center.y -= offset.y * scale;
840
842
  _coordinate = MKCoordinateForMapPoint(center);
841
843
 
842
844
  [self rerenderBaseMap];
@@ -66,6 +66,11 @@ export class MapView extends React.PureComponent {
66
66
  } = options ?? {};
67
67
  Commands.setEdgeInsets(ref, top, left, bottom, right, duration);
68
68
  }
69
+ reload() {
70
+ const ref = this.nativeRef.current;
71
+ if (!ref) return;
72
+ Commands.reload(ref);
73
+ }
69
74
  render() {
70
75
  const {
71
76
  provider,
@@ -1 +1 @@
1
- {"version":3,"names":["React","Platform","StyleSheet","LuggMapViewNativeComponent","Commands","LuggMapWrapperViewNativeComponent","jsx","_jsx","jsxs","_jsxs","MapView","PureComponent","defaultProps","provider","OS","mapType","initialZoom","zoomEnabled","scrollEnabled","rotateEnabled","pitchEnabled","compassEnabled","poiEnabled","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","staticMode","staticKey","userLocationEnabled","userLocationButtonEnabled","poiFilter","insetAdjustment","onPress","onLongPress","onCameraMove","onCameraIdle","onReady","children","rest","poiFilterMode","mode","poiFilterCategories","categories","onMapPress","onMapLongPress","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","PureComponent","defaultProps","provider","OS","mapType","initialZoom","zoomEnabled","scrollEnabled","rotateEnabled","pitchEnabled","compassEnabled","poiEnabled","theme","nativeRef","createRef","moveCamera","coordinate","options","ref","current","zoom","duration","latitude","longitude","fitCoordinates","coordinates","first","padding","top","left","bottom","right","length","props","setEdgeInsets","edgeInsets","reload","render","mapId","initialCoordinate","minZoom","maxZoom","staticMode","staticKey","userLocationEnabled","userLocationButtonEnabled","poiFilter","insetAdjustment","onPress","onLongPress","onCameraMove","onCameraIdle","onReady","children","rest","poiFilterMode","mode","poiFilterCategories","categories","onMapPress","onMapLongPress","style","absoluteFill"],"sourceRoot":"../../src","sources":["MapView.tsx"],"mappings":"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","ignoreList":[]}
@@ -94,10 +94,14 @@ export const MapView = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function MapVie
94
94
  const id = useId();
95
95
  const map = useMap(id);
96
96
  const containerRef = useRef(null);
97
- const readyFired = useRef(false);
97
+ const readyMap = useRef(null);
98
98
  const isDraggingRef = useRef(false);
99
99
  const wasGesture = useRef(false);
100
100
  const prevEdgeInsets = useRef(edgeInsets);
101
+ // Bumped by reload() to remount the map at the camera captured then
102
+ const [reloadState, setReloadState] = useState({
103
+ key: 0
104
+ });
101
105
  const offsetCenter = useCallback((coord, zoom, insets, reverse = false) => {
102
106
  const p = insets ?? prevEdgeInsets.current;
103
107
  if (!p) {
@@ -205,11 +209,21 @@ export const MapView = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function MapVie
205
209
  },
206
210
  setEdgeInsets(newEdgeInsets, options) {
207
211
  applyEdgeInsets(newEdgeInsets, options?.duration);
212
+ },
213
+ // The JS SDK can't reload tiles in place; remount the map at the
214
+ // current camera
215
+ reload() {
216
+ if (!map) return;
217
+ setReloadState(state => ({
218
+ key: state.key + 1,
219
+ center: map.getCenter()?.toJSON(),
220
+ zoom: map.getZoom()
221
+ }));
208
222
  }
209
223
  }), [map, initialZoom, offsetCenter, applyEdgeInsets]);
210
224
  useEffect(() => {
211
- if (map && !readyFired.current) {
212
- readyFired.current = true;
225
+ if (map && readyMap.current !== map) {
226
+ readyMap.current = map;
213
227
  onReady?.();
214
228
  }
215
229
  }, [map, onReady]);
@@ -355,8 +369,8 @@ export const MapView = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function MapVie
355
369
  children: /*#__PURE__*/_jsxs(Map, {
356
370
  id: id,
357
371
  mapId: mapId,
358
- defaultCenter: defaultCenter,
359
- defaultZoom: initialZoom,
372
+ defaultCenter: reloadState.center ?? defaultCenter,
373
+ defaultZoom: reloadState.zoom ?? initialZoom,
360
374
  minZoom: minZoom,
361
375
  maxZoom: maxZoom,
362
376
  mapTypeId: mapTypeId,
@@ -376,7 +390,7 @@ export const MapView = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function MapVie
376
390
  children: [/*#__PURE__*/_jsx(UserLocationMarker, {
377
391
  enabled: userLocationEnabled
378
392
  }), children]
379
- })
393
+ }, reloadState.key)
380
394
  })
381
395
  });
382
396
  }));
@@ -1 +1 @@
1
- {"version":3,"names":["forwardRef","memo","useCallback","useEffect","useId","useImperativeHandle","useMemo","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","mapType","mapId","initialCoordinate","initialZoom","minZoom","maxZoom","zoomEnabled","scrollEnabled","pitchEnabled","compassEnabled","staticMode","edgeInsets","userLocationEnabled","theme","onPress","onLongPress","onCameraMove","onCameraIdle","onReady","id","map","containerRef","readyFired","isDraggingRef","wasGesture","prevEdgeInsets","offsetCenter","coord","zoom","insets","reverse","p","current","lat","lng","dir","scale","Math","pow","offsetX","right","left","offsetY","bottom","top","latRad","PI","log","tan","cos","atan","sinh","applyEdgeInsets","newEdgeInsets","duration","prev","center","getCenter","getZoom","logicalCenter","newCenter","moveCamera","panTo","panToCoordinate","undefined","options","targetZoom","currentZoom","zoomChanged","setZoom","fitCoordinates","coordinates","first","padding","fitPadding","length","bounds","google","maps","LatLngBounds","forEach","extend","ei","fitBounds","setEdgeInsets","changed","longPressTimer","longPressFired","calloutListeners","Set","onCalloutClose","listener","add","delete","closeCallouts","except","l","getPoint","domEvent","el","rect","getBoundingClientRect","e","clientX","clientY","handleClick","event","latLng","detail","point","handleMouseDown","setTimeout","handleMouseUp","clearTimeout","listeners","addListener","removeListener","handleDragStart","handleDragEnd","handleCameraChanged","payload","gesture","handleIdle","mapTypeId","gestureHandling","colorScheme","DARK","LIGHT","FOLLOW_SYSTEM","defaultCenter","Provider","value","defaultZoom","disableDefaultUI","rotateControl","clickableIcons","keyboardShortcuts","isFractionalZoomEnabled","tilt","onClick","onDragstart","onDragend","onCameraChanged","onIdle"],"sourceRoot":"../../src","sources":["MapView.web.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["forwardRef","memo","useCallback","useEffect","useId","useImperativeHandle","useMemo","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","mapType","mapId","initialCoordinate","initialZoom","minZoom","maxZoom","zoomEnabled","scrollEnabled","pitchEnabled","compassEnabled","staticMode","edgeInsets","userLocationEnabled","theme","onPress","onLongPress","onCameraMove","onCameraIdle","onReady","id","map","containerRef","readyMap","isDraggingRef","wasGesture","prevEdgeInsets","reloadState","setReloadState","key","offsetCenter","coord","zoom","insets","reverse","p","current","lat","lng","dir","scale","Math","pow","offsetX","right","left","offsetY","bottom","top","latRad","PI","log","tan","cos","atan","sinh","applyEdgeInsets","newEdgeInsets","duration","prev","center","getCenter","getZoom","logicalCenter","newCenter","moveCamera","panTo","panToCoordinate","undefined","options","targetZoom","currentZoom","zoomChanged","setZoom","fitCoordinates","coordinates","first","padding","fitPadding","length","bounds","google","maps","LatLngBounds","forEach","extend","ei","fitBounds","setEdgeInsets","reload","state","toJSON","changed","longPressTimer","longPressFired","calloutListeners","Set","onCalloutClose","listener","add","delete","closeCallouts","except","l","getPoint","domEvent","el","rect","getBoundingClientRect","e","clientX","clientY","handleClick","event","latLng","detail","point","handleMouseDown","setTimeout","handleMouseUp","clearTimeout","listeners","addListener","removeListener","handleDragStart","handleDragEnd","handleCameraChanged","payload","gesture","handleIdle","mapTypeId","gestureHandling","colorScheme","DARK","LIGHT","FOLLOW_SYSTEM","defaultCenter","Provider","value","defaultZoom","disableDefaultUI","rotateControl","clickableIcons","keyboardShortcuts","isFractionalZoomEnabled","tilt","onClick","onDragstart","onDragend","onCameraChanged","onIdle"],"sourceRoot":"../../src","sources":["MapView.web.tsx"],"mappings":"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","ignoreList":[]}
@@ -120,10 +120,16 @@ interface NativeCommands {
120
120
  right: Double,
121
121
  duration: Double
122
122
  ) => void;
123
+ reload: (viewRef: React.ElementRef<ComponentType>) => void;
123
124
  }
124
125
 
125
126
  export const Commands = codegenNativeCommands<NativeCommands>({
126
- supportedCommands: ['moveCamera', 'fitCoordinates', 'setEdgeInsets'],
127
+ supportedCommands: [
128
+ 'moveCamera',
129
+ 'fitCoordinates',
130
+ 'setEdgeInsets',
131
+ 'reload',
132
+ ],
127
133
  });
128
134
 
129
135
  export default codegenNativeComponent<NativeProps>(
@@ -7,6 +7,7 @@ export declare class MapView extends React.PureComponent<MapViewProps> implement
7
7
  moveCamera(coordinate: Coordinate, options?: MoveCameraOptions): void;
8
8
  fitCoordinates(coordinates: Coordinate[], options?: FitCoordinatesOptions): void;
9
9
  setEdgeInsets(edgeInsets: EdgeInsets, options?: SetEdgeInsetsOptions): void;
10
+ reload(): void;
10
11
  render(): import("react/jsx-runtime").JSX.Element;
11
12
  }
12
13
  //# 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,EACrB,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEtD,qBAAa,OACX,SAAQ,KAAK,CAAC,aAAa,CAAC,YAAY,CACxC,YAAW,UAAU;IAErB,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,CAWxC;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;CAqEP"}
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,aAAa,CAAC,YAAY,CACxC,YAAW,UAAU;IAErB,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,CAWxC;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;IAON,MAAM;CAqEP"}
@@ -40,6 +40,13 @@ export interface MapViewRef {
40
40
  moveCamera(coordinate: Coordinate, options?: MoveCameraOptions): void;
41
41
  fitCoordinates(coordinates: Coordinate[], options?: FitCoordinatesOptions): void;
42
42
  setEdgeInsets(edgeInsets: EdgeInsets, options?: SetEdgeInsetsOptions): void;
43
+ /**
44
+ * Loads the map again, e.g. to recover from missing tiles. A static map
45
+ * re-renders its base map, discarding the cached snapshot. A live map is
46
+ * recreated at its current coordinate and zoom (heading and pitch reset)
47
+ * and fires onReady again.
48
+ */
49
+ reload(): void;
43
50
  }
44
51
  /**
45
52
  * Camera event payload
@@ -126,7 +133,8 @@ export interface MapViewProps extends ViewProps {
126
133
  * remounted with the same key (and same size, provider, and map settings)
127
134
  * reuses its cached snapshot instead of rendering a live map again -
128
135
  * e.g. set it to your list item's id. The key must uniquely identify the
129
- * map's content, including markers and other children.
136
+ * map's content, including markers and other children. Only fully loaded
137
+ * renders are cached.
130
138
  * Only used with staticMode.
131
139
  */
132
140
  staticKey?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"MapView.types.d.ts","sourceRoot":"","sources":["../../../src/MapView.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MapView.types.d.ts","sourceRoot":"","sources":["../../../src/MapView.types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MapView.web.d.ts","sourceRoot":"","sources":["../../../src/MapView.web.tsx"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EAKX,MAAM,iBAAiB,CAAC;AAoEzB,eAAO,MAAM,OAAO,gGA2ZnB,CAAC"}
1
+ {"version":3,"file":"MapView.web.d.ts","sourceRoot":"","sources":["../../../src/MapView.web.tsx"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EAKX,MAAM,iBAAiB,CAAC;AAoEzB,eAAO,MAAM,OAAO,gGA8anB,CAAC"}
@@ -82,6 +82,7 @@ interface NativeCommands {
82
82
  moveCamera: (viewRef: React.ElementRef<ComponentType>, latitude: Double, longitude: Double, zoom: Double, duration: Double) => void;
83
83
  fitCoordinates: (viewRef: React.ElementRef<ComponentType>, coordinates: Coordinate[], edgeInsetsTop: Double, edgeInsetsLeft: Double, edgeInsetsBottom: Double, edgeInsetsRight: Double, duration: Double) => void;
84
84
  setEdgeInsets: (viewRef: React.ElementRef<ComponentType>, top: Double, left: Double, bottom: Double, right: Double, duration: Double) => void;
85
+ reload: (viewRef: React.ElementRef<ComponentType>) => void;
85
86
  }
86
87
  export declare const Commands: NativeCommands;
87
88
  declare const _default: ComponentType;
@@ -1 +1 @@
1
- {"version":3,"file":"LuggMapViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/fabric/LuggMapViewNativeComponent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LuggMapViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/fabric/LuggMapViewNativeComponent.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lugg/maps",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "Universal maps for React Native.",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -68,7 +68,7 @@
68
68
  "bugs": {
69
69
  "url": "https://github.com/lugg/maps/issues"
70
70
  },
71
- "homepage": "https://github.com/lugg/maps#readme",
71
+ "homepage": "https://maps.lodev09.com",
72
72
  "publishConfig": {
73
73
  "registry": "https://registry.npmjs.org/"
74
74
  },
@@ -194,7 +194,10 @@
194
194
  },
195
195
  "hooks": {
196
196
  "before:init": "yarn test",
197
- "after:bump": "yarn tidy"
197
+ "after:bump": [
198
+ "yarn tidy",
199
+ "yarn bare pods"
200
+ ]
198
201
  },
199
202
  "plugins": {
200
203
  "@release-it/conventional-changelog": {
package/src/MapView.tsx CHANGED
@@ -80,6 +80,13 @@ export class MapView
80
80
  Commands.setEdgeInsets(ref, top, left, bottom, right, duration);
81
81
  }
82
82
 
83
+ reload() {
84
+ const ref = this.nativeRef.current;
85
+ if (!ref) return;
86
+
87
+ Commands.reload(ref);
88
+ }
89
+
83
90
  render() {
84
91
  const {
85
92
  provider,
@@ -135,6 +135,13 @@ export interface MapViewRef {
135
135
  options?: FitCoordinatesOptions
136
136
  ): void;
137
137
  setEdgeInsets(edgeInsets: EdgeInsets, options?: SetEdgeInsetsOptions): void;
138
+ /**
139
+ * Loads the map again, e.g. to recover from missing tiles. A static map
140
+ * re-renders its base map, discarding the cached snapshot. A live map is
141
+ * recreated at its current coordinate and zoom (heading and pitch reset)
142
+ * and fires onReady again.
143
+ */
144
+ reload(): void;
138
145
  }
139
146
 
140
147
  /**
@@ -224,7 +231,8 @@ export interface MapViewProps extends ViewProps {
224
231
  * remounted with the same key (and same size, provider, and map settings)
225
232
  * reuses its cached snapshot instead of rendering a live map again -
226
233
  * e.g. set it to your list item's id. The key must uniquely identify the
227
- * map's content, including markers and other children.
234
+ * map's content, including markers and other children. Only fully loaded
235
+ * renders are cached.
228
236
  * Only used with staticMode.
229
237
  */
230
238
  staticKey?: string;
@@ -127,10 +127,16 @@ export const MapView = memo(
127
127
  const id = useId();
128
128
  const map = useMap(id);
129
129
  const containerRef = useRef<View>(null);
130
- const readyFired = useRef(false);
130
+ const readyMap = useRef<google.maps.Map | null>(null);
131
131
  const isDraggingRef = useRef(false);
132
132
  const wasGesture = useRef(false);
133
133
  const prevEdgeInsets = useRef(edgeInsets);
134
+ // Bumped by reload() to remount the map at the camera captured then
135
+ const [reloadState, setReloadState] = useState<{
136
+ key: number;
137
+ center?: google.maps.LatLngLiteral;
138
+ zoom?: number;
139
+ }>({ key: 0 });
134
140
 
135
141
  const offsetCenter = useCallback(
136
142
  (
@@ -268,13 +274,25 @@ export const MapView = memo(
268
274
  ) {
269
275
  applyEdgeInsets(newEdgeInsets, options?.duration);
270
276
  },
277
+
278
+ // The JS SDK can't reload tiles in place; remount the map at the
279
+ // current camera
280
+ reload() {
281
+ if (!map) return;
282
+
283
+ setReloadState((state) => ({
284
+ key: state.key + 1,
285
+ center: map.getCenter()?.toJSON(),
286
+ zoom: map.getZoom(),
287
+ }));
288
+ },
271
289
  }),
272
290
  [map, initialZoom, offsetCenter, applyEdgeInsets]
273
291
  );
274
292
 
275
293
  useEffect(() => {
276
- if (map && !readyFired.current) {
277
- readyFired.current = true;
294
+ if (map && readyMap.current !== map) {
295
+ readyMap.current = map;
278
296
  onReady?.();
279
297
  }
280
298
  }, [map, onReady]);
@@ -481,10 +499,11 @@ export const MapView = memo(
481
499
  >
482
500
  <View ref={containerRef} style={style}>
483
501
  <Map
502
+ key={reloadState.key}
484
503
  id={id}
485
504
  mapId={mapId}
486
- defaultCenter={defaultCenter}
487
- defaultZoom={initialZoom}
505
+ defaultCenter={reloadState.center ?? defaultCenter}
506
+ defaultZoom={reloadState.zoom ?? initialZoom}
488
507
  minZoom={minZoom}
489
508
  maxZoom={maxZoom}
490
509
  mapTypeId={mapTypeId}
@@ -120,10 +120,16 @@ interface NativeCommands {
120
120
  right: Double,
121
121
  duration: Double
122
122
  ) => void;
123
+ reload: (viewRef: React.ElementRef<ComponentType>) => void;
123
124
  }
124
125
 
125
126
  export const Commands = codegenNativeCommands<NativeCommands>({
126
- supportedCommands: ['moveCamera', 'fitCoordinates', 'setEdgeInsets'],
127
+ supportedCommands: [
128
+ 'moveCamera',
129
+ 'fitCoordinates',
130
+ 'setEdgeInsets',
131
+ 'reload',
132
+ ],
127
133
  });
128
134
 
129
135
  export default codegenNativeComponent<NativeProps>(