@maplibre/maplibre-react-native 11.0.0-alpha.13 → 11.0.0-alpha.15

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 (95) hide show
  1. package/MapLibreReactNative.podspec +1 -1
  2. package/android/src/main/java/org/maplibre/reactnative/MLRNPackage.kt +5 -5
  3. package/android/src/main/java/org/maplibre/reactnative/components/camera/MLRNCamera.kt +27 -39
  4. package/android/src/main/java/org/maplibre/reactnative/events/constants/EventKeys.java +0 -4
  5. package/android/src/main/java/org/maplibre/reactnative/events/constants/EventTypes.java +0 -1
  6. package/android/src/main/java/org/maplibre/reactnative/location/LocationManager.kt +165 -0
  7. package/android/src/main/java/org/maplibre/reactnative/location/TrackUserLocationMode.kt +0 -1
  8. package/android/src/main/java/org/maplibre/reactnative/location/TrackUserLocationState.kt +15 -0
  9. package/android/src/main/java/org/maplibre/reactnative/location/UserLocation.kt +40 -0
  10. package/android/src/main/java/org/maplibre/reactnative/location/engine/DefaultLocationEngineProvider.kt +18 -0
  11. package/android/src/main/java/org/maplibre/reactnative/location/engine/LocationEngineProvidable.kt +8 -0
  12. package/android/src/main/java/org/maplibre/reactnative/modules/MLRNLocationModule.kt +153 -0
  13. package/android/src/main/java/org/maplibre/reactnative/modules/MLRNModule.java +0 -5
  14. package/android/src/main/location-engine-default/org/maplibre/reactnative/location/engine/LocationEngineProvider.kt +10 -0
  15. package/android/src/main/location-engine-google/org/maplibre/reactnative/location/engine/GoogleLocationEngineImpl.kt +131 -0
  16. package/android/src/main/location-engine-google/org/maplibre/reactnative/location/engine/GoogleLocationEngineProvider.kt +28 -0
  17. package/android/src/main/location-engine-google/org/maplibre/reactnative/location/engine/LocationEngineProvider.kt +10 -0
  18. package/ios/modules/location/MLRNLocation.h +0 -1
  19. package/ios/modules/location/MLRNLocation.m +3 -3
  20. package/ios/modules/location/MLRNLocationManager.h +1 -3
  21. package/ios/modules/location/MLRNLocationManager.m +1 -4
  22. package/ios/modules/location/MLRNLocationManagerDelegate.h +0 -2
  23. package/ios/modules/location/MLRNLocationModule.h +4 -4
  24. package/ios/modules/location/MLRNLocationModule.mm +56 -0
  25. package/ios/modules/mlrn/MLRNModule.m +0 -5
  26. package/ios/utils/MLRNEventTypes.h +0 -2
  27. package/ios/utils/MLRNEventTypes.m +0 -2
  28. package/lib/commonjs/components/user-location/UserLocation.js +3 -3
  29. package/lib/commonjs/components/user-location/UserLocation.js.map +1 -1
  30. package/lib/commonjs/index.js +2 -2
  31. package/lib/commonjs/index.js.map +1 -1
  32. package/lib/commonjs/modules/location/LocationManager.js +46 -57
  33. package/lib/commonjs/modules/location/LocationManager.js.map +1 -1
  34. package/lib/commonjs/modules/location/NativeLocationModule.js +9 -0
  35. package/lib/commonjs/modules/location/NativeLocationModule.js.map +1 -0
  36. package/lib/commonjs/modules/location/requestAndroidLocationPermissions.js +14 -0
  37. package/lib/commonjs/modules/location/requestAndroidLocationPermissions.js.map +1 -0
  38. package/lib/module/components/user-location/UserLocation.js +3 -3
  39. package/lib/module/components/user-location/UserLocation.js.map +1 -1
  40. package/lib/module/index.js +1 -1
  41. package/lib/module/index.js.map +1 -1
  42. package/lib/module/modules/location/LocationManager.js +45 -57
  43. package/lib/module/modules/location/LocationManager.js.map +1 -1
  44. package/lib/module/modules/location/NativeLocationModule.js +5 -0
  45. package/lib/module/modules/location/NativeLocationModule.js.map +1 -0
  46. package/lib/module/modules/location/requestAndroidLocationPermissions.js +11 -0
  47. package/lib/module/modules/location/requestAndroidLocationPermissions.js.map +1 -0
  48. package/lib/typescript/commonjs/src/components/user-location/UserLocation.d.ts +3 -3
  49. package/lib/typescript/commonjs/src/components/user-location/UserLocation.d.ts.map +1 -1
  50. package/lib/typescript/commonjs/src/index.d.ts +2 -2
  51. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  52. package/lib/typescript/commonjs/src/modules/location/LocationManager.d.ts +42 -22
  53. package/lib/typescript/commonjs/src/modules/location/LocationManager.d.ts.map +1 -1
  54. package/lib/typescript/commonjs/src/modules/location/NativeLocationModule.d.ts +24 -0
  55. package/lib/typescript/commonjs/src/modules/location/NativeLocationModule.d.ts.map +1 -0
  56. package/lib/typescript/commonjs/src/modules/location/requestAndroidLocationPermissions.d.ts +5 -0
  57. package/lib/typescript/commonjs/src/modules/location/requestAndroidLocationPermissions.d.ts.map +1 -0
  58. package/lib/typescript/module/src/components/user-location/UserLocation.d.ts +3 -3
  59. package/lib/typescript/module/src/components/user-location/UserLocation.d.ts.map +1 -1
  60. package/lib/typescript/module/src/index.d.ts +2 -2
  61. package/lib/typescript/module/src/index.d.ts.map +1 -1
  62. package/lib/typescript/module/src/modules/location/LocationManager.d.ts +42 -22
  63. package/lib/typescript/module/src/modules/location/LocationManager.d.ts.map +1 -1
  64. package/lib/typescript/module/src/modules/location/NativeLocationModule.d.ts +24 -0
  65. package/lib/typescript/module/src/modules/location/NativeLocationModule.d.ts.map +1 -0
  66. package/lib/typescript/module/src/modules/location/requestAndroidLocationPermissions.d.ts +5 -0
  67. package/lib/typescript/module/src/modules/location/requestAndroidLocationPermissions.d.ts.map +1 -0
  68. package/package.json +5 -3
  69. package/src/components/user-location/UserLocation.tsx +9 -7
  70. package/src/index.ts +3 -2
  71. package/src/modules/location/LocationManager.ts +90 -97
  72. package/src/modules/location/NativeLocationModule.ts +31 -0
  73. package/src/modules/location/requestAndroidLocationPermissions.ts +8 -0
  74. package/android/src/main/java/org/maplibre/reactnative/events/LocationEvent.java +0 -100
  75. package/android/src/main/java/org/maplibre/reactnative/events/TrackUserLocationChangeEvent.kt +0 -24
  76. package/android/src/main/java/org/maplibre/reactnative/location/LocationManager.java +0 -160
  77. package/android/src/main/java/org/maplibre/reactnative/location/TrackUserLocationState.java +0 -15
  78. package/android/src/main/java/org/maplibre/reactnative/location/UserLocation.java +0 -59
  79. package/android/src/main/java/org/maplibre/reactnative/location/engine/DefaultLocationEngineProvider.java +0 -18
  80. package/android/src/main/java/org/maplibre/reactnative/location/engine/LocationEngineProvidable.java +0 -9
  81. package/android/src/main/java/org/maplibre/reactnative/modules/MLRNLocationModule.java +0 -158
  82. package/android/src/main/location-engine-default/org/maplibre/reactnative/location/engine/LocationEngineProvider.java +0 -12
  83. package/android/src/main/location-engine-google/org/maplibre/reactnative/location/engine/GoogleLocationEngineImpl.java +0 -151
  84. package/android/src/main/location-engine-google/org/maplibre/reactnative/location/engine/GoogleLocationEngineProvider.java +0 -24
  85. package/android/src/main/location-engine-google/org/maplibre/reactnative/location/engine/LocationEngineProvider.java +0 -12
  86. package/ios/modules/location/MLRNLocationModule.m +0 -76
  87. package/lib/commonjs/requestAndroidLocationPermissions.js +0 -25
  88. package/lib/commonjs/requestAndroidLocationPermissions.js.map +0 -1
  89. package/lib/module/requestAndroidLocationPermissions.js +0 -21
  90. package/lib/module/requestAndroidLocationPermissions.js.map +0 -1
  91. package/lib/typescript/commonjs/src/requestAndroidLocationPermissions.d.ts +0 -2
  92. package/lib/typescript/commonjs/src/requestAndroidLocationPermissions.d.ts.map +0 -1
  93. package/lib/typescript/module/src/requestAndroidLocationPermissions.d.ts +0 -2
  94. package/lib/typescript/module/src/requestAndroidLocationPermissions.d.ts.map +0 -1
  95. package/src/requestAndroidLocationPermissions.ts +0 -29
@@ -0,0 +1,131 @@
1
+ package org.maplibre.reactnative.location.engine
2
+
3
+ import android.annotation.SuppressLint
4
+ import android.app.PendingIntent
5
+ import android.content.Context
6
+ import android.location.Location
7
+ import android.os.Looper
8
+ import androidx.annotation.VisibleForTesting
9
+ import com.google.android.gms.location.FusedLocationProviderClient
10
+ import com.google.android.gms.location.LocationCallback
11
+ import com.google.android.gms.location.LocationRequest
12
+ import com.google.android.gms.location.LocationResult
13
+ import com.google.android.gms.location.LocationServices
14
+ import com.google.android.gms.location.Priority
15
+ import com.google.android.gms.tasks.OnFailureListener
16
+ import com.google.android.gms.tasks.OnSuccessListener
17
+ import org.maplibre.android.location.engine.LocationEngineCallback
18
+ import org.maplibre.android.location.engine.LocationEngineImpl
19
+ import org.maplibre.android.location.engine.LocationEngineRequest
20
+ import org.maplibre.android.location.engine.LocationEngineResult
21
+
22
+ /**
23
+ * Wraps implementation of Fused Location Provider
24
+ */
25
+ class GoogleLocationEngineImpl : LocationEngineImpl<LocationCallback?> {
26
+ private val fusedLocationProviderClient: FusedLocationProviderClient
27
+
28
+ @VisibleForTesting
29
+ internal constructor(fusedLocationProviderClient: FusedLocationProviderClient) {
30
+ this.fusedLocationProviderClient = fusedLocationProviderClient
31
+ }
32
+
33
+ constructor(context: Context) {
34
+ this.fusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(context)
35
+ }
36
+
37
+ override fun createListener(callback: LocationEngineCallback<LocationEngineResult?>): LocationCallback {
38
+ return GoogleLocationEngineCallbackTransport(callback)
39
+ }
40
+
41
+ @SuppressLint("MissingPermission")
42
+ @Throws(SecurityException::class)
43
+ override fun getLastLocation(callback: LocationEngineCallback<LocationEngineResult?>) {
44
+ val transport = GoogleLastLocationEngineCallbackTransport(callback)
45
+ fusedLocationProviderClient.lastLocation.addOnSuccessListener(transport)
46
+ .addOnFailureListener(transport)
47
+ }
48
+
49
+ @SuppressLint("MissingPermission")
50
+ @Throws(SecurityException::class)
51
+ override fun requestLocationUpdates(
52
+ request: LocationEngineRequest, listener: LocationCallback, looper: Looper?
53
+ ) {
54
+ fusedLocationProviderClient.requestLocationUpdates(
55
+ toGMSLocationRequest(request), listener, looper
56
+ )
57
+ }
58
+
59
+ @SuppressLint("MissingPermission")
60
+ @Throws(SecurityException::class)
61
+ override fun requestLocationUpdates(
62
+ request: LocationEngineRequest, pendingIntent: PendingIntent
63
+ ) {
64
+ fusedLocationProviderClient.requestLocationUpdates(
65
+ toGMSLocationRequest(request), pendingIntent
66
+ )
67
+ }
68
+
69
+ override fun removeLocationUpdates(listener: LocationCallback?) {
70
+ if (listener != null) {
71
+ fusedLocationProviderClient.removeLocationUpdates(listener)
72
+ }
73
+ }
74
+
75
+ override fun removeLocationUpdates(pendingIntent: PendingIntent?) {
76
+ if (pendingIntent != null) {
77
+ fusedLocationProviderClient.removeLocationUpdates(pendingIntent)
78
+ }
79
+ }
80
+
81
+ private class GoogleLocationEngineCallbackTransport(private val callback: LocationEngineCallback<LocationEngineResult?>) :
82
+ LocationCallback() {
83
+ override fun onLocationResult(locationResult: LocationResult) {
84
+ super.onLocationResult(locationResult)
85
+ val locations = locationResult.locations
86
+ if (!locations.isEmpty()) {
87
+ callback.onSuccess(LocationEngineResult.create(locations))
88
+ } else {
89
+ callback.onFailure(Exception("Unavailable location"))
90
+ }
91
+ }
92
+ }
93
+
94
+ @VisibleForTesting
95
+ internal class GoogleLastLocationEngineCallbackTransport
96
+ (private val callback: LocationEngineCallback<LocationEngineResult?>) :
97
+ OnSuccessListener<Location?>, OnFailureListener {
98
+ override fun onSuccess(location: Location?) {
99
+ callback.onSuccess(
100
+ if (location != null) LocationEngineResult.create(location) else LocationEngineResult.create(
101
+ mutableListOf<Location?>()
102
+ )
103
+ )
104
+ }
105
+
106
+ override fun onFailure(e: Exception) {
107
+ callback.onFailure(e)
108
+ }
109
+ }
110
+
111
+ companion object {
112
+ private fun toGMSLocationRequest(request: LocationEngineRequest): LocationRequest {
113
+ val builder = LocationRequest.Builder(request.interval)
114
+ builder.setMinUpdateIntervalMillis(request.fastestInterval)
115
+ builder.setMinUpdateDistanceMeters(request.displacement)
116
+ builder.setMaxUpdateDelayMillis(request.maxWaitTime)
117
+ builder.setPriority(toGMSLocationPriority(request.priority))
118
+ return builder.build()
119
+ }
120
+
121
+ private fun toGMSLocationPriority(enginePriority: Int): Int {
122
+ return when (enginePriority) {
123
+ LocationEngineRequest.PRIORITY_HIGH_ACCURACY -> Priority.PRIORITY_HIGH_ACCURACY
124
+ LocationEngineRequest.PRIORITY_BALANCED_POWER_ACCURACY -> Priority.PRIORITY_BALANCED_POWER_ACCURACY
125
+ LocationEngineRequest.PRIORITY_LOW_POWER -> Priority.PRIORITY_LOW_POWER
126
+ LocationEngineRequest.PRIORITY_NO_POWER -> Priority.PRIORITY_PASSIVE
127
+ else -> Priority.PRIORITY_PASSIVE
128
+ }
129
+ }
130
+ }
131
+ }
@@ -0,0 +1,28 @@
1
+ package org.maplibre.reactnative.location.engine
2
+
3
+ import android.content.Context
4
+ import android.util.Log
5
+ import com.google.android.gms.common.ConnectionResult
6
+ import com.google.android.gms.common.GoogleApiAvailability
7
+ import com.google.android.gms.location.LocationCallback
8
+ import org.maplibre.android.location.engine.LocationEngine
9
+ import org.maplibre.android.location.engine.LocationEngineProxy
10
+
11
+ class GoogleLocationEngineProvider : LocationEngineProvidable {
12
+ override fun getLocationEngine(context: Context): LocationEngine {
13
+ if (GoogleApiAvailability.getInstance()
14
+ .isGooglePlayServicesAvailable(context) == ConnectionResult.SUCCESS
15
+ ) {
16
+ val locationEngine: LocationEngine =
17
+ LocationEngineProxy<LocationCallback?>(GoogleLocationEngineImpl(context.applicationContext))
18
+ Log.d(LOG_TAG, "GoogleLocationEngine will be used.")
19
+ return locationEngine
20
+ } else {
21
+ return DefaultLocationEngineProvider().getLocationEngine(context)
22
+ }
23
+ }
24
+
25
+ companion object {
26
+ private const val LOG_TAG = "GoogleLocationEngineProvider"
27
+ }
28
+ }
@@ -0,0 +1,10 @@
1
+ package org.maplibre.reactnative.location.engine
2
+
3
+ import android.content.Context
4
+ import org.maplibre.android.location.engine.LocationEngine
5
+
6
+ class LocationEngineProvider : LocationEngineProvidable {
7
+ override fun getLocationEngine(context: Context): LocationEngine {
8
+ return GoogleLocationEngineProvider().getLocationEngine(context)
9
+ }
10
+ }
@@ -1,5 +1,4 @@
1
1
  #import <CoreLocation/CoreLocation.h>
2
- #import <Foundation/Foundation.h>
3
2
 
4
3
  @interface MLRNLocation : NSObject
5
4
 
@@ -8,10 +8,10 @@
8
8
  NSMutableDictionary<NSString *, NSNumber *> *coords = [[NSMutableDictionary alloc] init];
9
9
  coords[@"longitude"] = @(_location.coordinate.longitude);
10
10
  coords[@"latitude"] = @(_location.coordinate.latitude);
11
- coords[@"altitude"] = @(_location.altitude);
12
11
  coords[@"accuracy"] = @(_location.horizontalAccuracy);
13
- coords[@"heading"] = @(_heading.trueHeading);
14
- coords[@"course"] = @(_location.course);
12
+ coords[@"altitude"] = @(_location.altitude);
13
+ coords[@"altitudeAccuracy"] = @(_location.verticalAccuracy);
14
+ coords[@"heading"] = @(_location.course);
15
15
  coords[@"speed"] = @(_location.speed);
16
16
 
17
17
  json[@"coords"] = coords;
@@ -1,5 +1,3 @@
1
- #import <Foundation/Foundation.h>
2
-
3
1
  #import "MLRNLocation.h"
4
2
  #import "MLRNLocationManagerDelegate.h"
5
3
 
@@ -11,7 +9,7 @@ typedef void (^MLRNLocationBlock)(MLRNLocation *location);
11
9
 
12
10
  + (id)sharedInstance;
13
11
 
14
- - (void)start:(CLLocationDistance)minDisplacement;
12
+ - (void)start;
15
13
  - (void)stop;
16
14
  - (void)setMinDisplacement:(CLLocationDistance)minDisplacement;
17
15
  - (BOOL)isEnabled;
@@ -36,9 +36,7 @@
36
36
  [self stop];
37
37
  }
38
38
 
39
- - (void)start:(CLLocationDistance)minDisplacement {
40
- displacement = minDisplacement;
41
-
39
+ - (void)start {
42
40
  if ([self isEnabled]) {
43
41
  return;
44
42
  }
@@ -47,7 +45,6 @@
47
45
  [self->locationManager requestWhenInUseAuthorization];
48
46
  [self->locationManager startUpdatingLocation];
49
47
  [self->locationManager startUpdatingHeading];
50
- [self->locationManager setDistanceFilter:(minDisplacement)];
51
48
  self->isListening = YES;
52
49
  });
53
50
  }
@@ -1,5 +1,3 @@
1
- #import <CoreLocation/CoreLocation.h>
2
-
3
1
  #import "MLRNLocation.h"
4
2
 
5
3
  @class MLRNLocationManager;
@@ -1,7 +1,7 @@
1
- #import <Foundation/Foundation.h>
2
- #import <React/RCTBridgeModule.h>
3
- #import <React/RCTEventEmitter.h>
1
+ #import <MapLibreReactNativeSpec/MapLibreReactNativeSpec.h>
4
2
 
5
- @interface MLRNLocationModule : RCTEventEmitter <RCTBridgeModule>
3
+ #import "MLRNLocationManagerDelegate.h"
6
4
 
5
+ @interface MLRNLocationModule
6
+ : NativeLocationModuleSpecBase <NativeLocationModuleSpec, MLRNLocationManagerDelegate>
7
7
  @end
@@ -0,0 +1,56 @@
1
+ #import "MLRNLocationModule.h"
2
+ #import "MLRNEventTypes.h"
3
+ #import "MLRNLocation.h"
4
+ #import "MLRNLocationManager.h"
5
+ #import "MLRNLocationManagerDelegate.h"
6
+
7
+ @implementation MLRNLocationModule {
8
+ MLRNLocationManager *locationManager;
9
+ }
10
+
11
+ + (NSString *)moduleName {
12
+ return @"MLRNLocationModule";
13
+ }
14
+
15
+ - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
16
+ (const facebook::react::ObjCTurboModule::InitParams &)params {
17
+ return std::make_shared<facebook::react::NativeLocationModuleSpecJSI>(params);
18
+ }
19
+
20
+ - (instancetype)init {
21
+ if (self = [super init]) {
22
+ locationManager = [[MLRNLocationManager alloc] init];
23
+ locationManager.delegate = self;
24
+ }
25
+
26
+ return self;
27
+ }
28
+
29
+ - (void)start {
30
+ [locationManager start];
31
+ }
32
+
33
+ - (void)pause {
34
+ [locationManager stop];
35
+ }
36
+
37
+ - (void)stop {
38
+ [locationManager stop];
39
+ }
40
+
41
+ - (void)setMinDisplacement:(CLLocationDistance)minDisplacement {
42
+ [locationManager setMinDisplacement:minDisplacement];
43
+ }
44
+
45
+ - (void)getCurrentPosition:(nonnull RCTPromiseResolveBlock)resolve
46
+ reject:(nonnull RCTPromiseRejectBlock)reject {
47
+ MLRNLocation *lastKnownLocation = [locationManager getLastKnownLocation];
48
+ resolve(lastKnownLocation);
49
+ }
50
+
51
+ - (void)locationManager:(MLRNLocationManager *)locationManager
52
+ didUpdateLocation:(MLRNLocation *)location {
53
+ [self emitOnUpdate:[location toJSON]];
54
+ }
55
+
56
+ @end
@@ -23,10 +23,6 @@ RCT_EXPORT_MODULE();
23
23
  [eventTypes setObject:RCT_MLRN_PRESS forKey:@"Press"];
24
24
  [eventTypes setObject:RCT_MLRN_LONG_PRESS forKey:@"LongPress"];
25
25
 
26
- // location module events
27
- NSMutableDictionary *locationModuleEvents = [[NSMutableDictionary alloc] init];
28
- [locationModuleEvents setObject:RCT_MLRN_USER_LOCATION_UPDATE forKey:@"Update"];
29
-
30
26
  // style sources
31
27
  NSMutableDictionary *styleSourceConsts = [[NSMutableDictionary alloc] init];
32
28
  [styleSourceConsts setObject:DEFAULT_SOURCE_ID forKey:@"DefaultSourceID"];
@@ -47,7 +43,6 @@ RCT_EXPORT_MODULE();
47
43
  @"StyleSource" : styleSourceConsts,
48
44
  @"OfflineCallbackName" : offlineModuleCallbackNames,
49
45
  @"OfflinePackDownloadState" : offlinePackDownloadState,
50
- @"LocationCallbackName" : locationModuleEvents
51
46
  };
52
47
  }
53
48
 
@@ -14,8 +14,6 @@ extern NSString *const RCT_MLRN_OFFLINE_TILE_LIMIT;
14
14
  extern NSString *const RCT_MLRN_SHAPE_SOURCE_LAYER_PRESS;
15
15
  extern NSString *const RCT_MLRN_VECTOR_SOURCE_LAYER_PRESS;
16
16
 
17
- extern NSString *const RCT_MLRN_USER_LOCATION_UPDATE;
18
-
19
17
  extern NSString *const RCT_MLRN_MISSING_IMAGE;
20
18
 
21
19
  @end
@@ -16,6 +16,4 @@ NSString *const RCT_MLRN_VECTOR_SOURCE_LAYER_PRESS = @"VectorSourceLayerPress";
16
16
 
17
17
  NSString *const RCT_MLRN_MISSING_IMAGE = @"MissingImage";
18
18
 
19
- NSString *const RCT_MLRN_USER_LOCATION_UPDATE = @"UserLocationUpdate";
20
-
21
19
  @end
@@ -62,7 +62,7 @@ const UserLocation = exports.UserLocation = /*#__PURE__*/(0, _react.memo)(/*#__P
62
62
  if (renderMode === UserLocationRenderMode.Native) {
63
63
  return;
64
64
  }
65
- _LocationManager.LocationManager.setMinDisplacement(minDisplacement ?? 0);
65
+ _LocationManager.LocationManager.setMinDisplacement(minDisplacement);
66
66
  });
67
67
  return () => {
68
68
  _isMounted.current = false;
@@ -73,7 +73,7 @@ const UserLocation = exports.UserLocation = /*#__PURE__*/(0, _react.memo)(/*#__P
73
73
  // eslint-disable-next-line react-hooks/exhaustive-deps
74
74
  }, []);
75
75
  (0, _react.useEffect)(() => {
76
- _LocationManager.LocationManager.setMinDisplacement(minDisplacement ?? 0);
76
+ _LocationManager.LocationManager.setMinDisplacement(minDisplacement);
77
77
  }, [minDisplacement]);
78
78
  (0, _react.useEffect)(() => {
79
79
  if (!_isMounted.current) {
@@ -90,7 +90,7 @@ const UserLocation = exports.UserLocation = /*#__PURE__*/(0, _react.memo)(/*#__P
90
90
  locationManagerRunning.current = running;
91
91
  if (running) {
92
92
  _LocationManager.LocationManager.addListener(_onLocationUpdate);
93
- const location = await _LocationManager.LocationManager.getLastKnownLocation();
93
+ const location = await _LocationManager.LocationManager.getCurrentPosition();
94
94
  _onLocationUpdate(location);
95
95
  } else {
96
96
  _LocationManager.LocationManager.removeListener(_onLocationUpdate);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_NativeUserLocation","_UserLocationPuck","_LocationManager","_Annotation","_jsxRuntime","USER_LOCATION_SOURCE_ID","UserLocationRenderMode","exports","UserLocation","memo","forwardRef","animated","visible","showsUserHeadingIndicator","minDisplacement","renderMode","androidRenderMode","androidPreferredFramesPerSecond","children","onUpdate","onPress","ref","_isMounted","useRef","locationManagerRunning","userLocationState","setUserLocationState","useState","shouldShowUserLocation","useImperativeHandle","setLocationManager","needsLocationManagerRunning","_onLocationUpdate","useEffect","current","running","then","Native","LocationManager","setMinDisplacement","addListener","location","getLastKnownLocation","removeListener","Normal","coordinates","heading","coords","longitude","latitude","props","iosShowsUserHeadingIndicator","jsx","NativeUserLocation","Annotation","id","style","iconRotate","UserLocationPuck","sourceID","undefined"],"sourceRoot":"../../../../src","sources":["components/user-location/UserLocation.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_NativeUserLocation","_UserLocationPuck","_LocationManager","_Annotation","_jsxRuntime","USER_LOCATION_SOURCE_ID","UserLocationRenderMode","exports","UserLocation","memo","forwardRef","animated","visible","showsUserHeadingIndicator","minDisplacement","renderMode","androidRenderMode","androidPreferredFramesPerSecond","children","onUpdate","onPress","ref","_isMounted","useRef","locationManagerRunning","userLocationState","setUserLocationState","useState","shouldShowUserLocation","useImperativeHandle","setLocationManager","needsLocationManagerRunning","_onLocationUpdate","useEffect","current","running","then","Native","LocationManager","setMinDisplacement","addListener","location","getCurrentPosition","removeListener","Normal","coordinates","heading","coords","longitude","latitude","props","iosShowsUserHeadingIndicator","jsx","NativeUserLocation","Annotation","id","style","iconRotate","UserLocationPuck","sourceID","undefined"],"sourceRoot":"../../../../src","sources":["components/user-location/UserLocation.tsx"],"mappings":"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","ignoreList":[]}
@@ -9,7 +9,6 @@ var _exportNames = {
9
9
  PointAnnotation: true,
10
10
  Annotation: true,
11
11
  Callout: true,
12
- requestAndroidLocationPermissions: true,
13
12
  UserLocation: true,
14
13
  UserLocationRenderMode: true,
15
14
  VectorSource: true,
@@ -27,6 +26,7 @@ var _exportNames = {
27
26
  BackgroundLayer: true,
28
27
  MarkerView: true,
29
28
  LocationManager: true,
29
+ requestAndroidLocationPermissions: true,
30
30
  OfflineManager: true,
31
31
  OfflinePack: true,
32
32
  OfflineCreatePackOptions: true,
@@ -225,7 +225,6 @@ var _MapView = require("./components/map-view/MapView.js");
225
225
  var _PointAnnotation = require("./components/annotations/PointAnnotation.js");
226
226
  var _Annotation = require("./components/annotations/Annotation.js");
227
227
  var _Callout = require("./components/annotations/Callout.js");
228
- var _requestAndroidLocationPermissions = require("./requestAndroidLocationPermissions.js");
229
228
  var _UserLocation = require("./components/user-location/UserLocation.js");
230
229
  var _VectorSource = require("./components/sources/VectorSource.js");
231
230
  var _ShapeSource = require("./components/sources/ShapeSource.js");
@@ -242,6 +241,7 @@ var _RasterLayer = require("./components/layers/RasterLayer.js");
242
241
  var _BackgroundLayer = require("./components/layers/BackgroundLayer.js");
243
242
  var _MarkerView = require("./components/annotations/MarkerView.js");
244
243
  var _LocationManager = require("./modules/location/LocationManager.js");
244
+ var _requestAndroidLocationPermissions = require("./modules/location/requestAndroidLocationPermissions.js");
245
245
  var _OfflineManager = require("./modules/offline/OfflineManager.js");
246
246
  var _OfflinePack = require("./modules/offline/OfflinePack.js");
247
247
  var _OfflineCreatePackOptions = require("./modules/offline/OfflineCreatePackOptions.js");
@@ -1 +1 @@
1
- {"version":3,"names":["_MLRNModule","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_Camera","_MapView","_PointAnnotation","_Annotation","_Callout","_requestAndroidLocationPermissions","_UserLocation","_VectorSource","_ShapeSource","_RasterSource","_ImageSource","_Images","_FillLayer","_FillExtrusionLayer","_HeatmapLayer","_LineLayer","_CircleLayer","_SymbolLayer","_RasterLayer","_BackgroundLayer","_MarkerView","_LocationManager","_OfflineManager","_OfflinePack","_OfflineCreatePackOptions","_SnapshotManager","_Animated","_Logger"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,WAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAL,WAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAb,WAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AAEA,IAAAS,OAAA,GAAAb,OAAA;AAiBA,IAAAc,QAAA,GAAAd,OAAA;AAOA,IAAAe,gBAAA,GAAAf,OAAA;AAEA,IAAAgB,WAAA,GAAAhB,OAAA;AACA,IAAAiB,QAAA,GAAAjB,OAAA;AACA,IAAAkB,kCAAA,GAAAlB,OAAA;AACA,IAAAmB,aAAA,GAAAnB,OAAA;AAKA,IAAAoB,aAAA,GAAApB,OAAA;AACA,IAAAqB,YAAA,GAAArB,OAAA;AAEA,IAAAsB,aAAA,GAAAtB,OAAA;AACA,IAAAuB,YAAA,GAAAvB,OAAA;AACA,IAAAwB,OAAA,GAAAxB,OAAA;AACA,IAAAyB,UAAA,GAAAzB,OAAA;AACA,IAAA0B,mBAAA,GAAA1B,OAAA;AACA,IAAA2B,aAAA,GAAA3B,OAAA;AACA,IAAA4B,UAAA,GAAA5B,OAAA;AACA,IAAA6B,YAAA,GAAA7B,OAAA;AACA,IAAA8B,YAAA,GAAA9B,OAAA;AACA,IAAA+B,YAAA,GAAA/B,OAAA;AACA,IAAAgC,gBAAA,GAAAhC,OAAA;AACA,IAAAiC,WAAA,GAAAjC,OAAA;AAEA,IAAAkC,gBAAA,GAAAlC,OAAA;AAIA,IAAAmC,eAAA,GAAAnC,OAAA;AAGA,IAAAoC,YAAA,GAAApC,OAAA;AACA,IAAAqC,yBAAA,GAAArC,OAAA;AACA,IAAAsC,gBAAA,GAAAtC,OAAA;AAoBA,IAAAuC,SAAA,GAAAvC,OAAA;AACA,IAAAwC,OAAA,GAAAxC,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["_MLRNModule","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_Camera","_MapView","_PointAnnotation","_Annotation","_Callout","_UserLocation","_VectorSource","_ShapeSource","_RasterSource","_ImageSource","_Images","_FillLayer","_FillExtrusionLayer","_HeatmapLayer","_LineLayer","_CircleLayer","_SymbolLayer","_RasterLayer","_BackgroundLayer","_MarkerView","_LocationManager","_requestAndroidLocationPermissions","_OfflineManager","_OfflinePack","_OfflineCreatePackOptions","_SnapshotManager","_Animated","_Logger"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,WAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAL,WAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAb,WAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AAEA,IAAAS,OAAA,GAAAb,OAAA;AAiBA,IAAAc,QAAA,GAAAd,OAAA;AAOA,IAAAe,gBAAA,GAAAf,OAAA;AAEA,IAAAgB,WAAA,GAAAhB,OAAA;AACA,IAAAiB,QAAA,GAAAjB,OAAA;AACA,IAAAkB,aAAA,GAAAlB,OAAA;AAKA,IAAAmB,aAAA,GAAAnB,OAAA;AACA,IAAAoB,YAAA,GAAApB,OAAA;AAEA,IAAAqB,aAAA,GAAArB,OAAA;AACA,IAAAsB,YAAA,GAAAtB,OAAA;AACA,IAAAuB,OAAA,GAAAvB,OAAA;AACA,IAAAwB,UAAA,GAAAxB,OAAA;AACA,IAAAyB,mBAAA,GAAAzB,OAAA;AACA,IAAA0B,aAAA,GAAA1B,OAAA;AACA,IAAA2B,UAAA,GAAA3B,OAAA;AACA,IAAA4B,YAAA,GAAA5B,OAAA;AACA,IAAA6B,YAAA,GAAA7B,OAAA;AACA,IAAA8B,YAAA,GAAA9B,OAAA;AACA,IAAA+B,gBAAA,GAAA/B,OAAA;AACA,IAAAgC,WAAA,GAAAhC,OAAA;AAEA,IAAAiC,gBAAA,GAAAjC,OAAA;AAIA,IAAAkC,kCAAA,GAAAlC,OAAA;AAEA,IAAAmC,eAAA,GAAAnC,OAAA;AAGA,IAAAoC,YAAA,GAAApC,OAAA;AACA,IAAAqC,yBAAA,GAAArC,OAAA;AACA,IAAAsC,gBAAA,GAAAtC,OAAA;AAoBA,IAAAuC,SAAA,GAAAvC,OAAA;AACA,IAAAwC,OAAA,GAAAxC,OAAA","ignoreList":[]}
@@ -3,88 +3,77 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.LocationModuleEventEmitter = exports.LocationManager = void 0;
6
+ exports.LocationManager = void 0;
7
7
  var _reactNative = require("react-native");
8
- const MLRNModule = _reactNative.NativeModules.MLRNModule;
9
- const MLRNLocationModule = _reactNative.NativeModules.MLRNLocationModule;
10
- const LocationModuleEventEmitter = exports.LocationModuleEventEmitter = new _reactNative.NativeEventEmitter(MLRNLocationModule);
11
-
12
- /*
13
- * Location sent by LocationManager
14
- */
15
-
16
- /*
17
- * Coordinates sent by LocationManager
18
- */
19
-
8
+ var _NativeLocationModule = _interopRequireDefault(require("./NativeLocationModule.js"));
9
+ var _index = require("../../utils/index.js");
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
20
11
  class LocationManager {
12
+ listeners = [];
13
+ currentPosition = undefined;
14
+ isListening = false;
15
+ subscription = undefined;
21
16
  constructor() {
22
- this._listeners = [];
23
- this._lastKnownLocation = null;
24
- this._isListening = false;
25
- this.onUpdate = this.onUpdate.bind(this);
26
- this.subscription = null;
17
+ this.handleUpdate = this.handleUpdate.bind(this);
27
18
  }
28
- async getLastKnownLocation() {
29
- if (!this._lastKnownLocation) {
30
- let lastKnownLocation;
31
-
32
- // as location can be brittle it might happen,
33
- // that we get an exception from native land
34
- // let's silently catch it and simply log out
35
- // instead of throwing an exception
36
- try {
37
- lastKnownLocation = await MLRNLocationModule.getLastKnownLocation();
38
- } catch (error) {
39
- console.log("LocationManager Error: ", error);
40
- }
41
- if (!this._lastKnownLocation && lastKnownLocation) {
42
- this._lastKnownLocation = lastKnownLocation;
43
- }
19
+ async getCurrentPosition() {
20
+ let currentPosition;
21
+ try {
22
+ currentPosition = await _NativeLocationModule.default.getCurrentPosition();
23
+ } catch (error) {
24
+ console.log("LocationManager [error]: ", error);
44
25
  }
45
- return this._lastKnownLocation;
26
+ this.currentPosition = currentPosition;
27
+ return this.currentPosition;
46
28
  }
47
- addListener(listener) {
48
- if (!this._isListening) {
29
+ addListener(newListener) {
30
+ if (!this.isListening) {
49
31
  this.start();
50
32
  }
51
- if (!this._listeners.includes(listener)) {
52
- this._listeners.push(listener);
53
- if (this._lastKnownLocation) {
54
- listener(this._lastKnownLocation);
33
+ if (!this.listeners.includes(newListener)) {
34
+ this.listeners.push(newListener);
35
+ if (this.currentPosition) {
36
+ newListener(this.currentPosition);
55
37
  }
56
38
  }
57
39
  }
58
- removeListener(listener) {
59
- this._listeners = this._listeners.filter(l => l !== listener);
60
- if (this._listeners.length === 0) {
40
+ removeListener(oldListener) {
41
+ this.listeners = this.listeners.filter(listener => listener !== oldListener);
42
+ if (this.listeners.length === 0) {
61
43
  this.stop();
62
44
  }
63
45
  }
64
46
  removeAllListeners() {
65
- this._listeners = [];
47
+ this.listeners = [];
66
48
  this.stop();
67
49
  }
68
- start(displacement = 0) {
69
- if (!this._isListening) {
70
- MLRNLocationModule.start(displacement);
71
- this.subscription = LocationModuleEventEmitter.addListener(MLRNModule.LocationCallbackName.Update, this.onUpdate);
72
- this._isListening = true;
50
+ start() {
51
+ if (!this.isListening) {
52
+ _NativeLocationModule.default.start();
53
+ this.subscription = _NativeLocationModule.default.onUpdate(this.handleUpdate);
54
+ this.isListening = true;
73
55
  }
74
56
  }
75
57
  stop() {
76
- MLRNLocationModule.stop();
77
- if (this._isListening) {
58
+ _NativeLocationModule.default.stop();
59
+ if (this.isListening) {
78
60
  this.subscription?.remove();
79
61
  }
80
- this._isListening = false;
62
+ this.isListening = false;
81
63
  }
82
64
  setMinDisplacement(minDisplacement) {
83
- MLRNLocationModule.setMinDisplacement(minDisplacement);
65
+ _NativeLocationModule.default.setMinDisplacement(minDisplacement);
84
66
  }
85
- onUpdate(location) {
86
- this._lastKnownLocation = location;
87
- this._listeners.forEach(l => l(location));
67
+ handleUpdate(location) {
68
+ this.currentPosition = location;
69
+ this.listeners.forEach(listener => listener(location));
70
+ }
71
+ async requestAndroidPermissions() {
72
+ if ((0, _index.isAndroid)()) {
73
+ const res = await _reactNative.PermissionsAndroid.requestMultiple([_reactNative.PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION, _reactNative.PermissionsAndroid.PERMISSIONS.ACCESS_COARSE_LOCATION]);
74
+ return Object.values(res).every(permission => permission === _reactNative.PermissionsAndroid.RESULTS.GRANTED);
75
+ }
76
+ throw new Error("This method should only be called on Android");
88
77
  }
89
78
  }
90
79
  const locationManager = exports.LocationManager = new LocationManager();
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","MLRNModule","NativeModules","MLRNLocationModule","LocationModuleEventEmitter","exports","NativeEventEmitter","LocationManager","constructor","_listeners","_lastKnownLocation","_isListening","onUpdate","bind","subscription","getLastKnownLocation","lastKnownLocation","error","console","log","addListener","listener","start","includes","push","removeListener","filter","l","length","stop","removeAllListeners","displacement","LocationCallbackName","Update","remove","setMinDisplacement","minDisplacement","location","forEach","locationManager"],"sourceRoot":"../../../../src","sources":["modules/location/LocationManager.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_NativeLocationModule","_interopRequireDefault","_index","e","__esModule","default","LocationManager","listeners","currentPosition","undefined","isListening","subscription","constructor","handleUpdate","bind","getCurrentPosition","NativeLocationModule","error","console","log","addListener","newListener","start","includes","push","removeListener","oldListener","filter","listener","length","stop","removeAllListeners","onUpdate","remove","setMinDisplacement","minDisplacement","location","forEach","requestAndroidPermissions","isAndroid","res","PermissionsAndroid","requestMultiple","PERMISSIONS","ACCESS_FINE_LOCATION","ACCESS_COARSE_LOCATION","Object","values","every","permission","RESULTS","GRANTED","Error","locationManager","exports"],"sourceRoot":"../../../../src","sources":["modules/location/LocationManager.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _reactNative = require("react-native");
8
+ var _default = exports.default = _reactNative.TurboModuleRegistry.getEnforcing("MLRNLocationModule");
9
+ //# sourceMappingURL=NativeLocationModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../../../src","sources":["modules/location/NativeLocationModule.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAAmD,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GA6BpCC,gCAAmB,CAACC,YAAY,CAAO,oBAAoB,CAAC","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.requestAndroidLocationPermissions = requestAndroidLocationPermissions;
7
+ var _LocationManager = require("./LocationManager.js");
8
+ /**
9
+ * @deprected Use `LocationManager.requestAndroidPermissions` instead
10
+ */
11
+ async function requestAndroidLocationPermissions() {
12
+ return _LocationManager.LocationManager.requestAndroidPermissions();
13
+ }
14
+ //# sourceMappingURL=requestAndroidLocationPermissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_LocationManager","require","requestAndroidLocationPermissions","LocationManager","requestAndroidPermissions"],"sourceRoot":"../../../../src","sources":["modules/location/requestAndroidLocationPermissions.ts"],"mappings":";;;;;;AAAA,IAAAA,gBAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACO,eAAeC,iCAAiCA,CAAA,EAAqB;EAC1E,OAAOC,gCAAe,CAACC,yBAAyB,CAAC,CAAC;AACpD","ignoreList":[]}