@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.
- package/android/src/main/java/com/luggmaps/LuggMapView.kt +15 -2
- package/android/src/main/java/com/luggmaps/LuggMapViewManager.kt +4 -0
- package/android/src/main/java/com/luggmaps/LuggMapWrapperView.kt +9 -0
- package/android/src/main/java/com/luggmaps/core/GoogleMapProvider.kt +25 -1
- package/android/src/main/java/com/luggmaps/core/MapProviderDelegate.kt +5 -0
- package/ios/LuggMapView.mm +70 -8
- package/ios/core/AppleMapProvider.mm +15 -16
- package/ios/core/AppleStaticMapProvider.mm +74 -0
- package/ios/core/GoogleMapProvider.mm +11 -10
- package/ios/core/GoogleStaticMapProvider.mm +20 -16
- package/ios/core/MapEdgeInsets.h +18 -0
- package/ios/core/MapProviderDelegate.h +4 -0
- package/ios/core/StaticMapProviderBase.h +5 -0
- package/ios/core/StaticMapProviderBase.mm +8 -6
- package/lib/module/MapView.js +5 -0
- package/lib/module/MapView.js.map +1 -1
- package/lib/module/MapView.web.js +20 -6
- package/lib/module/MapView.web.js.map +1 -1
- package/lib/module/fabric/LuggMapViewNativeComponent.ts +7 -1
- package/lib/typescript/src/MapView.d.ts +1 -0
- package/lib/typescript/src/MapView.d.ts.map +1 -1
- package/lib/typescript/src/MapView.types.d.ts +9 -1
- package/lib/typescript/src/MapView.types.d.ts.map +1 -1
- package/lib/typescript/src/MapView.web.d.ts.map +1 -1
- package/lib/typescript/src/fabric/LuggMapViewNativeComponent.d.ts +1 -0
- package/lib/typescript/src/fabric/LuggMapViewNativeComponent.d.ts.map +1 -1
- package/package.json +6 -3
- package/src/MapView.tsx +7 -0
- package/src/MapView.types.ts +9 -1
- package/src/MapView.web.tsx +24 -5
- 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!!,
|
|
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 {
|
|
@@ -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()
|
package/ios/LuggMapView.mm
CHANGED
|
@@ -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:
|
|
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
|
-
|
|
461
|
-
|
|
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 =
|
|
466
|
-
CGFloat deltaY =
|
|
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
|
-
|
|
510
|
-
|
|
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
|
-
|
|
292
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
156
|
-
//
|
|
157
|
-
//
|
|
158
|
-
//
|
|
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 || !
|
|
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
|
|
179
|
+
// and this runloop pass; the next snapshotReady or resumeAnimations
|
|
180
180
|
// retries
|
|
181
|
-
if (!_warmupMapView || !
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
355
|
-
|
|
356
|
-
_mapRect.origin.
|
|
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
|
-
|
|
839
|
-
|
|
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];
|
package/lib/module/MapView.js
CHANGED
|
@@ -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":";;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;AAU3F,OAAO,MAAMC,OAAO,SACVV,KAAK,CAACW,aAAa,CAE7B;EACE,OAAOC,YAAY,GAA0B;IAC3CC,QAAQ,EAAEZ,QAAQ,CAACa,EAAE,KAAK,KAAK,GAAG,OAAO,GAAG,QAAQ;IACpDC,OAAO,EAAE,UAAU;IACnBC,WAAW,EAAE,EAAE;IACfC,WAAW,EAAE,IAAI;IACjBC,aAAa,EAAE,IAAI;IACnBC,aAAa,EAAE,IAAI;IACnBC,YAAY,EAAE,IAAI;IAClBC,cAAc,EAAE,IAAI;IACpBC,UAAU,EAAE,IAAI;IAChBC,KAAK,EAAE;EACT,CAAC;EAEOC,SAAS,gBAAGxB,KAAK,CAACyB,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;IACjDxB,QAAQ,CAACsB,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,OAAO;MAAEN,QAAQ,GAAG,CAAC;IAAE,CAAC,GAAGJ,OAAO,IAAI,CAAC,CAAC;IAChD,MAAM;MAAEW,GAAG,GAAG,CAAC;MAAEC,IAAI,GAAG,CAAC;MAAEC,MAAM,GAAG,CAAC;MAAEC,KAAK,GAAG;IAAE,CAAC,GAAGJ,OAAO,IAAI,CAAC,CAAC;IAElE,IAAIF,WAAW,CAACO,MAAM,KAAK,CAAC,EAAE;MAC5B,MAAMZ,IAAI,GAAG,IAAI,CAACa,KAAK,CAAC5B,WAAW,IAAI,EAAE;MACzC,IAAI,CAACU,UAAU,CAACW,KAAK,EAAE;QAAEN,IAAI;QAAEC;MAAS,CAAC,CAAC;MAC1C;IACF;IAEA5B,QAAQ,CAAC+B,cAAc,CACrBN,GAAG,EACHO,WAAW,EACXG,GAAG,EACHC,IAAI,EACJC,MAAM,EACNC,KAAK,EACLV,QACF,CAAC;EACH;EAEAa,aAAaA,CAACC,UAAsB,EAAElB,OAA8B,EAAE;IACpE,MAAMC,GAAG,GAAG,IAAI,CAACL,SAAS,CAACM,OAAO;IAClC,IAAI,CAACD,GAAG,EAAE;IAEV,MAAM;MAAEU,GAAG,GAAG,CAAC;MAAEC,IAAI,GAAG,CAAC;MAAEC,MAAM,GAAG,CAAC;MAAEC,KAAK,GAAG;IAAE,CAAC,GAAGI,UAAU;IAC/D,MAAM;MAAEd,QAAQ,GAAG,CAAC;IAAE,CAAC,GAAGJ,OAAO,IAAI,CAAC,CAAC;IACvCxB,QAAQ,CAACyC,aAAa,CAAChB,GAAG,EAAEU,GAAG,EAAEC,IAAI,EAAEC,MAAM,EAAEC,KAAK,EAAEV,QAAQ,CAAC;EACjE;EAEAe,MAAMA,CAAA,EAAG;IACP,MAAM;
|
|
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":";;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;AAU3F,OAAO,MAAMC,OAAO,SACVV,KAAK,CAACW,aAAa,CAE7B;EACE,OAAOC,YAAY,GAA0B;IAC3CC,QAAQ,EAAEZ,QAAQ,CAACa,EAAE,KAAK,KAAK,GAAG,OAAO,GAAG,QAAQ;IACpDC,OAAO,EAAE,UAAU;IACnBC,WAAW,EAAE,EAAE;IACfC,WAAW,EAAE,IAAI;IACjBC,aAAa,EAAE,IAAI;IACnBC,aAAa,EAAE,IAAI;IACnBC,YAAY,EAAE,IAAI;IAClBC,cAAc,EAAE,IAAI;IACpBC,UAAU,EAAE,IAAI;IAChBC,KAAK,EAAE;EACT,CAAC;EAEOC,SAAS,gBAAGxB,KAAK,CAACyB,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;IACjDxB,QAAQ,CAACsB,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,OAAO;MAAEN,QAAQ,GAAG,CAAC;IAAE,CAAC,GAAGJ,OAAO,IAAI,CAAC,CAAC;IAChD,MAAM;MAAEW,GAAG,GAAG,CAAC;MAAEC,IAAI,GAAG,CAAC;MAAEC,MAAM,GAAG,CAAC;MAAEC,KAAK,GAAG;IAAE,CAAC,GAAGJ,OAAO,IAAI,CAAC,CAAC;IAElE,IAAIF,WAAW,CAACO,MAAM,KAAK,CAAC,EAAE;MAC5B,MAAMZ,IAAI,GAAG,IAAI,CAACa,KAAK,CAAC5B,WAAW,IAAI,EAAE;MACzC,IAAI,CAACU,UAAU,CAACW,KAAK,EAAE;QAAEN,IAAI;QAAEC;MAAS,CAAC,CAAC;MAC1C;IACF;IAEA5B,QAAQ,CAAC+B,cAAc,CACrBN,GAAG,EACHO,WAAW,EACXG,GAAG,EACHC,IAAI,EACJC,MAAM,EACNC,KAAK,EACLV,QACF,CAAC;EACH;EAEAa,aAAaA,CAACC,UAAsB,EAAElB,OAA8B,EAAE;IACpE,MAAMC,GAAG,GAAG,IAAI,CAACL,SAAS,CAACM,OAAO;IAClC,IAAI,CAACD,GAAG,EAAE;IAEV,MAAM;MAAEU,GAAG,GAAG,CAAC;MAAEC,IAAI,GAAG,CAAC;MAAEC,MAAM,GAAG,CAAC;MAAEC,KAAK,GAAG;IAAE,CAAC,GAAGI,UAAU;IAC/D,MAAM;MAAEd,QAAQ,GAAG,CAAC;IAAE,CAAC,GAAGJ,OAAO,IAAI,CAAC,CAAC;IACvCxB,QAAQ,CAACyC,aAAa,CAAChB,GAAG,EAAEU,GAAG,EAAEC,IAAI,EAAEC,MAAM,EAAEC,KAAK,EAAEV,QAAQ,CAAC;EACjE;EAEAe,MAAMA,CAAA,EAAG;IACP,MAAMlB,GAAG,GAAG,IAAI,CAACL,SAAS,CAACM,OAAO;IAClC,IAAI,CAACD,GAAG,EAAE;IAEVzB,QAAQ,CAAC2C,MAAM,CAAClB,GAAG,CAAC;EACtB;EAEAmB,MAAMA,CAAA,EAAG;IACP,MAAM;MACJnC,QAAQ;MACRE,OAAO;MACPkC,KAAK;MACLC,iBAAiB;MACjBlC,WAAW;MACXmC,OAAO;MACPC,OAAO;MACPnC,WAAW;MACXC,aAAa;MACbC,aAAa;MACbC,YAAY;MACZC,cAAc;MACdgC,UAAU;MACVC,SAAS;MACTR,UAAU;MACVS,mBAAmB;MACnBC,yBAAyB;MACzBlC,UAAU;MACVmC,SAAS;MACTlC,KAAK;MACLmC,eAAe;MACfC,OAAO;MACPC,WAAW;MACXC,YAAY;MACZC,YAAY;MACZC,OAAO;MACPC,QAAQ;MACR,GAAGC;IACL,CAAC,GAAG,IAAI,CAACrB,KAAK;IAEd,oBACEnC,KAAA,CAACN,0BAA0B;MACzB0B,GAAG,EAAE,IAAI,CAACL,SAAU;MAAA,GAChByC,IAAI;MACRpD,QAAQ,EAAEA,QAAS;MACnBE,OAAO,EAAEA,OAAQ;MACjBkC,KAAK,EAAEA,KAAM;MACbC,iBAAiB,EAAEA,iBAAkB;MACrClC,WAAW,EAAEA,WAAY;MACzBmC,OAAO,EAAEA,OAAQ;MACjBC,OAAO,EAAEA,OAAQ;MACjBnC,WAAW,EAAEA,WAAY;MACzBC,aAAa,EAAEA,aAAc;MAC7BC,aAAa,EAAEA,aAAc;MAC7BC,YAAY,EAAEA,YAAa;MAC3BC,cAAc,EAAEA,cAAe;MAC/BgC,UAAU,EAAEA,UAAW;MACvBC,SAAS,EAAEA,SAAU;MACrBR,UAAU,EAAEA,UAAW;MACvBS,mBAAmB,EAAEA,mBAAoB;MACzCC,yBAAyB,EAAEA,yBAA0B;MACrDlC,UAAU,EAAEA,UAAW;MACvB4C,aAAa,EAAET,SAAS,EAAEU,IAAK;MAC/BC,mBAAmB,EAAEX,SAAS,EAAEY,UAAW;MAC3C9C,KAAK,EAAEA,KAAM;MACbmC,eAAe,EAAEA,eAAgB;MACjCY,UAAU,EAAEX,OAAQ;MACpBY,cAAc,EAAEX,WAAY;MAC5BC,YAAY,EAAEA,YAAa;MAC3BC,YAAY,EAAEA,YAAa;MAC3BC,OAAO,EAAEA,OAAQ;MAAAC,QAAA,gBAEjBzD,IAAA,CAACF,iCAAiC;QAACmE,KAAK,EAAEtE,UAAU,CAACuE;MAAa,CAAE,CAAC,EACpET,QAAQ;IAAA,CACiB,CAAC;EAEjC;AACF","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
|
|
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 &&
|
|
212
|
-
|
|
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: [
|
|
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":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,UAAU,EACV,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAEjB,MAAM,MAAM,OAAO,GACf,UAAU,GACV,WAAW,GACX,SAAS,GACT,QAAQ,GACR,gBAAgB,CAAC;AAErB,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEnD,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,OAAO,CAAC;AAEpD,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,gBAAgB,GAChB,gBAAgB,GAChB,UAAU,GACV,KAAK,GACL,mBAAmB,GACnB,QAAQ,GACR,MAAM,GACN,UAAU,GACV,YAAY,GACZ,OAAO,GACP,QAAQ,GACR,SAAS,GACT,SAAS,GACT,MAAM,GACN,YAAY,GACZ,YAAY,GACZ,QAAQ,GACR,mBAAmB,GACnB,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,cAAc,GACd,SAAS,GACT,gBAAgB,GAChB,aAAa,GACb,UAAU,GACV,aAAa,GACb,SAAS,GACT,MAAM,GACN,QAAQ,GACR,UAAU,GACV,OAAO,GACP,UAAU,GACV,UAAU,GACV,SAAS,GACT,SAAS,GACT,SAAS,GACT,QAAQ,GACR,WAAW,GACX,eAAe,GACf,QAAQ,GACR,aAAa,GACb,mBAAmB,GACnB,eAAe,GACf,WAAW,GACX,MAAM,GACN,SAAS,GACT,UAAU,GACV,aAAa,GACb,QAAQ,GACR,aAAa,GACb,kBAAkB,GAClB,YAAY,GACZ,UAAU,GACV,eAAe,GACf,SAAS,GACT,QAAQ,GACR,YAAY,GACZ,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,KAAK,GACL,SAAS,GACT,OAAO,GACP,SAAS,GACT,UAAU,GACV,QAAQ,GACR,SAAS,GACT,YAAY,GACZ,YAAY,GACZ,QAAQ,GACR,KAAK,CAAC;AAEV,MAAM,WAAW,SAAS;IACxB;;;OAGG;IACH,IAAI,CAAC,EAAE,WAAW,GAAG,WAAW,CAAC;IACjC,UAAU,EAAE,WAAW,EAAE,CAAC;CAC3B;AAED;;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;
|
|
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,
|
|
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":"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;IACzB,UAAU,EAAE;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,KAAK,EAAE;QACL,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;KACX,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,KAAK,EAAE;QACL,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;KACX,CAAC;CACH;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,OAAO,CAAC,EAAE,WAAW,CACnB,UAAU,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,gBAAgB,EAClE,UAAU,CACX,CAAC;IACF,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,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACzC,aAAa,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3C,aAAa,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3C,YAAY,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1C,cAAc,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,WAAW,CAAC,WAAW,GAAG,WAAW,EAAE,WAAW,CAAC,CAAC;IACpE,mBAAmB,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5C,KAAK,CAAC,EAAE,WAAW,CAAC,QAAQ,GAAG,OAAO,GAAG,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC3D,eAAe,CAAC,EAAE,WAAW,CAAC,OAAO,GAAG,WAAW,EAAE,OAAO,CAAC,CAAC;IAC9D,UAAU,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC5C,cAAc,CAAC,EAAE,kBAAkB,CAAC,cAAc,CAAC,CAAC;IACpD,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;IACV,aAAa,EAAE,CACb,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,EACxC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,KACb,IAAI,CAAC;
|
|
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.
|
|
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://
|
|
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":
|
|
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
package/src/MapView.types.ts
CHANGED
|
@@ -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;
|
package/src/MapView.web.tsx
CHANGED
|
@@ -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
|
|
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 &&
|
|
277
|
-
|
|
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: [
|
|
127
|
+
supportedCommands: [
|
|
128
|
+
'moveCamera',
|
|
129
|
+
'fitCoordinates',
|
|
130
|
+
'setEdgeInsets',
|
|
131
|
+
'reload',
|
|
132
|
+
],
|
|
127
133
|
});
|
|
128
134
|
|
|
129
135
|
export default codegenNativeComponent<NativeProps>(
|