@lugg/maps 0.2.0-alpha.27 → 0.2.0-alpha.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/src/main/java/com/luggmaps/LuggMapView.kt +25 -8
- package/android/src/main/java/com/luggmaps/LuggMapViewManager.kt +20 -3
- package/android/src/main/java/com/luggmaps/core/GoogleMapProvider.kt +23 -5
- package/android/src/main/java/com/luggmaps/core/MapProviderDelegate.kt +2 -1
- package/ios/LuggMapView.mm +54 -26
- package/ios/core/AppleMapProvider.mm +57 -0
- package/ios/core/GoogleMapProvider.mm +61 -2
- package/ios/core/MapProviderDelegate.h +3 -0
- package/lib/module/MapView.js +18 -4
- package/lib/module/MapView.js.map +1 -1
- package/lib/module/MapView.web.js +41 -26
- package/lib/module/MapView.web.js.map +1 -1
- package/lib/module/fabric/LuggMapViewNativeComponent.ts +10 -2
- package/lib/typescript/src/MapView.d.ts +3 -2
- package/lib/typescript/src/MapView.d.ts.map +1 -1
- package/lib/typescript/src/MapView.types.d.ts +9 -2
- 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 +2 -1
- package/lib/typescript/src/fabric/LuggMapViewNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +1 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/MapView.tsx +15 -5
- package/src/MapView.types.ts +10 -2
- package/src/MapView.web.tsx +53 -36
- package/src/fabric/LuggMapViewNativeComponent.ts +10 -2
- package/src/index.ts +1 -0
|
@@ -50,7 +50,7 @@ class LuggMapView(private val reactContext: ThemedReactContext) :
|
|
|
50
50
|
private var rotateEnabled: Boolean = true
|
|
51
51
|
private var pitchEnabled: Boolean = true
|
|
52
52
|
private var userLocationEnabled: Boolean = false
|
|
53
|
-
private var
|
|
53
|
+
private var userLocationButtonEnabled: Boolean = false
|
|
54
54
|
private var minZoom: Double? = null
|
|
55
55
|
private var maxZoom: Double? = null
|
|
56
56
|
private var edgeInsets: EdgeInsets = EdgeInsets()
|
|
@@ -148,7 +148,7 @@ class LuggMapView(private val reactContext: ThemedReactContext) :
|
|
|
148
148
|
provider?.setRotateEnabled(rotateEnabled)
|
|
149
149
|
provider?.setPitchEnabled(pitchEnabled)
|
|
150
150
|
provider?.setUserLocationEnabled(userLocationEnabled)
|
|
151
|
-
provider?.
|
|
151
|
+
provider?.setUserLocationButtonEnabled(userLocationButtonEnabled)
|
|
152
152
|
provider?.setTheme(theme)
|
|
153
153
|
minZoom?.let { provider?.setMinZoom(it) }
|
|
154
154
|
maxZoom?.let { provider?.setMaxZoom(it) }
|
|
@@ -176,53 +176,70 @@ class LuggMapView(private val reactContext: ThemedReactContext) :
|
|
|
176
176
|
}
|
|
177
177
|
|
|
178
178
|
fun setZoomEnabled(enabled: Boolean) {
|
|
179
|
+
if (zoomEnabled == enabled) return
|
|
179
180
|
zoomEnabled = enabled
|
|
180
181
|
provider?.setZoomEnabled(enabled)
|
|
181
182
|
}
|
|
182
183
|
|
|
183
184
|
fun setScrollEnabled(enabled: Boolean) {
|
|
185
|
+
if (scrollEnabled == enabled) return
|
|
184
186
|
scrollEnabled = enabled
|
|
185
187
|
provider?.setScrollEnabled(enabled)
|
|
186
188
|
}
|
|
187
189
|
|
|
188
190
|
fun setRotateEnabled(enabled: Boolean) {
|
|
191
|
+
if (rotateEnabled == enabled) return
|
|
189
192
|
rotateEnabled = enabled
|
|
190
193
|
provider?.setRotateEnabled(enabled)
|
|
191
194
|
}
|
|
192
195
|
|
|
193
196
|
fun setPitchEnabled(enabled: Boolean) {
|
|
197
|
+
if (pitchEnabled == enabled) return
|
|
194
198
|
pitchEnabled = enabled
|
|
195
199
|
provider?.setPitchEnabled(enabled)
|
|
196
200
|
}
|
|
197
201
|
|
|
198
202
|
fun setUserLocationEnabled(enabled: Boolean) {
|
|
203
|
+
if (userLocationEnabled == enabled) return
|
|
199
204
|
userLocationEnabled = enabled
|
|
200
205
|
provider?.setUserLocationEnabled(enabled)
|
|
201
206
|
}
|
|
202
207
|
|
|
203
|
-
fun
|
|
204
|
-
|
|
205
|
-
|
|
208
|
+
fun setUserLocationButtonEnabled(enabled: Boolean) {
|
|
209
|
+
if (userLocationButtonEnabled == enabled) return
|
|
210
|
+
userLocationButtonEnabled = enabled
|
|
211
|
+
provider?.setUserLocationButtonEnabled(enabled)
|
|
206
212
|
}
|
|
207
213
|
|
|
208
214
|
fun setMinZoom(zoom: Double) {
|
|
215
|
+
if (minZoom == zoom) return
|
|
209
216
|
minZoom = zoom
|
|
210
217
|
provider?.setMinZoom(zoom)
|
|
211
218
|
}
|
|
212
219
|
|
|
213
220
|
fun setMaxZoom(zoom: Double) {
|
|
221
|
+
if (maxZoom == zoom) return
|
|
214
222
|
maxZoom = zoom
|
|
215
223
|
provider?.setMaxZoom(zoom)
|
|
216
224
|
}
|
|
217
225
|
|
|
218
226
|
fun setTheme(value: String) {
|
|
227
|
+
if (theme == value) return
|
|
219
228
|
theme = value
|
|
220
229
|
provider?.setTheme(value)
|
|
221
230
|
}
|
|
222
231
|
|
|
223
|
-
fun setEdgeInsets(
|
|
224
|
-
|
|
225
|
-
|
|
232
|
+
fun setEdgeInsets(
|
|
233
|
+
top: Int,
|
|
234
|
+
left: Int,
|
|
235
|
+
bottom: Int,
|
|
236
|
+
right: Int,
|
|
237
|
+
duration: Int = 0
|
|
238
|
+
) {
|
|
239
|
+
val newEdgeInsets = EdgeInsets(top, left, bottom, right)
|
|
240
|
+
if (edgeInsets == newEdgeInsets) return
|
|
241
|
+
edgeInsets = newEdgeInsets
|
|
242
|
+
provider?.setEdgeInsets(edgeInsets, duration)
|
|
226
243
|
}
|
|
227
244
|
|
|
228
245
|
// endregion
|
|
@@ -113,9 +113,9 @@ class LuggMapViewManager :
|
|
|
113
113
|
view.setUserLocationEnabled(value)
|
|
114
114
|
}
|
|
115
115
|
|
|
116
|
-
@ReactProp(name = "
|
|
117
|
-
override fun
|
|
118
|
-
view.
|
|
116
|
+
@ReactProp(name = "userLocationButtonEnabled", defaultBoolean = false)
|
|
117
|
+
override fun setUserLocationButtonEnabled(view: LuggMapView, value: Boolean) {
|
|
118
|
+
view.setUserLocationButtonEnabled(value)
|
|
119
119
|
}
|
|
120
120
|
|
|
121
121
|
@ReactProp(name = "minZoom")
|
|
@@ -159,6 +159,23 @@ class LuggMapViewManager :
|
|
|
159
159
|
view.moveCamera(latitude, longitude, zoom, duration.toInt())
|
|
160
160
|
}
|
|
161
161
|
|
|
162
|
+
override fun setEdgeInsets(
|
|
163
|
+
view: LuggMapView,
|
|
164
|
+
top: Double,
|
|
165
|
+
left: Double,
|
|
166
|
+
bottom: Double,
|
|
167
|
+
right: Double,
|
|
168
|
+
duration: Double
|
|
169
|
+
) {
|
|
170
|
+
view.setEdgeInsets(
|
|
171
|
+
top.toFloat().dpToPx().toInt(),
|
|
172
|
+
left.toFloat().dpToPx().toInt(),
|
|
173
|
+
bottom.toFloat().dpToPx().toInt(),
|
|
174
|
+
right.toFloat().dpToPx().toInt(),
|
|
175
|
+
duration.toInt()
|
|
176
|
+
)
|
|
177
|
+
}
|
|
178
|
+
|
|
162
179
|
override fun fitCoordinates(
|
|
163
180
|
view: LuggMapView,
|
|
164
181
|
coordinates: ReadableArray?,
|
|
@@ -53,7 +53,7 @@ class GoogleMapProvider(private val context: Context) :
|
|
|
53
53
|
private var rotateEnabled: Boolean = true
|
|
54
54
|
private var pitchEnabled: Boolean = true
|
|
55
55
|
private var userLocationEnabled: Boolean = false
|
|
56
|
-
private var
|
|
56
|
+
private var userLocationButtonEnabled: Boolean = false
|
|
57
57
|
|
|
58
58
|
// Zoom limits
|
|
59
59
|
private var minZoom: Float? = null
|
|
@@ -184,8 +184,8 @@ class GoogleMapProvider(private val context: Context) :
|
|
|
184
184
|
googleMap?.isMyLocationEnabled = userLocationEnabled && hasPermission
|
|
185
185
|
}
|
|
186
186
|
|
|
187
|
-
override fun
|
|
188
|
-
|
|
187
|
+
override fun setUserLocationButtonEnabled(enabled: Boolean) {
|
|
188
|
+
userLocationButtonEnabled = enabled
|
|
189
189
|
googleMap?.uiSettings?.isMyLocationButtonEnabled = enabled
|
|
190
190
|
}
|
|
191
191
|
|
|
@@ -209,6 +209,19 @@ class GoogleMapProvider(private val context: Context) :
|
|
|
209
209
|
}
|
|
210
210
|
|
|
211
211
|
override fun setEdgeInsets(edgeInsets: EdgeInsets) {
|
|
212
|
+
val oldInsets = this.edgeInsets
|
|
213
|
+
this.edgeInsets = edgeInsets
|
|
214
|
+
applyEdgeInsets()
|
|
215
|
+
|
|
216
|
+
val map = googleMap
|
|
217
|
+
if (map != null && oldInsets != edgeInsets) {
|
|
218
|
+
mapView?.post {
|
|
219
|
+
setEdgeInsets(edgeInsets, 0)
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
override fun setEdgeInsets(edgeInsets: EdgeInsets, duration: Int) {
|
|
212
225
|
val map = googleMap
|
|
213
226
|
val oldInsets = this.edgeInsets
|
|
214
227
|
this.edgeInsets = edgeInsets
|
|
@@ -216,7 +229,11 @@ class GoogleMapProvider(private val context: Context) :
|
|
|
216
229
|
if (map != null && oldInsets != edgeInsets) {
|
|
217
230
|
val cameraUpdate = CameraUpdateFactory.newCameraPosition(map.cameraPosition)
|
|
218
231
|
applyEdgeInsets()
|
|
219
|
-
|
|
232
|
+
when {
|
|
233
|
+
duration < 0 -> map.animateCamera(cameraUpdate)
|
|
234
|
+
duration > 0 -> map.animateCamera(cameraUpdate, duration, null)
|
|
235
|
+
else -> map.moveCamera(cameraUpdate)
|
|
236
|
+
}
|
|
220
237
|
} else {
|
|
221
238
|
applyEdgeInsets()
|
|
222
239
|
}
|
|
@@ -464,6 +481,7 @@ class GoogleMapProvider(private val context: Context) :
|
|
|
464
481
|
isScrollGesturesEnabled = scrollEnabled
|
|
465
482
|
isRotateGesturesEnabled = rotateEnabled
|
|
466
483
|
isTiltGesturesEnabled = pitchEnabled
|
|
484
|
+
isMyLocationButtonEnabled = userLocationButtonEnabled
|
|
467
485
|
}
|
|
468
486
|
}
|
|
469
487
|
|
|
@@ -496,7 +514,7 @@ class GoogleMapProvider(private val context: Context) :
|
|
|
496
514
|
context.checkSelfPermission(android.Manifest.permission.ACCESS_COARSE_LOCATION) ==
|
|
497
515
|
android.content.pm.PackageManager.PERMISSION_GRANTED
|
|
498
516
|
googleMap?.isMyLocationEnabled = userLocationEnabled && hasPermission
|
|
499
|
-
googleMap?.uiSettings?.isMyLocationButtonEnabled =
|
|
517
|
+
googleMap?.uiSettings?.isMyLocationButtonEnabled = userLocationButtonEnabled
|
|
500
518
|
}
|
|
501
519
|
|
|
502
520
|
// endregion
|
|
@@ -25,11 +25,12 @@ interface MapProvider {
|
|
|
25
25
|
fun setRotateEnabled(enabled: Boolean)
|
|
26
26
|
fun setPitchEnabled(enabled: Boolean)
|
|
27
27
|
fun setUserLocationEnabled(enabled: Boolean)
|
|
28
|
-
fun
|
|
28
|
+
fun setUserLocationButtonEnabled(enabled: Boolean)
|
|
29
29
|
fun setTheme(value: String)
|
|
30
30
|
fun setMinZoom(zoom: Double)
|
|
31
31
|
fun setMaxZoom(zoom: Double)
|
|
32
32
|
fun setEdgeInsets(edgeInsets: EdgeInsets)
|
|
33
|
+
fun setEdgeInsets(edgeInsets: EdgeInsets, duration: Int)
|
|
33
34
|
|
|
34
35
|
// Children
|
|
35
36
|
fun addMarkerView(markerView: LuggMarkerView)
|
package/ios/LuggMapView.mm
CHANGED
|
@@ -144,9 +144,6 @@ using namespace luggmaps::events;
|
|
|
144
144
|
|
|
145
145
|
_provider.delegate = self;
|
|
146
146
|
|
|
147
|
-
// Apply cached props before initialization
|
|
148
|
-
[self applyProps];
|
|
149
|
-
|
|
150
147
|
CLLocationCoordinate2D coordinate =
|
|
151
148
|
CLLocationCoordinate2DMake(viewProps.initialCoordinate.latitude,
|
|
152
149
|
viewProps.initialCoordinate.longitude);
|
|
@@ -155,6 +152,8 @@ using namespace luggmaps::events;
|
|
|
155
152
|
initialCoordinate:coordinate
|
|
156
153
|
initialZoom:viewProps.initialZoom];
|
|
157
154
|
|
|
155
|
+
// Apply cached props after map view is created
|
|
156
|
+
[self applyProps];
|
|
158
157
|
[_provider setEdgeInsets:_edgeInsets oldEdgeInsets:UIEdgeInsetsZero];
|
|
159
158
|
|
|
160
159
|
_initialized = YES;
|
|
@@ -208,6 +207,8 @@ using namespace luggmaps::events;
|
|
|
208
207
|
oldProps:(Props::Shared const &)oldProps {
|
|
209
208
|
const auto &newViewProps =
|
|
210
209
|
*std::static_pointer_cast<LuggMapViewProps const>(props);
|
|
210
|
+
const auto &prevViewProps =
|
|
211
|
+
*std::static_pointer_cast<LuggMapViewProps const>(_props);
|
|
211
212
|
|
|
212
213
|
_providerType = newViewProps.provider;
|
|
213
214
|
|
|
@@ -217,34 +218,49 @@ using namespace luggmaps::events;
|
|
|
217
218
|
_mapId = newMapId;
|
|
218
219
|
}
|
|
219
220
|
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
221
|
+
if (newViewProps.zoomEnabled != prevViewProps.zoomEnabled) {
|
|
222
|
+
_zoomEnabled = newViewProps.zoomEnabled;
|
|
223
|
+
[_provider setZoomEnabled:_zoomEnabled];
|
|
224
|
+
}
|
|
225
|
+
if (newViewProps.scrollEnabled != prevViewProps.scrollEnabled) {
|
|
226
|
+
_scrollEnabled = newViewProps.scrollEnabled;
|
|
227
|
+
[_provider setScrollEnabled:_scrollEnabled];
|
|
228
|
+
}
|
|
229
|
+
if (newViewProps.rotateEnabled != prevViewProps.rotateEnabled) {
|
|
230
|
+
_rotateEnabled = newViewProps.rotateEnabled;
|
|
231
|
+
[_provider setRotateEnabled:_rotateEnabled];
|
|
232
|
+
}
|
|
233
|
+
if (newViewProps.pitchEnabled != prevViewProps.pitchEnabled) {
|
|
234
|
+
_pitchEnabled = newViewProps.pitchEnabled;
|
|
235
|
+
[_provider setPitchEnabled:_pitchEnabled];
|
|
236
|
+
}
|
|
237
|
+
if (newViewProps.userLocationEnabled != prevViewProps.userLocationEnabled) {
|
|
238
|
+
_userLocationEnabled = newViewProps.userLocationEnabled;
|
|
239
|
+
[_provider setUserLocationEnabled:_userLocationEnabled];
|
|
240
|
+
}
|
|
241
|
+
if (newViewProps.minZoom != prevViewProps.minZoom) {
|
|
242
|
+
_minZoom = newViewProps.minZoom;
|
|
243
|
+
[_provider setMinZoom:_minZoom];
|
|
244
|
+
}
|
|
245
|
+
if (newViewProps.maxZoom != prevViewProps.maxZoom) {
|
|
246
|
+
_maxZoom = newViewProps.maxZoom;
|
|
247
|
+
[_provider setMaxZoom:_maxZoom];
|
|
248
|
+
}
|
|
249
|
+
if (newViewProps.theme != prevViewProps.theme) {
|
|
250
|
+
_theme = newViewProps.theme;
|
|
251
|
+
[_provider setTheme:(NSInteger)_theme];
|
|
252
|
+
}
|
|
229
253
|
|
|
230
|
-
|
|
231
|
-
_edgeInsets = UIEdgeInsetsMake(
|
|
254
|
+
UIEdgeInsets newEdgeInsets = UIEdgeInsetsMake(
|
|
232
255
|
newViewProps.edgeInsets.top, newViewProps.edgeInsets.left,
|
|
233
256
|
newViewProps.edgeInsets.bottom, newViewProps.edgeInsets.right);
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
- (void)finalizeUpdates:(RNComponentViewUpdateMask)updateMask {
|
|
239
|
-
[super finalizeUpdates:updateMask];
|
|
240
|
-
|
|
241
|
-
if (updateMask & RNComponentViewUpdateMaskProps) {
|
|
242
|
-
if (!_provider)
|
|
243
|
-
return;
|
|
244
|
-
|
|
245
|
-
[self applyProps];
|
|
257
|
+
if (!UIEdgeInsetsEqualToEdgeInsets(newEdgeInsets, _edgeInsets)) {
|
|
258
|
+
_oldEdgeInsets = _edgeInsets;
|
|
259
|
+
_edgeInsets = newEdgeInsets;
|
|
246
260
|
[_provider setEdgeInsets:_edgeInsets oldEdgeInsets:_oldEdgeInsets];
|
|
247
261
|
}
|
|
262
|
+
|
|
263
|
+
[super updateProps:props oldProps:oldProps];
|
|
248
264
|
}
|
|
249
265
|
|
|
250
266
|
#pragma mark - Commands
|
|
@@ -273,6 +289,18 @@ using namespace luggmaps::events;
|
|
|
273
289
|
duration:duration];
|
|
274
290
|
}
|
|
275
291
|
|
|
292
|
+
- (void)setEdgeInsets:(double)top
|
|
293
|
+
left:(double)left
|
|
294
|
+
bottom:(double)bottom
|
|
295
|
+
right:(double)right
|
|
296
|
+
duration:(double)duration {
|
|
297
|
+
UIEdgeInsets oldInsets = _edgeInsets;
|
|
298
|
+
_edgeInsets = UIEdgeInsetsMake(top, left, bottom, right);
|
|
299
|
+
[_provider setEdgeInsets:_edgeInsets
|
|
300
|
+
oldEdgeInsets:oldInsets
|
|
301
|
+
duration:duration];
|
|
302
|
+
}
|
|
303
|
+
|
|
276
304
|
- (void)handleCommand:(const NSString *)commandName args:(const NSArray *)args {
|
|
277
305
|
RCTLuggMapViewHandleCommand(self, commandName, args);
|
|
278
306
|
}
|
|
@@ -29,6 +29,13 @@
|
|
|
29
29
|
double _minZoom;
|
|
30
30
|
double _maxZoom;
|
|
31
31
|
NSMapTable<id<MKOverlay>, LuggPolylineView *> *_overlayToPolylineMap;
|
|
32
|
+
|
|
33
|
+
// Edge insets animation
|
|
34
|
+
CADisplayLink *_edgeInsetsDisplayLink;
|
|
35
|
+
UIEdgeInsets _edgeInsetsFrom;
|
|
36
|
+
UIEdgeInsets _edgeInsetsTo;
|
|
37
|
+
CFTimeInterval _edgeInsetsAnimationStart;
|
|
38
|
+
CFTimeInterval _edgeInsetsAnimationDuration;
|
|
32
39
|
}
|
|
33
40
|
|
|
34
41
|
@synthesize delegate = _delegate;
|
|
@@ -76,6 +83,7 @@
|
|
|
76
83
|
}
|
|
77
84
|
|
|
78
85
|
- (void)destroy {
|
|
86
|
+
[self stopEdgeInsetsAnimation];
|
|
79
87
|
[_mapView removeFromSuperview];
|
|
80
88
|
_mapView = nil;
|
|
81
89
|
_isMapReady = NO;
|
|
@@ -151,6 +159,55 @@
|
|
|
151
159
|
}
|
|
152
160
|
}
|
|
153
161
|
|
|
162
|
+
- (void)setEdgeInsets:(UIEdgeInsets)edgeInsets
|
|
163
|
+
oldEdgeInsets:(UIEdgeInsets)oldEdgeInsets
|
|
164
|
+
duration:(double)duration {
|
|
165
|
+
[self stopEdgeInsetsAnimation];
|
|
166
|
+
|
|
167
|
+
if (duration != 0 && _mapView) {
|
|
168
|
+
double actualDuration = duration < 0 ? 0.3 : duration / 1000.0;
|
|
169
|
+
_edgeInsetsFrom = oldEdgeInsets;
|
|
170
|
+
_edgeInsetsTo = edgeInsets;
|
|
171
|
+
_edgeInsetsAnimationDuration = actualDuration;
|
|
172
|
+
_edgeInsetsAnimationStart = CACurrentMediaTime();
|
|
173
|
+
|
|
174
|
+
_edgeInsetsDisplayLink = [CADisplayLink
|
|
175
|
+
displayLinkWithTarget:self
|
|
176
|
+
selector:@selector(edgeInsetsAnimationTick:)];
|
|
177
|
+
[_edgeInsetsDisplayLink addToRunLoop:[NSRunLoop mainRunLoop]
|
|
178
|
+
forMode:NSRunLoopCommonModes];
|
|
179
|
+
} else {
|
|
180
|
+
[self setEdgeInsets:edgeInsets oldEdgeInsets:oldEdgeInsets];
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
- (void)edgeInsetsAnimationTick:(CADisplayLink *)displayLink {
|
|
185
|
+
CFTimeInterval elapsed = CACurrentMediaTime() - _edgeInsetsAnimationStart;
|
|
186
|
+
CGFloat progress = MIN(elapsed / _edgeInsetsAnimationDuration, 1.0);
|
|
187
|
+
|
|
188
|
+
// Ease out cubic
|
|
189
|
+
CGFloat t = 1.0 - (1.0 - progress) * (1.0 - progress) * (1.0 - progress);
|
|
190
|
+
|
|
191
|
+
UIEdgeInsets current = UIEdgeInsetsMake(
|
|
192
|
+
_edgeInsetsFrom.top + (_edgeInsetsTo.top - _edgeInsetsFrom.top) * t,
|
|
193
|
+
_edgeInsetsFrom.left + (_edgeInsetsTo.left - _edgeInsetsFrom.left) * t,
|
|
194
|
+
_edgeInsetsFrom.bottom +
|
|
195
|
+
(_edgeInsetsTo.bottom - _edgeInsetsFrom.bottom) * t,
|
|
196
|
+
_edgeInsetsFrom.right +
|
|
197
|
+
(_edgeInsetsTo.right - _edgeInsetsFrom.right) * t);
|
|
198
|
+
|
|
199
|
+
[self setEdgeInsets:current oldEdgeInsets:_mapView.layoutMargins];
|
|
200
|
+
|
|
201
|
+
if (progress >= 1.0) {
|
|
202
|
+
[self stopEdgeInsetsAnimation];
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
- (void)stopEdgeInsetsAnimation {
|
|
207
|
+
[_edgeInsetsDisplayLink invalidate];
|
|
208
|
+
_edgeInsetsDisplayLink = nil;
|
|
209
|
+
}
|
|
210
|
+
|
|
154
211
|
- (CLLocationDistance)cameraDistanceForZoomLevel:(double)zoomLevel {
|
|
155
212
|
return 128000000.0 / pow(2, zoomLevel);
|
|
156
213
|
}
|
|
@@ -19,6 +19,13 @@ static NSString *const kDemoMapId = @"DEMO_MAP_ID";
|
|
|
19
19
|
NSMutableArray<LuggMarkerView *> *_pendingMarkerViews;
|
|
20
20
|
NSMutableArray<LuggPolylineView *> *_pendingPolylineViews;
|
|
21
21
|
NSMapTable<LuggPolylineView *, GMSPolylineAnimator *> *_polylineAnimators;
|
|
22
|
+
|
|
23
|
+
// Edge insets animation
|
|
24
|
+
CADisplayLink *_edgeInsetsDisplayLink;
|
|
25
|
+
UIEdgeInsets _edgeInsetsFrom;
|
|
26
|
+
UIEdgeInsets _edgeInsetsTo;
|
|
27
|
+
CFTimeInterval _edgeInsetsAnimationStart;
|
|
28
|
+
CFTimeInterval _edgeInsetsAnimationDuration;
|
|
22
29
|
}
|
|
23
30
|
|
|
24
31
|
@synthesize delegate = _delegate;
|
|
@@ -86,6 +93,7 @@ static NSString *const kDemoMapId = @"DEMO_MAP_ID";
|
|
|
86
93
|
}
|
|
87
94
|
|
|
88
95
|
- (void)destroy {
|
|
96
|
+
[self stopEdgeInsetsAnimation];
|
|
89
97
|
[_pendingMarkerViews removeAllObjects];
|
|
90
98
|
[_pendingPolylineViews removeAllObjects];
|
|
91
99
|
[_polylineAnimators removeAllObjects];
|
|
@@ -155,10 +163,61 @@ static NSString *const kDemoMapId = @"DEMO_MAP_ID";
|
|
|
155
163
|
|
|
156
164
|
- (void)setEdgeInsets:(UIEdgeInsets)edgeInsets
|
|
157
165
|
oldEdgeInsets:(UIEdgeInsets)oldEdgeInsets {
|
|
166
|
+
[self setEdgeInsets:edgeInsets oldEdgeInsets:oldEdgeInsets duration:0];
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
- (void)setEdgeInsets:(UIEdgeInsets)edgeInsets
|
|
170
|
+
oldEdgeInsets:(UIEdgeInsets)oldEdgeInsets
|
|
171
|
+
duration:(double)duration {
|
|
158
172
|
if (UIEdgeInsetsEqualToEdgeInsets(_edgeInsets, edgeInsets))
|
|
159
173
|
return;
|
|
160
|
-
|
|
161
|
-
|
|
174
|
+
|
|
175
|
+
[self stopEdgeInsetsAnimation];
|
|
176
|
+
|
|
177
|
+
if (duration != 0 && _mapView) {
|
|
178
|
+
double actualDuration = duration < 0 ? 0.3 : duration / 1000.0;
|
|
179
|
+
_edgeInsetsFrom = _edgeInsets;
|
|
180
|
+
_edgeInsetsTo = edgeInsets;
|
|
181
|
+
_edgeInsets = edgeInsets;
|
|
182
|
+
_edgeInsetsAnimationDuration = actualDuration;
|
|
183
|
+
_edgeInsetsAnimationStart = CACurrentMediaTime();
|
|
184
|
+
|
|
185
|
+
_edgeInsetsDisplayLink = [CADisplayLink
|
|
186
|
+
displayLinkWithTarget:self
|
|
187
|
+
selector:@selector(edgeInsetsAnimationTick:)];
|
|
188
|
+
[_edgeInsetsDisplayLink addToRunLoop:[NSRunLoop mainRunLoop]
|
|
189
|
+
forMode:NSRunLoopCommonModes];
|
|
190
|
+
} else {
|
|
191
|
+
_edgeInsets = edgeInsets;
|
|
192
|
+
_mapView.padding = edgeInsets;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
- (void)edgeInsetsAnimationTick:(CADisplayLink *)displayLink {
|
|
197
|
+
CFTimeInterval elapsed = CACurrentMediaTime() - _edgeInsetsAnimationStart;
|
|
198
|
+
CGFloat progress = MIN(elapsed / _edgeInsetsAnimationDuration, 1.0);
|
|
199
|
+
|
|
200
|
+
// Ease out cubic
|
|
201
|
+
CGFloat t = 1.0 - (1.0 - progress) * (1.0 - progress) * (1.0 - progress);
|
|
202
|
+
|
|
203
|
+
UIEdgeInsets current = UIEdgeInsetsMake(
|
|
204
|
+
_edgeInsetsFrom.top + (_edgeInsetsTo.top - _edgeInsetsFrom.top) * t,
|
|
205
|
+
_edgeInsetsFrom.left + (_edgeInsetsTo.left - _edgeInsetsFrom.left) * t,
|
|
206
|
+
_edgeInsetsFrom.bottom +
|
|
207
|
+
(_edgeInsetsTo.bottom - _edgeInsetsFrom.bottom) * t,
|
|
208
|
+
_edgeInsetsFrom.right +
|
|
209
|
+
(_edgeInsetsTo.right - _edgeInsetsFrom.right) * t);
|
|
210
|
+
|
|
211
|
+
_mapView.padding = current;
|
|
212
|
+
|
|
213
|
+
if (progress >= 1.0) {
|
|
214
|
+
[self stopEdgeInsetsAnimation];
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
- (void)stopEdgeInsetsAnimation {
|
|
219
|
+
[_edgeInsetsDisplayLink invalidate];
|
|
220
|
+
_edgeInsetsDisplayLink = nil;
|
|
162
221
|
}
|
|
163
222
|
|
|
164
223
|
#pragma mark - GMSMapViewDelegate
|
|
@@ -39,6 +39,9 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
39
39
|
- (void)setMaxZoom:(double)maxZoom;
|
|
40
40
|
- (void)setEdgeInsets:(UIEdgeInsets)edgeInsets
|
|
41
41
|
oldEdgeInsets:(UIEdgeInsets)oldEdgeInsets;
|
|
42
|
+
- (void)setEdgeInsets:(UIEdgeInsets)edgeInsets
|
|
43
|
+
oldEdgeInsets:(UIEdgeInsets)oldEdgeInsets
|
|
44
|
+
duration:(double)duration;
|
|
42
45
|
|
|
43
46
|
// Children
|
|
44
47
|
- (void)addMarkerView:(LuggMarkerView *)markerView;
|
package/lib/module/MapView.js
CHANGED
|
@@ -30,7 +30,7 @@ export class MapView extends React.Component {
|
|
|
30
30
|
const first = coordinates[0];
|
|
31
31
|
if (!ref || !first) return;
|
|
32
32
|
const {
|
|
33
|
-
|
|
33
|
+
padding,
|
|
34
34
|
duration = -1
|
|
35
35
|
} = options ?? {};
|
|
36
36
|
const {
|
|
@@ -38,7 +38,7 @@ export class MapView extends React.Component {
|
|
|
38
38
|
left = 0,
|
|
39
39
|
bottom = 0,
|
|
40
40
|
right = 0
|
|
41
|
-
} =
|
|
41
|
+
} = padding ?? {};
|
|
42
42
|
if (coordinates.length === 1) {
|
|
43
43
|
const zoom = this.props.initialZoom ?? 10;
|
|
44
44
|
this.moveCamera(first, {
|
|
@@ -49,6 +49,20 @@ export class MapView extends React.Component {
|
|
|
49
49
|
}
|
|
50
50
|
Commands.fitCoordinates(ref, coordinates, top, left, bottom, right, duration);
|
|
51
51
|
}
|
|
52
|
+
setEdgeInsets(edgeInsets, options) {
|
|
53
|
+
const ref = this.nativeRef.current;
|
|
54
|
+
if (!ref) return;
|
|
55
|
+
const {
|
|
56
|
+
top = 0,
|
|
57
|
+
left = 0,
|
|
58
|
+
bottom = 0,
|
|
59
|
+
right = 0
|
|
60
|
+
} = edgeInsets;
|
|
61
|
+
const {
|
|
62
|
+
duration = -1
|
|
63
|
+
} = options ?? {};
|
|
64
|
+
Commands.setEdgeInsets(ref, top, left, bottom, right, duration);
|
|
65
|
+
}
|
|
52
66
|
render() {
|
|
53
67
|
const {
|
|
54
68
|
provider,
|
|
@@ -63,7 +77,7 @@ export class MapView extends React.Component {
|
|
|
63
77
|
pitchEnabled,
|
|
64
78
|
edgeInsets,
|
|
65
79
|
userLocationEnabled,
|
|
66
|
-
|
|
80
|
+
userLocationButtonEnabled,
|
|
67
81
|
theme,
|
|
68
82
|
onCameraMove,
|
|
69
83
|
onCameraIdle,
|
|
@@ -86,7 +100,7 @@ export class MapView extends React.Component {
|
|
|
86
100
|
pitchEnabled: pitchEnabled,
|
|
87
101
|
edgeInsets: edgeInsets,
|
|
88
102
|
userLocationEnabled: userLocationEnabled,
|
|
89
|
-
|
|
103
|
+
userLocationButtonEnabled: userLocationButtonEnabled,
|
|
90
104
|
theme: theme,
|
|
91
105
|
onCameraMove: onCameraMove,
|
|
92
106
|
onCameraIdle: onCameraIdle,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Platform","StyleSheet","LuggMapViewNativeComponent","Commands","LuggMapWrapperViewNativeComponent","jsx","_jsx","jsxs","_jsxs","MapView","Component","defaultProps","provider","OS","initialZoom","zoomEnabled","scrollEnabled","rotateEnabled","pitchEnabled","theme","nativeRef","createRef","moveCamera","coordinate","options","ref","current","zoom","duration","latitude","longitude","fitCoordinates","coordinates","first","
|
|
1
|
+
{"version":3,"names":["React","Platform","StyleSheet","LuggMapViewNativeComponent","Commands","LuggMapWrapperViewNativeComponent","jsx","_jsx","jsxs","_jsxs","MapView","Component","defaultProps","provider","OS","initialZoom","zoomEnabled","scrollEnabled","rotateEnabled","pitchEnabled","theme","nativeRef","createRef","moveCamera","coordinate","options","ref","current","zoom","duration","latitude","longitude","fitCoordinates","coordinates","first","padding","top","left","bottom","right","length","props","setEdgeInsets","edgeInsets","render","mapId","initialCoordinate","minZoom","maxZoom","userLocationEnabled","userLocationButtonEnabled","onCameraMove","onCameraIdle","onReady","children","rest","style","absoluteFill"],"sourceRoot":"../../src","sources":["MapView.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -93,10 +93,9 @@ export const MapView = /*#__PURE__*/forwardRef(function MapView(props, ref) {
|
|
|
93
93
|
const [isDragging, setIsDragging] = useState(false);
|
|
94
94
|
const wasGesture = useRef(false);
|
|
95
95
|
const prevEdgeInsets = useRef(edgeInsets);
|
|
96
|
-
const offsetCenter = useCallback((coord, zoom,
|
|
97
|
-
const p =
|
|
98
|
-
|
|
99
|
-
if (!p || !div) {
|
|
96
|
+
const offsetCenter = useCallback((coord, zoom, insets, reverse = false) => {
|
|
97
|
+
const p = insets ?? prevEdgeInsets.current;
|
|
98
|
+
if (!p) {
|
|
100
99
|
return {
|
|
101
100
|
lat: coord.latitude,
|
|
102
101
|
lng: coord.longitude
|
|
@@ -115,7 +114,32 @@ export const MapView = /*#__PURE__*/forwardRef(function MapView(props, ref) {
|
|
|
115
114
|
lat,
|
|
116
115
|
lng
|
|
117
116
|
};
|
|
118
|
-
}, [
|
|
117
|
+
}, []);
|
|
118
|
+
const applyEdgeInsets = useCallback((newEdgeInsets, duration) => {
|
|
119
|
+
if (!map) return;
|
|
120
|
+
const prev = prevEdgeInsets.current;
|
|
121
|
+
const center = map.getCenter();
|
|
122
|
+
const zoom = map.getZoom() ?? initialZoom;
|
|
123
|
+
if (center) {
|
|
124
|
+
const logicalCenter = offsetCenter({
|
|
125
|
+
latitude: center.lat(),
|
|
126
|
+
longitude: center.lng()
|
|
127
|
+
}, zoom, prev, true);
|
|
128
|
+
const newCenter = offsetCenter({
|
|
129
|
+
latitude: logicalCenter.lat,
|
|
130
|
+
longitude: logicalCenter.lng
|
|
131
|
+
}, zoom, newEdgeInsets, false);
|
|
132
|
+
if (duration === 0) {
|
|
133
|
+
map.moveCamera({
|
|
134
|
+
center: newCenter,
|
|
135
|
+
zoom
|
|
136
|
+
});
|
|
137
|
+
} else {
|
|
138
|
+
map.panTo(newCenter);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
prevEdgeInsets.current = newEdgeInsets;
|
|
142
|
+
}, [map, initialZoom, offsetCenter]);
|
|
119
143
|
useImperativeHandle(ref, () => ({
|
|
120
144
|
moveCamera(coordinate, options) {
|
|
121
145
|
if (!map) return;
|
|
@@ -143,7 +167,7 @@ export const MapView = /*#__PURE__*/forwardRef(function MapView(props, ref) {
|
|
|
143
167
|
const first = coordinates[0];
|
|
144
168
|
if (!map || !first) return;
|
|
145
169
|
const {
|
|
146
|
-
|
|
170
|
+
padding: fitPadding,
|
|
147
171
|
duration = -1
|
|
148
172
|
} = options ?? {};
|
|
149
173
|
if (coordinates.length === 1) {
|
|
@@ -160,14 +184,18 @@ export const MapView = /*#__PURE__*/forwardRef(function MapView(props, ref) {
|
|
|
160
184
|
lng: coord.longitude
|
|
161
185
|
});
|
|
162
186
|
});
|
|
187
|
+
const ei = prevEdgeInsets.current;
|
|
163
188
|
map.fitBounds(bounds, {
|
|
164
|
-
top: (
|
|
165
|
-
left: (
|
|
166
|
-
bottom: (
|
|
167
|
-
right: (
|
|
189
|
+
top: (ei?.top ?? 0) + (fitPadding?.top ?? 0),
|
|
190
|
+
left: (ei?.left ?? 0) + (fitPadding?.left ?? 0),
|
|
191
|
+
bottom: (ei?.bottom ?? 0) + (fitPadding?.bottom ?? 0),
|
|
192
|
+
right: (ei?.right ?? 0) + (fitPadding?.right ?? 0)
|
|
168
193
|
});
|
|
194
|
+
},
|
|
195
|
+
setEdgeInsets(newEdgeInsets, options) {
|
|
196
|
+
applyEdgeInsets(newEdgeInsets, options?.duration);
|
|
169
197
|
}
|
|
170
|
-
}), [map, initialZoom,
|
|
198
|
+
}), [map, initialZoom, offsetCenter, applyEdgeInsets]);
|
|
171
199
|
useEffect(() => {
|
|
172
200
|
if (map && !readyFired.current) {
|
|
173
201
|
readyFired.current = true;
|
|
@@ -179,22 +207,9 @@ export const MapView = /*#__PURE__*/forwardRef(function MapView(props, ref) {
|
|
|
179
207
|
const prev = prevEdgeInsets.current;
|
|
180
208
|
const changed = prev?.top !== edgeInsets.top || prev?.left !== edgeInsets.left || prev?.bottom !== edgeInsets.bottom || prev?.right !== edgeInsets.right;
|
|
181
209
|
if (changed) {
|
|
182
|
-
|
|
183
|
-
const zoom = map.getZoom() ?? initialZoom;
|
|
184
|
-
if (center) {
|
|
185
|
-
const logicalCenter = offsetCenter({
|
|
186
|
-
latitude: center.lat(),
|
|
187
|
-
longitude: center.lng()
|
|
188
|
-
}, zoom, prev, true);
|
|
189
|
-
const newCenter = offsetCenter({
|
|
190
|
-
latitude: logicalCenter.lat,
|
|
191
|
-
longitude: logicalCenter.lng
|
|
192
|
-
}, zoom, edgeInsets, false);
|
|
193
|
-
map.panTo(newCenter);
|
|
194
|
-
}
|
|
195
|
-
prevEdgeInsets.current = edgeInsets;
|
|
210
|
+
applyEdgeInsets(edgeInsets);
|
|
196
211
|
}
|
|
197
|
-
}, [map, edgeInsets,
|
|
212
|
+
}, [map, edgeInsets, applyEdgeInsets]);
|
|
198
213
|
const handleDragStart = () => {
|
|
199
214
|
setIsDragging(true);
|
|
200
215
|
wasGesture.current = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["forwardRef","useCallback","useEffect","useId","useImperativeHandle","useRef","useState","View","ColorScheme","Map","useMap","Marker","MapContext","jsx","_jsx","jsxs","_jsxs","createSyntheticEvent","nativeEvent","currentTarget","target","bubbles","cancelable","defaultPrevented","eventPhase","isTrusted","preventDefault","stopPropagation","isDefaultPrevented","isPropagationStopped","persist","timeStamp","Date","now","type","userLocationDotStyle","width","height","backgroundColor","border","borderRadius","boxShadow","UserLocationMarker","enabled","coordinate","setCoordinate","watchId","updateLocation","position","latitude","coords","longitude","navigator","geolocation","getCurrentPosition","watchPosition","clearWatch","anchor","x","y","children","style","MapView","props","ref","mapId","initialCoordinate","initialZoom","minZoom","maxZoom","zoomEnabled","scrollEnabled","pitchEnabled","edgeInsets","userLocationEnabled","theme","onCameraMove","onCameraIdle","onReady","id","map","containerRef","readyFired","isDragging","setIsDragging","wasGesture","prevEdgeInsets","offsetCenter","coord","zoom","edgeInsetsOverride","reverse","p","div","getDiv","lat","lng","dir","scale","Math","pow","offsetX","right","left","offsetY","bottom","top","latRad","PI","log","tan","cos","atan","sinh","moveCamera","options","duration","targetZoom","getZoom","center","undefined","currentZoom","zoomChanged","setZoom","panTo","fitCoordinates","coordinates","first","fitEdgeInsets","length","bounds","google","maps","LatLngBounds","forEach","extend","fitBounds","current","prev","changed","getCenter","logicalCenter","newCenter","handleDragStart","handleDragEnd","handleCameraChanged","event","detail","payload","gesture","handleIdle","gestureHandling","colorScheme","DARK","LIGHT","FOLLOW_SYSTEM","defaultCenter","Provider","value","defaultZoom","disableDefaultUI","isFractionalZoomEnabled","tilt","onDragstart","onDragend","onCameraChanged","onIdle"],"sourceRoot":"../../src","sources":["MapView.web.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["forwardRef","useCallback","useEffect","useId","useImperativeHandle","useRef","useState","View","ColorScheme","Map","useMap","Marker","MapContext","jsx","_jsx","jsxs","_jsxs","createSyntheticEvent","nativeEvent","currentTarget","target","bubbles","cancelable","defaultPrevented","eventPhase","isTrusted","preventDefault","stopPropagation","isDefaultPrevented","isPropagationStopped","persist","timeStamp","Date","now","type","userLocationDotStyle","width","height","backgroundColor","border","borderRadius","boxShadow","UserLocationMarker","enabled","coordinate","setCoordinate","watchId","updateLocation","position","latitude","coords","longitude","navigator","geolocation","getCurrentPosition","watchPosition","clearWatch","anchor","x","y","children","style","MapView","props","ref","mapId","initialCoordinate","initialZoom","minZoom","maxZoom","zoomEnabled","scrollEnabled","pitchEnabled","edgeInsets","userLocationEnabled","theme","onCameraMove","onCameraIdle","onReady","id","map","containerRef","readyFired","isDragging","setIsDragging","wasGesture","prevEdgeInsets","offsetCenter","coord","zoom","insets","reverse","p","current","lat","lng","dir","scale","Math","pow","offsetX","right","left","offsetY","bottom","top","latRad","PI","log","tan","cos","atan","sinh","applyEdgeInsets","newEdgeInsets","duration","prev","center","getCenter","getZoom","logicalCenter","newCenter","moveCamera","panTo","options","targetZoom","undefined","currentZoom","zoomChanged","setZoom","fitCoordinates","coordinates","first","padding","fitPadding","length","bounds","google","maps","LatLngBounds","forEach","extend","ei","fitBounds","setEdgeInsets","changed","handleDragStart","handleDragEnd","handleCameraChanged","event","detail","payload","gesture","handleIdle","gestureHandling","colorScheme","DARK","LIGHT","FOLLOW_SYSTEM","defaultCenter","Provider","value","defaultZoom","disableDefaultUI","isFractionalZoomEnabled","tilt","onDragstart","onDragend","onCameraChanged","onIdle"],"sourceRoot":"../../src","sources":["MapView.web.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -51,7 +51,7 @@ export interface NativeProps extends ViewProps {
|
|
|
51
51
|
pitchEnabled?: boolean;
|
|
52
52
|
edgeInsets?: EdgeInsets;
|
|
53
53
|
userLocationEnabled?: boolean;
|
|
54
|
-
|
|
54
|
+
userLocationButtonEnabled?: boolean;
|
|
55
55
|
theme?: WithDefault<'light' | 'dark' | 'system', 'system'>;
|
|
56
56
|
onCameraMove?: DirectEventHandler<CameraMoveEvent>;
|
|
57
57
|
onCameraIdle?: DirectEventHandler<CameraIdleEvent>;
|
|
@@ -77,10 +77,18 @@ interface NativeCommands {
|
|
|
77
77
|
edgeInsetsRight: Double,
|
|
78
78
|
duration: Double
|
|
79
79
|
) => void;
|
|
80
|
+
setEdgeInsets: (
|
|
81
|
+
viewRef: React.ElementRef<ComponentType>,
|
|
82
|
+
top: Double,
|
|
83
|
+
left: Double,
|
|
84
|
+
bottom: Double,
|
|
85
|
+
right: Double,
|
|
86
|
+
duration: Double
|
|
87
|
+
) => void;
|
|
80
88
|
}
|
|
81
89
|
|
|
82
90
|
export const Commands = codegenNativeCommands<NativeCommands>({
|
|
83
|
-
supportedCommands: ['moveCamera', 'fitCoordinates'],
|
|
91
|
+
supportedCommands: ['moveCamera', 'fitCoordinates', 'setEdgeInsets'],
|
|
84
92
|
});
|
|
85
93
|
|
|
86
94
|
export default codegenNativeComponent<NativeProps>(
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { MapViewProps, MapViewRef, MoveCameraOptions, FitCoordinatesOptions } from './MapView.types';
|
|
3
|
-
import type { Coordinate } from './types';
|
|
2
|
+
import type { MapViewProps, MapViewRef, MoveCameraOptions, FitCoordinatesOptions, SetEdgeInsetsOptions } from './MapView.types';
|
|
3
|
+
import type { Coordinate, EdgeInsets } from './types';
|
|
4
4
|
export declare class MapView extends React.Component<MapViewProps> implements MapViewRef {
|
|
5
5
|
static defaultProps: Partial<MapViewProps>;
|
|
6
6
|
private nativeRef;
|
|
7
7
|
moveCamera(coordinate: Coordinate, options?: MoveCameraOptions): void;
|
|
8
8
|
fitCoordinates(coordinates: Coordinate[], options?: FitCoordinatesOptions): void;
|
|
9
|
+
setEdgeInsets(edgeInsets: EdgeInsets, options?: SetEdgeInsetsOptions): void;
|
|
9
10
|
render(): import("react/jsx-runtime").JSX.Element;
|
|
10
11
|
}
|
|
11
12
|
//# sourceMappingURL=MapView.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapView.d.ts","sourceRoot":"","sources":["../../../src/MapView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"MapView.d.ts","sourceRoot":"","sources":["../../../src/MapView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEtD,qBAAa,OACX,SAAQ,KAAK,CAAC,SAAS,CAAC,YAAY,CACpC,YAAW,UAAU;IAErB,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,CAQxC;IAEF,OAAO,CAAC,SAAS,CAA0B;IAE3C,UAAU,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,iBAAiB;IAc9D,cAAc,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,EAAE,qBAAqB;IAyBzE,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,oBAAoB;IASpE,MAAM;CAkDP"}
|
|
@@ -12,7 +12,13 @@ export interface MoveCameraOptions {
|
|
|
12
12
|
* Options for fitting coordinates in view
|
|
13
13
|
*/
|
|
14
14
|
export interface FitCoordinatesOptions {
|
|
15
|
-
|
|
15
|
+
padding?: EdgeInsets;
|
|
16
|
+
duration?: number;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Options for setting edge insets
|
|
20
|
+
*/
|
|
21
|
+
export interface SetEdgeInsetsOptions {
|
|
16
22
|
duration?: number;
|
|
17
23
|
}
|
|
18
24
|
/**
|
|
@@ -21,6 +27,7 @@ export interface FitCoordinatesOptions {
|
|
|
21
27
|
export interface MapViewRef {
|
|
22
28
|
moveCamera(coordinate: Coordinate, options?: MoveCameraOptions): void;
|
|
23
29
|
fitCoordinates(coordinates: Coordinate[], options?: FitCoordinatesOptions): void;
|
|
30
|
+
setEdgeInsets(edgeInsets: EdgeInsets, options?: SetEdgeInsetsOptions): void;
|
|
24
31
|
}
|
|
25
32
|
/**
|
|
26
33
|
* Camera event payload
|
|
@@ -95,7 +102,7 @@ export interface MapViewProps extends ViewProps {
|
|
|
95
102
|
* @default false
|
|
96
103
|
* @platform android
|
|
97
104
|
*/
|
|
98
|
-
|
|
105
|
+
userLocationButtonEnabled?: boolean;
|
|
99
106
|
/**
|
|
100
107
|
* Map color theme
|
|
101
108
|
* @default 'system'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapView.types.d.ts","sourceRoot":"","sources":["../../../src/MapView.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE7E;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,
|
|
1
|
+
{"version":3,"file":"MapView.types.d.ts","sourceRoot":"","sources":["../../../src/MapView.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE7E;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACtE,cAAc,CACZ,WAAW,EAAE,UAAU,EAAE,EACzB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,IAAI,CAAC;IACR,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;CAC7E;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,SAAS;IAC7C;;;OAGG;IACH,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC;;;OAGG;IACH,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,IAAI,CAAC;IACzE;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,IAAI,CAAC;IACzE;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapView.web.d.ts","sourceRoot":"","sources":["../../../src/MapView.web.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,
|
|
1
|
+
{"version":3,"file":"MapView.web.d.ts","sourceRoot":"","sources":["../../../src/MapView.web.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EAKX,MAAM,iBAAiB,CAAC;AAoEzB,eAAO,MAAM,OAAO,qGA0QlB,CAAC"}
|
|
@@ -41,7 +41,7 @@ export interface NativeProps extends ViewProps {
|
|
|
41
41
|
pitchEnabled?: boolean;
|
|
42
42
|
edgeInsets?: EdgeInsets;
|
|
43
43
|
userLocationEnabled?: boolean;
|
|
44
|
-
|
|
44
|
+
userLocationButtonEnabled?: boolean;
|
|
45
45
|
theme?: WithDefault<'light' | 'dark' | 'system', 'system'>;
|
|
46
46
|
onCameraMove?: DirectEventHandler<CameraMoveEvent>;
|
|
47
47
|
onCameraIdle?: DirectEventHandler<CameraIdleEvent>;
|
|
@@ -51,6 +51,7 @@ type ComponentType = HostComponent<NativeProps>;
|
|
|
51
51
|
interface NativeCommands {
|
|
52
52
|
moveCamera: (viewRef: React.ElementRef<ComponentType>, latitude: Double, longitude: Double, zoom: Double, duration: Double) => void;
|
|
53
53
|
fitCoordinates: (viewRef: React.ElementRef<ComponentType>, coordinates: Coordinate[], edgeInsetsTop: Double, edgeInsetsLeft: Double, edgeInsetsBottom: Double, edgeInsetsRight: Double, duration: Double) => void;
|
|
54
|
+
setEdgeInsets: (viewRef: React.ElementRef<ComponentType>, top: Double, left: Double, bottom: Double, right: Double, duration: Double) => void;
|
|
54
55
|
}
|
|
55
56
|
export declare const Commands: NativeCommands;
|
|
56
57
|
declare const _default: ComponentType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LuggMapViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/fabric/LuggMapViewNativeComponent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,KAAK,EACV,MAAM,EACN,WAAW,EACX,kBAAkB,EACnB,MAAM,2CAA2C,CAAC;AAEnD,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;CAAG;AAE9B,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,QAAQ,CAAC,EAAE,WAAW,CAAC,QAAQ,GAAG,OAAO,EAAE,QAAQ,CAAC,CAAC;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,
|
|
1
|
+
{"version":3,"file":"LuggMapViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/fabric/LuggMapViewNativeComponent.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,6 @@ export { Marker } from './components';
|
|
|
5
5
|
export type { MarkerProps } from './components';
|
|
6
6
|
export { Polyline } from './components';
|
|
7
7
|
export type { PolylineProps, PolylineEasing, PolylineAnimatedOptions, } from './components';
|
|
8
|
-
export type { MapViewProps, MapViewRef, MoveCameraOptions, FitCoordinatesOptions, CameraEventPayload, } from './MapView.types';
|
|
8
|
+
export type { MapViewProps, MapViewRef, MoveCameraOptions, FitCoordinatesOptions, SetEdgeInsetsOptions, CameraEventPayload, } from './MapView.types';
|
|
9
9
|
export type { MapProvider as MapProviderType, MapTheme, Coordinate, Point, EdgeInsets, } from './types';
|
|
10
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,YAAY,EACV,aAAa,EACb,cAAc,EACd,uBAAuB,GACxB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,WAAW,IAAI,eAAe,EAC9B,QAAQ,EACR,UAAU,EACV,KAAK,EACL,UAAU,GACX,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,YAAY,EACV,aAAa,EACb,cAAc,EACd,uBAAuB,GACxB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,WAAW,IAAI,eAAe,EAC9B,QAAQ,EACR,UAAU,EACV,KAAK,EACL,UAAU,GACX,MAAM,SAAS,CAAC"}
|
package/package.json
CHANGED
package/src/MapView.tsx
CHANGED
|
@@ -9,8 +9,9 @@ import type {
|
|
|
9
9
|
MapViewRef,
|
|
10
10
|
MoveCameraOptions,
|
|
11
11
|
FitCoordinatesOptions,
|
|
12
|
+
SetEdgeInsetsOptions,
|
|
12
13
|
} from './MapView.types';
|
|
13
|
-
import type { Coordinate } from './types';
|
|
14
|
+
import type { Coordinate, EdgeInsets } from './types';
|
|
14
15
|
|
|
15
16
|
export class MapView
|
|
16
17
|
extends React.Component<MapViewProps>
|
|
@@ -47,8 +48,8 @@ export class MapView
|
|
|
47
48
|
const first = coordinates[0];
|
|
48
49
|
if (!ref || !first) return;
|
|
49
50
|
|
|
50
|
-
const {
|
|
51
|
-
const { top = 0, left = 0, bottom = 0, right = 0 } =
|
|
51
|
+
const { padding, duration = -1 } = options ?? {};
|
|
52
|
+
const { top = 0, left = 0, bottom = 0, right = 0 } = padding ?? {};
|
|
52
53
|
|
|
53
54
|
if (coordinates.length === 1) {
|
|
54
55
|
const zoom = this.props.initialZoom ?? 10;
|
|
@@ -67,6 +68,15 @@ export class MapView
|
|
|
67
68
|
);
|
|
68
69
|
}
|
|
69
70
|
|
|
71
|
+
setEdgeInsets(edgeInsets: EdgeInsets, options?: SetEdgeInsetsOptions) {
|
|
72
|
+
const ref = this.nativeRef.current;
|
|
73
|
+
if (!ref) return;
|
|
74
|
+
|
|
75
|
+
const { top = 0, left = 0, bottom = 0, right = 0 } = edgeInsets;
|
|
76
|
+
const { duration = -1 } = options ?? {};
|
|
77
|
+
Commands.setEdgeInsets(ref, top, left, bottom, right, duration);
|
|
78
|
+
}
|
|
79
|
+
|
|
70
80
|
render() {
|
|
71
81
|
const {
|
|
72
82
|
provider,
|
|
@@ -81,7 +91,7 @@ export class MapView
|
|
|
81
91
|
pitchEnabled,
|
|
82
92
|
edgeInsets,
|
|
83
93
|
userLocationEnabled,
|
|
84
|
-
|
|
94
|
+
userLocationButtonEnabled,
|
|
85
95
|
theme,
|
|
86
96
|
onCameraMove,
|
|
87
97
|
onCameraIdle,
|
|
@@ -106,7 +116,7 @@ export class MapView
|
|
|
106
116
|
pitchEnabled={pitchEnabled}
|
|
107
117
|
edgeInsets={edgeInsets}
|
|
108
118
|
userLocationEnabled={userLocationEnabled}
|
|
109
|
-
|
|
119
|
+
userLocationButtonEnabled={userLocationButtonEnabled}
|
|
110
120
|
theme={theme}
|
|
111
121
|
onCameraMove={onCameraMove}
|
|
112
122
|
onCameraIdle={onCameraIdle}
|
package/src/MapView.types.ts
CHANGED
|
@@ -14,7 +14,14 @@ export interface MoveCameraOptions {
|
|
|
14
14
|
* Options for fitting coordinates in view
|
|
15
15
|
*/
|
|
16
16
|
export interface FitCoordinatesOptions {
|
|
17
|
-
|
|
17
|
+
padding?: EdgeInsets;
|
|
18
|
+
duration?: number;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Options for setting edge insets
|
|
23
|
+
*/
|
|
24
|
+
export interface SetEdgeInsetsOptions {
|
|
18
25
|
duration?: number;
|
|
19
26
|
}
|
|
20
27
|
|
|
@@ -27,6 +34,7 @@ export interface MapViewRef {
|
|
|
27
34
|
coordinates: Coordinate[],
|
|
28
35
|
options?: FitCoordinatesOptions
|
|
29
36
|
): void;
|
|
37
|
+
setEdgeInsets(edgeInsets: EdgeInsets, options?: SetEdgeInsetsOptions): void;
|
|
30
38
|
}
|
|
31
39
|
|
|
32
40
|
/**
|
|
@@ -103,7 +111,7 @@ export interface MapViewProps extends ViewProps {
|
|
|
103
111
|
* @default false
|
|
104
112
|
* @platform android
|
|
105
113
|
*/
|
|
106
|
-
|
|
114
|
+
userLocationButtonEnabled?: boolean;
|
|
107
115
|
/**
|
|
108
116
|
* Map color theme
|
|
109
117
|
* @default 'system'
|
package/src/MapView.web.tsx
CHANGED
|
@@ -25,9 +25,10 @@ import type {
|
|
|
25
25
|
MapViewRef,
|
|
26
26
|
MoveCameraOptions,
|
|
27
27
|
FitCoordinatesOptions,
|
|
28
|
+
SetEdgeInsetsOptions,
|
|
28
29
|
CameraEventPayload,
|
|
29
30
|
} from './MapView.types';
|
|
30
|
-
import type { Coordinate } from './types';
|
|
31
|
+
import type { Coordinate, EdgeInsets } from './types';
|
|
31
32
|
|
|
32
33
|
const createSyntheticEvent = <T,>(nativeEvent: T): NativeSyntheticEvent<T> =>
|
|
33
34
|
({
|
|
@@ -126,15 +127,9 @@ export const MapView = forwardRef<MapViewRef, MapViewProps>(function MapView(
|
|
|
126
127
|
const prevEdgeInsets = useRef(edgeInsets);
|
|
127
128
|
|
|
128
129
|
const offsetCenter = useCallback(
|
|
129
|
-
(
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
edgeInsetsOverride?: typeof edgeInsets,
|
|
133
|
-
reverse = false
|
|
134
|
-
) => {
|
|
135
|
-
const p = edgeInsetsOverride ?? edgeInsets;
|
|
136
|
-
const div = map?.getDiv();
|
|
137
|
-
if (!p || !div) {
|
|
130
|
+
(coord: Coordinate, zoom: number, insets?: EdgeInsets, reverse = false) => {
|
|
131
|
+
const p = insets ?? prevEdgeInsets.current;
|
|
132
|
+
if (!p) {
|
|
138
133
|
return { lat: coord.latitude, lng: coord.longitude };
|
|
139
134
|
}
|
|
140
135
|
|
|
@@ -157,7 +152,41 @@ export const MapView = forwardRef<MapViewRef, MapViewProps>(function MapView(
|
|
|
157
152
|
|
|
158
153
|
return { lat, lng };
|
|
159
154
|
},
|
|
160
|
-
[
|
|
155
|
+
[]
|
|
156
|
+
);
|
|
157
|
+
|
|
158
|
+
const applyEdgeInsets = useCallback(
|
|
159
|
+
(newEdgeInsets: EdgeInsets, duration?: number) => {
|
|
160
|
+
if (!map) return;
|
|
161
|
+
|
|
162
|
+
const prev = prevEdgeInsets.current;
|
|
163
|
+
const center = map.getCenter();
|
|
164
|
+
const zoom = map.getZoom() ?? initialZoom;
|
|
165
|
+
|
|
166
|
+
if (center) {
|
|
167
|
+
const logicalCenter = offsetCenter(
|
|
168
|
+
{ latitude: center.lat(), longitude: center.lng() },
|
|
169
|
+
zoom,
|
|
170
|
+
prev,
|
|
171
|
+
true
|
|
172
|
+
);
|
|
173
|
+
const newCenter = offsetCenter(
|
|
174
|
+
{ latitude: logicalCenter.lat, longitude: logicalCenter.lng },
|
|
175
|
+
zoom,
|
|
176
|
+
newEdgeInsets,
|
|
177
|
+
false
|
|
178
|
+
);
|
|
179
|
+
|
|
180
|
+
if (duration === 0) {
|
|
181
|
+
map.moveCamera({ center: newCenter, zoom });
|
|
182
|
+
} else {
|
|
183
|
+
map.panTo(newCenter);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
prevEdgeInsets.current = newEdgeInsets;
|
|
188
|
+
},
|
|
189
|
+
[map, initialZoom, offsetCenter]
|
|
161
190
|
);
|
|
162
191
|
|
|
163
192
|
useImperativeHandle(
|
|
@@ -190,7 +219,7 @@ export const MapView = forwardRef<MapViewRef, MapViewProps>(function MapView(
|
|
|
190
219
|
const first = coordinates[0];
|
|
191
220
|
if (!map || !first) return;
|
|
192
221
|
|
|
193
|
-
const {
|
|
222
|
+
const { padding: fitPadding, duration = -1 } = options ?? {};
|
|
194
223
|
|
|
195
224
|
if (coordinates.length === 1) {
|
|
196
225
|
this.moveCamera(first, { zoom: initialZoom, duration });
|
|
@@ -202,15 +231,20 @@ export const MapView = forwardRef<MapViewRef, MapViewProps>(function MapView(
|
|
|
202
231
|
bounds.extend({ lat: coord.latitude, lng: coord.longitude });
|
|
203
232
|
});
|
|
204
233
|
|
|
234
|
+
const ei = prevEdgeInsets.current;
|
|
205
235
|
map.fitBounds(bounds, {
|
|
206
|
-
top: (
|
|
207
|
-
left: (
|
|
208
|
-
bottom: (
|
|
209
|
-
right: (
|
|
236
|
+
top: (ei?.top ?? 0) + (fitPadding?.top ?? 0),
|
|
237
|
+
left: (ei?.left ?? 0) + (fitPadding?.left ?? 0),
|
|
238
|
+
bottom: (ei?.bottom ?? 0) + (fitPadding?.bottom ?? 0),
|
|
239
|
+
right: (ei?.right ?? 0) + (fitPadding?.right ?? 0),
|
|
210
240
|
});
|
|
211
241
|
},
|
|
242
|
+
|
|
243
|
+
setEdgeInsets(newEdgeInsets: EdgeInsets, options?: SetEdgeInsetsOptions) {
|
|
244
|
+
applyEdgeInsets(newEdgeInsets, options?.duration);
|
|
245
|
+
},
|
|
212
246
|
}),
|
|
213
|
-
[map, initialZoom,
|
|
247
|
+
[map, initialZoom, offsetCenter, applyEdgeInsets]
|
|
214
248
|
);
|
|
215
249
|
|
|
216
250
|
useEffect(() => {
|
|
@@ -231,26 +265,9 @@ export const MapView = forwardRef<MapViewRef, MapViewProps>(function MapView(
|
|
|
231
265
|
prev?.right !== edgeInsets.right;
|
|
232
266
|
|
|
233
267
|
if (changed) {
|
|
234
|
-
|
|
235
|
-
const zoom = map.getZoom() ?? initialZoom;
|
|
236
|
-
if (center) {
|
|
237
|
-
const logicalCenter = offsetCenter(
|
|
238
|
-
{ latitude: center.lat(), longitude: center.lng() },
|
|
239
|
-
zoom,
|
|
240
|
-
prev,
|
|
241
|
-
true
|
|
242
|
-
);
|
|
243
|
-
const newCenter = offsetCenter(
|
|
244
|
-
{ latitude: logicalCenter.lat, longitude: logicalCenter.lng },
|
|
245
|
-
zoom,
|
|
246
|
-
edgeInsets,
|
|
247
|
-
false
|
|
248
|
-
);
|
|
249
|
-
map.panTo(newCenter);
|
|
250
|
-
}
|
|
251
|
-
prevEdgeInsets.current = edgeInsets;
|
|
268
|
+
applyEdgeInsets(edgeInsets);
|
|
252
269
|
}
|
|
253
|
-
}, [map, edgeInsets,
|
|
270
|
+
}, [map, edgeInsets, applyEdgeInsets]);
|
|
254
271
|
|
|
255
272
|
const handleDragStart = () => {
|
|
256
273
|
setIsDragging(true);
|
|
@@ -51,7 +51,7 @@ export interface NativeProps extends ViewProps {
|
|
|
51
51
|
pitchEnabled?: boolean;
|
|
52
52
|
edgeInsets?: EdgeInsets;
|
|
53
53
|
userLocationEnabled?: boolean;
|
|
54
|
-
|
|
54
|
+
userLocationButtonEnabled?: boolean;
|
|
55
55
|
theme?: WithDefault<'light' | 'dark' | 'system', 'system'>;
|
|
56
56
|
onCameraMove?: DirectEventHandler<CameraMoveEvent>;
|
|
57
57
|
onCameraIdle?: DirectEventHandler<CameraIdleEvent>;
|
|
@@ -77,10 +77,18 @@ interface NativeCommands {
|
|
|
77
77
|
edgeInsetsRight: Double,
|
|
78
78
|
duration: Double
|
|
79
79
|
) => void;
|
|
80
|
+
setEdgeInsets: (
|
|
81
|
+
viewRef: React.ElementRef<ComponentType>,
|
|
82
|
+
top: Double,
|
|
83
|
+
left: Double,
|
|
84
|
+
bottom: Double,
|
|
85
|
+
right: Double,
|
|
86
|
+
duration: Double
|
|
87
|
+
) => void;
|
|
80
88
|
}
|
|
81
89
|
|
|
82
90
|
export const Commands = codegenNativeCommands<NativeCommands>({
|
|
83
|
-
supportedCommands: ['moveCamera', 'fitCoordinates'],
|
|
91
|
+
supportedCommands: ['moveCamera', 'fitCoordinates', 'setEdgeInsets'],
|
|
84
92
|
});
|
|
85
93
|
|
|
86
94
|
export default codegenNativeComponent<NativeProps>(
|