@rnmapbox/maps 10.1.12 → 10.1.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/android/src/main/java/com/rnmapbox/rnmbx/RNMBXPackage.kt +13 -2
  2. package/android/src/main/java/com/rnmapbox/rnmbx/components/camera/CameraStop.kt +0 -6
  3. package/android/src/main/java/com/rnmapbox/rnmbx/components/camera/RNMBXCamera.kt +11 -6
  4. package/android/src/main/java/com/rnmapbox/rnmbx/components/camera/RNMBXCameraManager.kt +2 -1
  5. package/android/src/main/java/com/rnmapbox/rnmbx/components/camera/RNMBXCameraModule.kt +51 -0
  6. package/android/src/main/java/com/rnmapbox/rnmbx/components/camera/RNMBXVIewportManager.kt +2 -1
  7. package/android/src/main/old-arch/com/rnmapbox/rnmbx/NativeRNMBXCameraModuleSpec.java +41 -0
  8. package/ios/RNMBX/RNMBXCamera.swift +49 -54
  9. package/ios/RNMBX/RNMBXCameraModule.h +18 -0
  10. package/ios/RNMBX/RNMBXCameraModule.mm +67 -0
  11. package/lib/commonjs/components/Camera.js +14 -15
  12. package/lib/commonjs/components/Camera.js.map +1 -1
  13. package/lib/commonjs/components/Viewport.js +2 -43
  14. package/lib/commonjs/components/Viewport.js.map +1 -1
  15. package/lib/commonjs/specs/NativeRNMBXCameraModule.js +10 -0
  16. package/lib/commonjs/specs/NativeRNMBXCameraModule.js.map +1 -0
  17. package/lib/commonjs/utils/NativeCommands.js +50 -0
  18. package/lib/commonjs/utils/NativeCommands.js.map +1 -0
  19. package/lib/module/components/Camera.js +15 -16
  20. package/lib/module/components/Camera.js.map +1 -1
  21. package/lib/module/components/Viewport.js +1 -42
  22. package/lib/module/components/Viewport.js.map +1 -1
  23. package/lib/module/specs/NativeRNMBXCameraModule.js +6 -0
  24. package/lib/module/specs/NativeRNMBXCameraModule.js.map +1 -0
  25. package/lib/module/utils/NativeCommands.js +43 -0
  26. package/lib/module/utils/NativeCommands.js.map +1 -0
  27. package/lib/typescript/src/components/Camera.d.ts.map +1 -1
  28. package/lib/typescript/src/components/Viewport.d.ts +0 -3
  29. package/lib/typescript/src/components/Viewport.d.ts.map +1 -1
  30. package/lib/typescript/src/specs/NativeRNMBXCameraModule.d.ts +27 -0
  31. package/lib/typescript/src/specs/NativeRNMBXCameraModule.d.ts.map +1 -0
  32. package/lib/typescript/src/utils/NativeCommands.d.ts +25 -0
  33. package/lib/typescript/src/utils/NativeCommands.d.ts.map +1 -0
  34. package/package.json +1 -1
  35. package/setup-jest.js +4 -0
  36. package/src/components/Camera.tsx +22 -10
  37. package/src/components/Viewport.tsx +2 -94
  38. package/src/specs/NativeRNMBXCameraModule.ts +36 -0
  39. package/src/utils/NativeCommands.ts +89 -0
@@ -13,6 +13,7 @@ import com.rnmapbox.rnmbx.components.annotation.RNMBXMarkerViewManager
13
13
  import com.rnmapbox.rnmbx.components.annotation.RNMBXPointAnnotationManager
14
14
  import com.rnmapbox.rnmbx.components.annotation.RNMBXPointAnnotationModule
15
15
  import com.rnmapbox.rnmbx.components.camera.RNMBXCameraManager
16
+ import com.rnmapbox.rnmbx.components.camera.RNMBXCameraModule
16
17
  import com.rnmapbox.rnmbx.components.camera.RNMBXViewport
17
18
  import com.rnmapbox.rnmbx.components.camera.RNMBXViewportManager
18
19
  import com.rnmapbox.rnmbx.components.camera.RNMBXViewportModule
@@ -96,6 +97,7 @@ class RNMBXPackage : TurboReactPackage() {
96
97
  RNMBXSnapshotModule.REACT_CLASS -> return RNMBXSnapshotModule(reactApplicationContext)
97
98
  RNMBXLogging.REACT_CLASS -> return RNMBXLogging(reactApplicationContext)
98
99
  NativeMapViewModule.NAME -> return NativeMapViewModule(reactApplicationContext, getViewTagResolver(reactApplicationContext, s))
100
+ RNMBXCameraModule.NAME -> return RNMBXCameraModule(reactApplicationContext, getViewTagResolver(reactApplicationContext, s))
99
101
  RNMBXViewportModule.NAME -> return RNMBXViewportModule(reactApplicationContext, getViewTagResolver(reactApplicationContext, s))
100
102
  RNMBXShapeSourceModule.NAME -> return RNMBXShapeSourceModule(reactApplicationContext, getViewTagResolver(reactApplicationContext, s))
101
103
  RNMBXImageModule.NAME -> return RNMBXImageModule(reactApplicationContext, getViewTagResolver(reactApplicationContext, s))
@@ -114,8 +116,8 @@ class RNMBXPackage : TurboReactPackage() {
114
116
  val managers: MutableList<ViewManager<*, *>> = ArrayList()
115
117
 
116
118
  // components
117
- managers.add(RNMBXCameraManager(reactApplicationContext))
118
- managers.add(RNMBXViewportManager(reactApplicationContext))
119
+ managers.add(RNMBXCameraManager(reactApplicationContext, getViewTagResolver(reactApplicationContext, "RNMBXCameraManager")))
120
+ managers.add(RNMBXViewportManager(reactApplicationContext, getViewTagResolver(reactApplicationContext, "RNMBXViewportManager")))
119
121
  managers.add(RNMBXMapViewManager(reactApplicationContext, getViewTagResolver(reactApplicationContext, "RNMBXMapViewManager")))
120
122
  managers.add(RNMBXStyleImportManager(reactApplicationContext))
121
123
  managers.add(RNMBXModelsManager(reactApplicationContext))
@@ -245,6 +247,15 @@ class RNMBXPackage : TurboReactPackage() {
245
247
  false, // isCxxModule
246
248
  isTurboModule // isTurboModule
247
249
  )
250
+ moduleInfos[RNMBXCameraModule.NAME] = ReactModuleInfo(
251
+ RNMBXCameraModule.NAME,
252
+ RNMBXCameraModule.NAME,
253
+ false, // canOverrideExistingModule
254
+ false, // needsEagerInit
255
+ false, // hasConstants
256
+ false, // isCxxModule
257
+ isTurboModule // isTurboModule
258
+ )
248
259
  moduleInfos[RNMBXShapeSourceModule.NAME] = ReactModuleInfo(
249
260
  RNMBXShapeSourceModule.NAME,
250
261
  RNMBXShapeSourceModule.NAME,
@@ -31,8 +31,6 @@ class CameraStop {
31
31
  private var mDuration = 2000
32
32
  private var mCallback: Animator.AnimatorListener? = null
33
33
 
34
- var ts: Int? = null
35
-
36
34
  fun setBearing(bearing: Double) {
37
35
  mBearing = bearing
38
36
  }
@@ -156,10 +154,6 @@ class CameraStop {
156
154
  ): CameraStop {
157
155
  val stop = CameraStop()
158
156
 
159
- if (readableMap.hasKey("__updateTS")) {
160
- stop.ts = readableMap.getInt("__updateTS")
161
- }
162
-
163
157
  if (readableMap.hasKey("pitch")) {
164
158
  stop.setTilt(readableMap.getDouble("pitch"))
165
159
  }
@@ -3,6 +3,7 @@ package com.rnmapbox.rnmbx.components.camera
3
3
  import android.animation.Animator
4
4
  import android.content.Context
5
5
  import android.location.Location
6
+ import com.facebook.react.bridge.Dynamic
6
7
  import com.facebook.react.bridge.ReadableMap
7
8
  import com.mapbox.maps.plugin.gestures.gestures
8
9
  import com.rnmapbox.rnmbx.location.LocationManager.Companion.getInstance
@@ -15,6 +16,7 @@ import com.mapbox.maps.plugin.locationcomponent.OnIndicatorBearingChangedListene
15
16
  import com.mapbox.maps.plugin.locationcomponent.OnIndicatorPositionChangedListener
16
17
  import com.facebook.react.bridge.WritableMap
17
18
  import com.facebook.react.bridge.WritableNativeMap
19
+ import com.facebook.react.uimanager.annotations.ReactProp
18
20
  import com.mapbox.maps.*
19
21
  import com.mapbox.maps.plugin.locationcomponent.location
20
22
  import com.mapbox.maps.plugin.viewport.ViewportStatus
@@ -113,15 +115,18 @@ class RNMBXCamera(private val mContext: Context, private val mManager: RNMBXCame
113
115
  }
114
116
  }
115
117
  fun setStop(stop: CameraStop) {
116
- if ((stop.ts != mCameraStop?.ts) || (mCameraStop == null)) {
117
- mCameraStop = stop
118
- stop.setCallback(mCameraCallback)
119
- if (mMapView != null) {
120
- stop.let { updateCamera(it) }
121
- }
118
+ mCameraStop = stop
119
+ stop.setCallback(mCameraCallback)
120
+ if (mMapView != null) {
121
+ stop.let { updateCamera(it) }
122
122
  }
123
123
  }
124
124
 
125
+ fun updateCameraStop(map: ReadableMap) {
126
+ val stop = CameraStop.fromReadableMap(mContext, map, null)
127
+ setStop(stop)
128
+ }
129
+
125
130
  fun setDefaultStop(stop: CameraStop?) {
126
131
  mDefaultStop = stop
127
132
  }
@@ -9,11 +9,12 @@ import com.mapbox.geojson.FeatureCollection
9
9
  import com.rnmapbox.rnmbx.components.AbstractEventEmitter
10
10
  import com.rnmapbox.rnmbx.components.camera.CameraStop.Companion.fromReadableMap
11
11
  import com.rnmapbox.rnmbx.utils.GeoJSONUtils.toLatLngBounds
12
+ import com.rnmapbox.rnmbx.utils.ViewTagResolver
12
13
  import com.rnmapbox.rnmbx.utils.extensions.asBooleanOrNull
13
14
  import com.rnmapbox.rnmbx.utils.extensions.asDoubleOrNull
14
15
  import com.rnmapbox.rnmbx.utils.extensions.asStringOrNull
15
16
 
16
- class RNMBXCameraManager(private val mContext: ReactApplicationContext) :
17
+ class RNMBXCameraManager(private val mContext: ReactApplicationContext, val viewTagResolver: ViewTagResolver) :
17
18
  AbstractEventEmitter<RNMBXCamera?>(
18
19
  mContext
19
20
  ), RNMBXCameraManagerInterface<RNMBXCamera> {
@@ -0,0 +1,51 @@
1
+ package com.rnmapbox.rnmbx.components.camera
2
+
3
+ import com.facebook.react.bridge.Callback
4
+ import com.facebook.react.bridge.Promise
5
+ import com.facebook.react.bridge.ReactApplicationContext
6
+ import com.facebook.react.bridge.ReadableArray
7
+ import com.facebook.react.bridge.ReadableMap
8
+ import com.facebook.react.bridge.WritableMap
9
+ import com.facebook.react.bridge.WritableNativeMap
10
+ import com.rnmapbox.rnmbx.NativeRNMBXCameraModuleSpec
11
+ import com.rnmapbox.rnmbx.components.mapview.CommandResponse
12
+ import com.rnmapbox.rnmbx.utils.ViewTagResolver
13
+
14
+
15
+ class RNMBXCameraModule(context: ReactApplicationContext, val viewTagResolver: ViewTagResolver) : NativeRNMBXCameraModuleSpec(context) {
16
+ private fun withViewportOnUIThread(
17
+ viewRef: Double?,
18
+ reject: Promise,
19
+ fn: (RNMBXCamera) -> Unit
20
+ ) {
21
+ if (viewRef == null) {
22
+ reject.reject(Exception("viewRef is null"))
23
+ } else {
24
+ viewTagResolver.withViewResolved(viewRef.toInt(), reject, fn)
25
+ }
26
+ }
27
+
28
+ private fun createCommandResponse(promise: Promise): CommandResponse = object : CommandResponse {
29
+ override fun success(builder: (WritableMap) -> Unit) {
30
+ val payload: WritableMap = WritableNativeMap()
31
+ builder(payload)
32
+
33
+ promise.resolve(payload)
34
+ }
35
+
36
+ override fun error(message: String) {
37
+ promise.reject(Exception(message))
38
+ }
39
+ }
40
+
41
+ companion object {
42
+ const val NAME = "RNMBXCameraModule"
43
+ }
44
+
45
+ override fun updateCameraStop(viewRef: Double?, stop: ReadableMap, promise: Promise) {
46
+ withViewportOnUIThread(viewRef, promise) {
47
+ it.updateCameraStop(stop)
48
+ promise.resolve(null)
49
+ }
50
+ }
51
+ }
@@ -12,8 +12,9 @@ import com.facebook.react.viewmanagers.RNMBXViewportManagerInterface
12
12
  import com.rnmapbox.rnmbx.components.AbstractEventEmitter
13
13
  import com.rnmapbox.rnmbx.events.constants.EventKeys
14
14
  import com.rnmapbox.rnmbx.events.constants.eventMapOf
15
+ import com.rnmapbox.rnmbx.utils.ViewTagResolver
15
16
 
16
- class RNMBXViewportManager(private val mContext: ReactApplicationContext) : AbstractEventEmitter<RNMBXViewport?>(
17
+ class RNMBXViewportManager(private val mContext: ReactApplicationContext, val viewTagResolver: ViewTagResolver) : AbstractEventEmitter<RNMBXViewport?>(
17
18
  mContext
18
19
  ), RNMBXViewportManagerInterface<RNMBXViewport> {
19
20
 
@@ -0,0 +1,41 @@
1
+
2
+ /**
3
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
4
+ *
5
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
6
+ * once the code is regenerated.
7
+ *
8
+ * @generated by codegen project: GenerateModuleJavaSpec.js
9
+ *
10
+ * @nolint
11
+ */
12
+
13
+ package com.rnmapbox.rnmbx;
14
+
15
+ import com.facebook.proguard.annotations.DoNotStrip;
16
+ import com.facebook.react.bridge.Promise;
17
+ import com.facebook.react.bridge.ReactApplicationContext;
18
+ import com.facebook.react.bridge.ReactContextBaseJavaModule;
19
+ import com.facebook.react.bridge.ReactMethod;
20
+ import com.facebook.react.bridge.ReactModuleWithSpec;
21
+ import com.facebook.react.bridge.ReadableMap;
22
+ import com.facebook.react.turbomodule.core.interfaces.TurboModule;
23
+ import javax.annotation.Nonnull;
24
+ import javax.annotation.Nullable;
25
+
26
+ public abstract class NativeRNMBXCameraModuleSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule {
27
+ public static final String NAME = "RNMBXCameraModule";
28
+
29
+ public NativeRNMBXCameraModuleSpec(ReactApplicationContext reactContext) {
30
+ super(reactContext);
31
+ }
32
+
33
+ @Override
34
+ public @Nonnull String getName() {
35
+ return NAME;
36
+ }
37
+
38
+ @ReactMethod
39
+ @DoNotStrip
40
+ public abstract void updateCameraStop(@Nullable Double viewRef, ReadableMap stops, Promise promise);
41
+ }
@@ -40,15 +40,16 @@ struct CameraUpdateItem {
40
40
  if let center = camera.center {
41
41
  try center.validate()
42
42
  }
43
+
43
44
  switch mode {
44
- case .flight:
45
+ case .flight:
45
46
  map.mapView.camera.fly(to: camera, duration: duration)
46
- case .ease:
47
+ case .ease:
47
48
  map.mapView.camera.ease(to: camera, duration: duration ?? 0, curve: .easeInOut, completion: nil)
48
- case .linear:
49
+ case .linear:
49
50
  map.mapView.camera.ease(to: camera, duration: duration ?? 0, curve: .linear, completion: nil)
50
- default:
51
- map.mapboxMap.setCamera(to: camera)
51
+ default:
52
+ map.mapboxMap.setCamera(to: camera)
52
53
  }
53
54
  }
54
55
  }
@@ -236,6 +237,10 @@ open class RNMBXCamera : RNMBXMapComponentBase {
236
237
  map.viewport.idle()
237
238
  }
238
239
 
240
+ @objc public func updateCameraStop(_ stop: [String: Any]) {
241
+ self.stop = stop
242
+ }
243
+
239
244
  func _toCoordinateBounds(_ bounds: FeatureCollection) throws -> CoordinateBounds {
240
245
  guard bounds.features.count == 2 else {
241
246
  throw RNMBXError.paramError("Expected two Points in FeatureColletion")
@@ -259,14 +264,12 @@ open class RNMBXCamera : RNMBXMapComponentBase {
259
264
  logged("RNMBXCamera._updateMaxBounds._toCoordinateBounds") {
260
265
  options.bounds = try self._toCoordinateBounds(maxBounds)
261
266
  }
267
+ } else {
268
+ options.bounds = nil
262
269
  }
263
- if let minZoomLevel = self.minZoomLevel {
264
- options.minZoom = minZoomLevel.CGFloat
265
- }
266
- if let maxZoomLevel = self.maxZoomLevel {
267
- options.maxZoom = maxZoomLevel.CGFloat
268
- }
269
-
270
+ options.minZoom = self.minZoomLevel?.CGFloat
271
+ options.maxZoom = self.maxZoomLevel?.CGFloat
272
+
270
273
  logged("RNMBXCamera._updateMaxBounds") {
271
274
  try map.mapboxMap.setCameraBounds(with: options)
272
275
  }
@@ -371,11 +374,12 @@ open class RNMBXCamera : RNMBXMapComponentBase {
371
374
  if (stop.isEmpty) {
372
375
  return nil
373
376
  }
377
+
374
378
  var zoom: CGFloat?
375
379
  if let z = stop["zoom"] as? Double {
376
380
  zoom = CGFloat(z)
377
381
  }
378
-
382
+
379
383
  var pitch: CGFloat?
380
384
  if let p = stop["pitch"] as? Double {
381
385
  pitch = CGFloat(p)
@@ -386,20 +390,22 @@ open class RNMBXCamera : RNMBXMapComponentBase {
386
390
  heading = CLLocationDirection(h)
387
391
  }
388
392
 
389
- let padding = UIEdgeInsets(
393
+ var padding: UIEdgeInsets = UIEdgeInsets(
390
394
  top: stop["paddingTop"] as? Double ?? 0,
391
395
  left: stop["paddingLeft"] as? Double ?? 0,
392
396
  bottom: stop["paddingBottom"] as? Double ?? 0,
393
397
  right: stop["paddingRight"] as? Double ?? 0
394
398
  )
395
-
396
- var center: LocationCoordinate2D?
397
- if let feature: String = stop["centerCoordinate"] as? String {
398
-
399
+
400
+ var camera: CameraOptions?
401
+
402
+ if let feature = stop["centerCoordinate"] as? String {
399
403
  let centerFeature : Turf.Feature? = logged("RNMBXCamera.toUpdateItem.decode.cc") { try
400
404
  JSONDecoder().decode(Turf.Feature.self, from: feature.data(using: .utf8)!)
401
405
  }
402
406
 
407
+ var center: LocationCoordinate2D?
408
+
403
409
  switch centerFeature?.geometry {
404
410
  case .point(let centerPoint):
405
411
  center = centerPoint.coordinates
@@ -407,7 +413,16 @@ open class RNMBXCamera : RNMBXMapComponentBase {
407
413
  Logger.log(level: .error, message: "RNMBXCamera.toUpdateItem: Unexpected geometry: \(String(describing: centerFeature?.geometry))")
408
414
  return nil
409
415
  }
410
- } else if let feature: String = stop["bounds"] as? String {
416
+
417
+ camera = CameraOptions(
418
+ center: center,
419
+ padding: padding,
420
+ anchor: nil,
421
+ zoom: zoom,
422
+ bearing: heading,
423
+ pitch: pitch
424
+ )
425
+ } else if let feature = stop["bounds"] as? String {
411
426
  let collection : Turf.FeatureCollection? = logged("RNMBXCamera.toUpdateItem.decode.bound") { try
412
427
  JSONDecoder().decode(Turf.FeatureCollection.self, from: feature.data(using: .utf8)!) }
413
428
  let features = collection?.features
@@ -436,55 +451,35 @@ open class RNMBXCamera : RNMBXMapComponentBase {
436
451
  #else
437
452
  let bounds = CoordinateBounds(southwest: sw, northeast: ne)
438
453
  #endif
439
- let camera = map.mapboxMap.camera(
454
+
455
+ camera = map.mapboxMap.camera(
440
456
  for: bounds,
441
457
  padding: padding,
442
- bearing: heading ?? map.cameraState.bearing,
443
- pitch: pitch ?? map.cameraState.pitch
458
+ bearing: heading ?? map.mapboxMap.cameraState.bearing,
459
+ pitch: pitch ?? map.mapboxMap.cameraState.pitch
444
460
  )
445
-
446
- if let _center = camera.center, let _zoom = camera.zoom {
447
- center = _center
448
- zoom = _zoom
449
- }
450
461
  }
451
462
  }
452
463
 
453
- let duration: TimeInterval? = {
454
- if let d = stop["duration"] as? Double {
455
- return toSeconds(d)
456
- }
464
+ guard let camera = camera else {
457
465
  return nil
458
- }()
459
-
460
- let mode: CameraMode = {
461
- if let m = stop["mode"] as? String, let m = CameraMode(rawValue: m) {
462
- return m
463
- }
464
- return .flight
465
- }()
466
-
467
- if let z1 = minZoomLevel, let z2 = CGFloat(exactly: z1), zoom ?? 100 < z2 {
468
- zoom = z2
469
466
  }
470
467
 
471
- if let z1 = maxZoomLevel, let z2 = CGFloat(exactly: z1), zoom ?? 0 > z2 {
472
- zoom = z2
468
+ var duration: TimeInterval?
469
+ if let d = stop["duration"] as? Double {
470
+ duration = toSeconds(d)
471
+ }
472
+
473
+ var mode: CameraMode = .flight
474
+ if let m = stop["mode"] as? String, let m = CameraMode(rawValue: m) {
475
+ mode = m
473
476
  }
474
477
 
475
- let result = CameraUpdateItem(
476
- camera: CameraOptions(
477
- center: center,
478
- padding: padding,
479
- anchor: nil,
480
- zoom: zoom,
481
- bearing: heading,
482
- pitch: pitch
483
- ),
478
+ return CameraUpdateItem(
479
+ camera: camera,
484
480
  mode: mode,
485
481
  duration: duration
486
482
  )
487
- return result
488
483
  }
489
484
 
490
485
  func _updateCamera() {
@@ -0,0 +1,18 @@
1
+ #import <Foundation/Foundation.h>
2
+ #import <UIKit/UIKit.h>
3
+
4
+ #ifdef RCT_NEW_ARCH_ENABLED
5
+ #import "rnmapbox_maps_specs.h"
6
+ #else
7
+ #import <React/RCTBridge.h>
8
+ #endif
9
+
10
+ @interface RNMBXCameraModule : NSObject
11
+ #ifdef RCT_NEW_ARCH_ENABLED
12
+ <NativeRNMBXCameraModuleSpec>
13
+ #else
14
+ <RCTBridgeModule>
15
+ #endif
16
+
17
+ @end
18
+
@@ -0,0 +1,67 @@
1
+ #import <React/RCTBridge.h>
2
+ #import <React/RCTUIManager.h>
3
+ #import <React/RCTUIManagerUtils.h>
4
+
5
+ #import "RNMBXCameraModule.h"
6
+ #ifdef RCT_NEW_ARCH_ENABLED
7
+ #import "RNMBXCameraComponentView.h"
8
+ #endif // RCT_NEW_ARCH_ENABLED
9
+
10
+ #import "rnmapbox_maps-Swift.pre.h"
11
+
12
+ @implementation RNMBXCameraModule
13
+
14
+ RCT_EXPORT_MODULE();
15
+
16
+ #ifdef RCT_NEW_ARCH_ENABLED
17
+ @synthesize viewRegistry_DEPRECATED = _viewRegistry_DEPRECATED;
18
+ #endif // RCT_NEW_ARCH_ENABLED
19
+ @synthesize bridge = _bridge;
20
+
21
+ - (dispatch_queue_t)methodQueue
22
+ {
23
+ // It seems that due to how UIBlocks work with uiManager, we need to call the methods there
24
+ // for the blocks to be dispatched before the batch is completed
25
+ return RCTGetUIManagerQueue();
26
+ }
27
+
28
+ // Thanks to this guard, we won't compile this code when we build for the old architecture.
29
+ #ifdef RCT_NEW_ARCH_ENABLED
30
+ - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
31
+ (const facebook::react::ObjCTurboModule::InitParams &)params
32
+ {
33
+ return std::make_shared<facebook::react::NativeRNMBXCameraModuleSpecJSI>(params);
34
+ }
35
+ #endif // RCT_NEW_ARCH_ENABLED
36
+
37
+ - (void)withCamera:(nonnull NSNumber*)viewRef block:(void (^)(RNMBXCamera *))block reject:(RCTPromiseRejectBlock)reject methodName:(NSString *)methodName
38
+ {
39
+ #ifdef RCT_NEW_ARCH_ENABLED
40
+ [self.viewRegistry_DEPRECATED addUIBlock:^(RCTViewRegistry *viewRegistry) {
41
+ RNMBXCameraComponentView *componentView = [self.viewRegistry_DEPRECATED viewForReactTag:viewRef];
42
+ RNMBXCamera *view = componentView.contentView;
43
+
44
+ #else
45
+ [self.bridge.uiManager
46
+ addUIBlock:^(RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
47
+ RNMBXCamera *view = [uiManager viewForReactTag:viewRef];
48
+ #endif // RCT_NEW_ARCH_ENABLED
49
+ if (view != nil) {
50
+ block(view);
51
+ } else {
52
+ reject(methodName, [NSString stringWithFormat:@"Unknown reactTag: %@", viewRef], nil);
53
+ }
54
+ }];
55
+ }
56
+
57
+ RCT_EXPORT_METHOD(updateCameraStop:(nonnull NSNumber *)viewRef
58
+ stop: (NSDictionary*)stop
59
+ resolve:(RCTPromiseResolveBlock)resolve
60
+ reject:(RCTPromiseRejectBlock)reject)
61
+ {
62
+ [self withCamera:viewRef block:^(RNMBXCamera *view) {
63
+ [view updateCameraStop: stop];
64
+ } reject:reject methodName:@"someMethod"];
65
+ }
66
+
67
+ @end
@@ -8,6 +8,8 @@ var _react = _interopRequireWildcard(require("react"));
8
8
  var _reactNative = require("react-native");
9
9
  var _geoUtils = require("../utils/geoUtils");
10
10
  var _RNMBXCameraNativeComponent = _interopRequireDefault(require("../specs/RNMBXCameraNativeComponent"));
11
+ var _NativeRNMBXCameraModule = _interopRequireDefault(require("../specs/NativeRNMBXCameraModule"));
12
+ var _NativeCommands = require("../utils/NativeCommands");
11
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
14
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
13
15
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -84,6 +86,13 @@ const Camera = exports.Camera = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0,
84
86
  onUserTrackingModeChange
85
87
  } = props;
86
88
  const nativeCamera = (0, _react.useRef)(null);
89
+ const commands = (0, _react.useMemo)(() => new _NativeCommands.NativeCommands(_NativeRNMBXCameraModule.default), []);
90
+ (0, _react.useEffect)(() => {
91
+ if (nativeCamera.current) {
92
+ commands.setNativeRef(nativeCamera.current);
93
+ }
94
+ // eslint-disable-next-line react-hooks/exhaustive-deps
95
+ }, [commands, nativeCamera.current]);
87
96
  const buildNativeStop = (0, _react.useCallback)((stop, ignoreFollowUserLocation = false) => {
88
97
  stop = {
89
98
  ...stop,
@@ -167,7 +176,6 @@ const Camera = exports.Camera = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0,
167
176
  if (!allowUpdates) {
168
177
  return;
169
178
  }
170
- lastTS += 1;
171
179
  if (!config.type)
172
180
  // @ts-expect-error The compiler doesn't understand that the `config` union type is guaranteed
173
181
  // to be an object type.
@@ -184,26 +192,18 @@ const Camera = exports.Camera = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0,
184
192
  if (_nativeStop) {
185
193
  _nativeStops = [..._nativeStops, _nativeStop];
186
194
  }
187
- nativeCamera.current?.setNativeProps({
188
- stop: {
189
- stops: _nativeStops,
190
- __updateTS: lastTS
191
- }
192
- });
195
+ commands.call('updateCameraStop', [{
196
+ stops: _nativeStops
197
+ }]);
193
198
  }
194
199
  } else if (config.type === 'CameraStop') {
195
200
  const _nativeStop = buildNativeStop(config);
196
201
  if (_nativeStop) {
197
- nativeCamera.current?.setNativeProps({
198
- stop: {
199
- __updateTS: lastTS,
200
- ..._nativeStop
201
- }
202
- });
202
+ commands.call('updateCameraStop', [_nativeStop]);
203
203
  }
204
204
  }
205
205
  };
206
- const setCamera = (0, _react.useCallback)(_setCamera, [allowUpdates, buildNativeStop]);
206
+ const setCamera = (0, _react.useCallback)(_setCamera, [allowUpdates, buildNativeStop, commands]);
207
207
  const _fitBounds = (ne, sw, paddingConfig = 0, _animationDuration = 0) => {
208
208
  let _padding = {
209
209
  paddingTop: 0,
@@ -357,6 +357,5 @@ const Camera = exports.Camera = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0,
357
357
  onUserTrackingModeChange: _onUserTrackingModeChange
358
358
  });
359
359
  }));
360
- let lastTS = 0;
361
360
  const RNMBXCamera = _RNMBXCameraNativeComponent.default;
362
361
  //# sourceMappingURL=Camera.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_geoUtils","_RNMBXCameraNativeComponent","_interopRequireDefault","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","NativeModule","NativeModules","RNMBXModule","UserTrackingMode","exports","nativeAnimationMode","mode","NativeCameraModes","CameraModes","Flight","Ease","Linear","Move","None","Camera","memo","forwardRef","props","ref","centerCoordinate","bounds","heading","pitch","zoomLevel","padding","animationDuration","animationMode","minZoomLevel","maxZoomLevel","maxBounds","followUserLocation","followUserMode","followZoomLevel","followPitch","followHeading","followPadding","defaultSettings","allowUpdates","onUserTrackingModeChange","nativeCamera","useRef","buildNativeStop","useCallback","stop","ignoreFollowUserLocation","type","_nativeStop","undefined","zoom","duration","JSON","stringify","makePoint","ne","sw","makeLatLngBounds","paddingTop","paddingRight","paddingBottom","paddingLeft","_onUserTrackingModeChange","event","nativeEvent","payload","payloadRenamed","nativeDefaultStop","useMemo","nativeStop","nativeMaxBounds","_setCamera","config","lastTS","stops","_stop","_nativeStops","current","setNativeProps","__updateTS","setCamera","_fitBounds","paddingConfig","_animationDuration","_padding","length","fitBounds","_flyTo","_centerCoordinate","flyTo","_moveTo","moveTo","_zoomTo","_zoomLevel","zoomTo","useImperativeHandle","createElement","RNMBXCamera","testID","defaultStop","NativeCameraView"],"sourceRoot":"../../../src","sources":["components/Camera.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAQA,IAAAC,YAAA,GAAAD,OAAA;AAIA,IAAAE,SAAA,GAAAF,OAAA;AAEA,IAAAG,2BAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAAmE,SAAAI,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAV,wBAAAU,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAH,UAAA,SAAAG,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAF,OAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAJ,CAAA,UAAAG,CAAA,CAAAE,GAAA,CAAAL,CAAA,OAAAM,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAZ,CAAA,oBAAAY,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAY,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAX,CAAA,EAAAY,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAZ,CAAA,CAAAY,CAAA,YAAAN,CAAA,CAAAR,OAAA,GAAAE,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAc,GAAA,CAAAjB,CAAA,EAAAM,CAAA,GAAAA,CAAA;AAEnE,MAAMY,YAAY,GAAGC,0BAAa,CAACC,WAAW;AAAC,IAEnCC,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,0BAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAA,OAAhBA,gBAAgB;AAAA;AAgB5B;AACA;AACA;AACA,MAAME,mBAAmB,GACvBC,IAA0B,IACF;EACxB,MAAMC,iBAAiB,GAAGP,YAAY,CAACQ,WAAW;EAElD,QAAQF,IAAI;IACV,KAAK,OAAO;MACV,OAAOC,iBAAiB,CAACE,MAAM;IACjC,KAAK,QAAQ;MACX,OAAOF,iBAAiB,CAACG,IAAI;IAC/B,KAAK,UAAU;MACb,OAAOH,iBAAiB,CAACI,MAAM;IACjC,KAAK,QAAQ;MACX,OAAOJ,iBAAiB,CAACK,IAAI;IAC/B,KAAK,MAAM;MACT,OAAOL,iBAAiB,CAACM,IAAI;IAC/B;MACE,OAAON,iBAAiB,CAACG,IAAI;EACjC;AACF,CAAC;;AAED;;AAiJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMI,MAAM,GAAAV,OAAA,CAAAU,MAAA,gBAAG,IAAAC,WAAI,gBACxB,IAAAC,iBAAU,EACR,CAACC,KAAkB,EAAEC,GAAkC,KAAK;EAC1D,MAAM;IACJC,gBAAgB;IAChBC,MAAM;IACNC,OAAO;IACPC,KAAK;IACLC,SAAS;IACTC,OAAO;IACPC,iBAAiB;IACjBC,aAAa;IACbC,YAAY;IACZC,YAAY;IACZC,SAAS;IACTC,kBAAkB;IAClBC,cAAc;IACdC,eAAe;IACfC,WAAW;IACXC,aAAa;IACbC,aAAa;IACbC,eAAe;IACfC,YAAY,GAAG,IAAI;IACnBC;EACF,CAAC,GAAGrB,KAAK;EAET,MAAMsB,YAAY,GAAG,IAAAC,aAAM,EACzB,IACF,CAAqC;EAErC,MAAMC,eAAe,GAAG,IAAAC,kBAAW,EACjC,CACEC,IAAgB,EAChBC,wBAAwB,GAAG,KAAK,KACJ;IAC5BD,IAAI,GAAG;MACL,GAAGA,IAAI;MACPE,IAAI,EAAE;IACR,CAAC;IAED,IAAI5B,KAAK,CAACa,kBAAkB,IAAI,CAACc,wBAAwB,EAAE;MACzD,OAAO,IAAI;IACb;IAEA,MAAME,WAA6B,GAAG,CAAC,CAAC;IAExC,IAAIH,IAAI,CAACrB,KAAK,KAAKyB,SAAS,EAAED,WAAW,CAACxB,KAAK,GAAGqB,IAAI,CAACrB,KAAK;IAC5D,IAAIqB,IAAI,CAACtB,OAAO,KAAK0B,SAAS,EAAED,WAAW,CAACzB,OAAO,GAAGsB,IAAI,CAACtB,OAAO;IAClE,IAAIsB,IAAI,CAACpB,SAAS,KAAKwB,SAAS,EAAED,WAAW,CAACE,IAAI,GAAGL,IAAI,CAACpB,SAAS;IACnE,IAAIoB,IAAI,CAACjB,aAAa,KAAKqB,SAAS,EAClCD,WAAW,CAACxC,IAAI,GAAGD,mBAAmB,CAACsC,IAAI,CAACjB,aAAa,CAAC;IAC5D,IAAIiB,IAAI,CAAClB,iBAAiB,KAAKsB,SAAS,EACtCD,WAAW,CAACG,QAAQ,GAAGN,IAAI,CAAClB,iBAAiB;IAE/C,IAAIkB,IAAI,CAACxB,gBAAgB,EAAE;MACzB2B,WAAW,CAAC3B,gBAAgB,GAAG+B,IAAI,CAACC,SAAS,CAC3C,IAAAC,mBAAS,EAACT,IAAI,CAACxB,gBAAgB,CACjC,CAAC;IACH;IAEA,IAAIwB,IAAI,CAACvB,MAAM,IAAIuB,IAAI,CAACvB,MAAM,CAACiC,EAAE,IAAIV,IAAI,CAACvB,MAAM,CAACkC,EAAE,EAAE;MACnD,MAAM;QAAED,EAAE;QAAEC;MAAG,CAAC,GAAGX,IAAI,CAACvB,MAAM;MAC9B0B,WAAW,CAAC1B,MAAM,GAAG8B,IAAI,CAACC,SAAS,CAAC,IAAAI,0BAAgB,EAACF,EAAE,EAAEC,EAAE,CAAC,CAAC;IAC/D;IAEA,MAAME,UAAU,GACdb,IAAI,CAACnB,OAAO,EAAEgC,UAAU,IAAIb,IAAI,CAACvB,MAAM,EAAEoC,UAAU;IACrD,IAAIA,UAAU,KAAKT,SAAS,EAAE;MAC5BD,WAAW,CAACU,UAAU,GAAGA,UAAU;IACrC;IAEA,MAAMC,YAAY,GAChBd,IAAI,CAACnB,OAAO,EAAEiC,YAAY,IAAId,IAAI,CAACvB,MAAM,EAAEqC,YAAY;IACzD,IAAIA,YAAY,KAAKV,SAAS,EAAE;MAC9BD,WAAW,CAACW,YAAY,GAAGA,YAAY;IACzC;IAEA,MAAMC,aAAa,GACjBf,IAAI,CAACnB,OAAO,EAAEkC,aAAa,IAAIf,IAAI,CAACvB,MAAM,EAAEsC,aAAa;IAC3D,IAAIA,aAAa,IAAIX,SAAS,EAAE;MAC9BD,WAAW,CAACY,aAAa,GAAGA,aAAa;IAC3C;IAEA,MAAMC,WAAW,GACfhB,IAAI,CAACnB,OAAO,EAAEmC,WAAW,IAAIhB,IAAI,CAACvB,MAAM,EAAEuC,WAAW;IACvD,IAAIA,WAAW,KAAKZ,SAAS,EAAE;MAC7BD,WAAW,CAACa,WAAW,GAAGA,WAAW;IACvC;IAEA,OAAOb,WAAW;EACpB,CAAC,EACD,CAAC7B,KAAK,CAACa,kBAAkB,CAC3B,CAAC;;EAED;EACA;EACA,MAAM8B,yBAAyB,GAAG,IAAAlB,kBAAW,EAEzCmB,KAMC,IACE;IACH,IAAIvB,wBAAwB,EAAE;MAC5B,IAAI,CAACuB,KAAK,CAACC,WAAW,CAACC,OAAO,EAAE;QAC9B;QACAF,KAAK,CAACC,WAAW,CAACC,OAAO,GAAGF,KAAK,CAACC,WAAW,CAACE,cAAc;MAC9D;MACA1B,wBAAwB,CAACuB,KAAK,CAAC;IACjC;EACF,CAAC,EACD,CAACvB,wBAAwB,CAC3B,CAAC;EAED,MAAM2B,iBAAiB,GAAG,IAAAC,cAAO,EAAC,MAA+B;IAC/D,IAAI,CAAC9B,eAAe,EAAE;MACpB,OAAO,IAAI;IACb;IACA,OAAOK,eAAe,CAACL,eAAe,CAAC;EACzC,CAAC,EAAE,CAACA,eAAe,EAAEK,eAAe,CAAC,CAAC;EAEtC,MAAM0B,UAAU,GAAG,IAAAD,cAAO,EAAC,MAAM;IAC/B,OAAOzB,eAAe,CAAC;MACrBI,IAAI,EAAE,YAAY;MAClB1B,gBAAgB;MAChBC,MAAM;MACNC,OAAO;MACPC,KAAK;MACLC,SAAS;MACTC,OAAO;MACPC,iBAAiB;MACjBC;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,CACDP,gBAAgB,EAChBC,MAAM,EACNC,OAAO,EACPC,KAAK,EACLC,SAAS,EACTC,OAAO,EACPC,iBAAiB,EACjBC,aAAa,EACbe,eAAe,CAChB,CAAC;EAEF,MAAM2B,eAAe,GAAG,IAAAF,cAAO,EAAC,MAAM;IACpC,IAAI,CAACrC,SAAS,EAAEwB,EAAE,IAAI,CAACxB,SAAS,EAAEyB,EAAE,EAAE;MACpC,OAAO,IAAI;IACb;IACA,OAAOJ,IAAI,CAACC,SAAS,CAAC,IAAAI,0BAAgB,EAAC1B,SAAS,CAACwB,EAAE,EAAExB,SAAS,CAACyB,EAAE,CAAC,CAAC;EACrE,CAAC,EAAE,CAACzB,SAAS,CAAC,CAAC;EAEf,MAAMwC,UAAkC,GAAIC,MAAM,IAAK;IACrD,IAAI,CAACjC,YAAY,EAAE;MACjB;IACF;IAEAkC,MAAM,IAAI,CAAC;IAEX,IAAI,CAACD,MAAM,CAACzB,IAAI;MACd;MACA;MACAyB,MAAM,GAAG;QACP,GAAGA,MAAM;QACT;QACA;QACAzB,IAAI,EAAEyB,MAAM,CAACE,KAAK,GAAG,aAAa,GAAG;MACvC,CAAC;IAEH,IAAIF,MAAM,CAACzB,IAAI,KAAK,aAAa,EAAE;MACjC,KAAK,MAAM4B,KAAK,IAAIH,MAAM,CAACE,KAAK,EAAE;QAChC,IAAIE,YAAgC,GAAG,EAAE;QACzC,MAAM5B,WAAW,GAAGL,eAAe,CAACgC,KAAK,CAAC;QAC1C,IAAI3B,WAAW,EAAE;UACf4B,YAAY,GAAG,CAAC,GAAGA,YAAY,EAAE5B,WAAW,CAAC;QAC/C;QACAP,YAAY,CAACoC,OAAO,EAAEC,cAAc,CAAC;UACnCjC,IAAI,EAAE;YAAE6B,KAAK,EAAEE,YAAY;YAAEG,UAAU,EAAEN;UAAO;QAClD,CAAC,CAAC;MACJ;IACF,CAAC,MAAM,IAAID,MAAM,CAACzB,IAAI,KAAK,YAAY,EAAE;MACvC,MAAMC,WAAW,GAAGL,eAAe,CAAC6B,MAAM,CAAC;MAC3C,IAAIxB,WAAW,EAAE;QACfP,YAAY,CAACoC,OAAO,EAAEC,cAAc,CAAC;UACnCjC,IAAI,EAAE;YAAEkC,UAAU,EAAEN,MAAM;YAAE,GAAGzB;UAAY;QAC7C,CAAC,CAAC;MACJ;IACF;EACF,CAAC;EACD,MAAMgC,SAAS,GAAG,IAAApC,kBAAW,EAAC2B,UAAU,EAAE,CACxChC,YAAY,EACZI,eAAe,CAChB,CAAC;EAEF,MAAMsC,UAAkC,GAAGA,CACzC1B,EAAE,EACFC,EAAE,EACF0B,aAAa,GAAG,CAAC,EACjBC,kBAAkB,GAAG,CAAC,KACnB;IACH,IAAIC,QAAQ,GAAG;MACb1B,UAAU,EAAE,CAAC;MACbE,aAAa,EAAE,CAAC;MAChBC,WAAW,EAAE,CAAC;MACdF,YAAY,EAAE;IAChB,CAAC;IAED,IAAI,OAAOuB,aAAa,KAAK,QAAQ,EAAE;MACrC,IAAIA,aAAa,CAACG,MAAM,KAAK,CAAC,EAAE;QAC9BD,QAAQ,GAAG;UACT1B,UAAU,EAAEwB,aAAa,CAAC,CAAC,CAAC;UAC5BtB,aAAa,EAAEsB,aAAa,CAAC,CAAC,CAAC;UAC/BrB,WAAW,EAAEqB,aAAa,CAAC,CAAC,CAAC;UAC7BvB,YAAY,EAAEuB,aAAa,CAAC,CAAC;QAC/B,CAAC;MACH,CAAC,MAAM,IAAIA,aAAa,CAACG,MAAM,KAAK,CAAC,EAAE;QACrCD,QAAQ,GAAG;UACT1B,UAAU,EAAEwB,aAAa,CAAC,CAAC,CAAC;UAC5BtB,aAAa,EAAEsB,aAAa,CAAC,CAAC,CAAC;UAC/BrB,WAAW,EAAEqB,aAAa,CAAC,CAAC,CAAC;UAC7BvB,YAAY,EAAEuB,aAAa,CAAC,CAAC;QAC/B,CAAC;MACH;IACF,CAAC,MAAM,IAAI,OAAOA,aAAa,KAAK,QAAQ,EAAE;MAC5CE,QAAQ,GAAG;QACT1B,UAAU,EAAEwB,aAAa;QACzBtB,aAAa,EAAEsB,aAAa;QAC5BrB,WAAW,EAAEqB,aAAa;QAC1BvB,YAAY,EAAEuB;MAChB,CAAC;IACH;IAEAF,SAAS,CAAC;MACRjC,IAAI,EAAE,YAAY;MAClBzB,MAAM,EAAE;QACNiC,EAAE;QACFC;MACF,CAAC;MACD9B,OAAO,EAAE0D,QAAQ;MACjBzD,iBAAiB,EAAEwD,kBAAkB;MACrCvD,aAAa,EAAE;IACjB,CAAC,CAAC;EACJ,CAAC;EACD,MAAM0D,SAAS,GAAG,IAAA1C,kBAAW,EAACqC,UAAU,EAAE,CAACD,SAAS,CAAC,CAAC;EAEtD,MAAMO,MAA0B,GAAGA,CACjCC,iBAAiB,EACjBL,kBAAkB,GAAG,IAAI,KACtB;IACHH,SAAS,CAAC;MACRjC,IAAI,EAAE,YAAY;MAClB1B,gBAAgB,EAAEmE,iBAAiB;MACnC7D,iBAAiB,EAAEwD;IACrB,CAAC,CAAC;EACJ,CAAC;EACD,MAAMM,KAAK,GAAG,IAAA7C,kBAAW,EAAC2C,MAAM,EAAE,CAACP,SAAS,CAAC,CAAC;EAE9C,MAAMU,OAA4B,GAAGA,CACnCF,iBAAiB,EACjBL,kBAAkB,GAAG,CAAC,KACnB;IACHH,SAAS,CAAC;MACRjC,IAAI,EAAE,YAAY;MAClB1B,gBAAgB,EAAEmE,iBAAiB;MACnC7D,iBAAiB,EAAEwD,kBAAkB;MACrCvD,aAAa,EAAE;IACjB,CAAC,CAAC;EACJ,CAAC;EACD,MAAM+D,MAAM,GAAG,IAAA/C,kBAAW,EAAC8C,OAAO,EAAE,CAACV,SAAS,CAAC,CAAC;EAEhD,MAAMY,OAA4B,GAAGA,CACnCC,UAAU,EACVV,kBAAkB,GAAG,IAAI,KACtB;IACHH,SAAS,CAAC;MACRjC,IAAI,EAAE,YAAY;MAClBtB,SAAS,EAAEoE,UAAU;MACrBlE,iBAAiB,EAAEwD,kBAAkB;MACrCvD,aAAa,EAAE;IACjB,CAAC,CAAC;EACJ,CAAC;EACD,MAAMkE,MAAM,GAAG,IAAAlD,kBAAW,EAACgD,OAAO,EAAE,CAACZ,SAAS,CAAC,CAAC;EAEhD,IAAAe,0BAAmB,EAAC3E,GAAG,EAAE,OAAO;IAC9B;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACQ4D,SAAS;IACT;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACQM,SAAS;IACT;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACQG,KAAK;IACL;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACQE,MAAM;IACN;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACQG;EACF,CAAC,CAAC,CAAC;EAEH,oBACEzH,MAAA,CAAAS,OAAA,CAAAkH,aAAA,CAACC,WAAW;IACVC,MAAM,EAAE;IACR;IAAA;IACA9E,GAAG,EAAEqB,YAAa;IAClBI,IAAI,EAAEwB,UAAW;IACjB1C,iBAAiB,EAAEA,iBAAkB;IACrCC,aAAa,EAAEA,aAAc;IAC7BuE,WAAW,EAAEhC,iBAAkB;IAC/BnC,kBAAkB,EAAEA,kBAAmB;IACvCC,cAAc,EAAEA,cAAe;IAC/BC,eAAe,EAAEA,eAAgB;IACjCC,WAAW,EAAEA,WAAY;IACzBC,aAAa,EAAEA,aAAc;IAC7BC,aAAa,EAAEA,aAAc;IAC7BR,YAAY,EAAEA,YAAa;IAC3BC,YAAY,EAAEA,YAAa;IAC3BC,SAAS,EAAEuC;IACX;IAAA;IACA9B,wBAAwB,EAAEsB;EAA0B,CACrD,CAAC;AAEN,CACF,CACF,CAAC;AAED,IAAIW,MAAM,GAAG,CAAC;AAEd,MAAMwB,WAAW,GAAGG,mCAAgB"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_geoUtils","_RNMBXCameraNativeComponent","_interopRequireDefault","_NativeRNMBXCameraModule","_NativeCommands","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","NativeModule","NativeModules","RNMBXModule","UserTrackingMode","exports","nativeAnimationMode","mode","NativeCameraModes","CameraModes","Flight","Ease","Linear","Move","None","Camera","memo","forwardRef","props","ref","centerCoordinate","bounds","heading","pitch","zoomLevel","padding","animationDuration","animationMode","minZoomLevel","maxZoomLevel","maxBounds","followUserLocation","followUserMode","followZoomLevel","followPitch","followHeading","followPadding","defaultSettings","allowUpdates","onUserTrackingModeChange","nativeCamera","useRef","commands","useMemo","NativeCommands","RNMBXCameraModule","useEffect","current","setNativeRef","buildNativeStop","useCallback","stop","ignoreFollowUserLocation","type","_nativeStop","undefined","zoom","duration","JSON","stringify","makePoint","ne","sw","makeLatLngBounds","paddingTop","paddingRight","paddingBottom","paddingLeft","_onUserTrackingModeChange","event","nativeEvent","payload","payloadRenamed","nativeDefaultStop","nativeStop","nativeMaxBounds","_setCamera","config","stops","_stop","_nativeStops","setCamera","_fitBounds","paddingConfig","_animationDuration","_padding","length","fitBounds","_flyTo","_centerCoordinate","flyTo","_moveTo","moveTo","_zoomTo","_zoomLevel","zoomTo","useImperativeHandle","createElement","RNMBXCamera","testID","defaultStop","NativeCameraView"],"sourceRoot":"../../../src","sources":["components/Camera.tsx"],"mappings":"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"}