@rnmapbox/maps 10.0.0-beta.69 → 10.0.0-beta.71
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/rctmgl/build.gradle +1 -1
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/annotation/RCTMGLMarkerView.kt +0 -1
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/camera/RCTMGLCamera.kt +78 -53
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/camera/RCTMGLCameraManager.kt +16 -13
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/location/LocationComponentManager.kt +125 -83
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/location/RCTMGLNativeUserLocation.kt +33 -7
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/location/RCTMGLNativeUserLocationManager.kt +32 -0
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/location/UserTrackingMode.kt +42 -0
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/mapview/RCTMGLMapView.kt +114 -38
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/mapview/helpers/CameraChangeTracker.kt +23 -0
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/events/MapUserTrackingModeEvent.kt +21 -0
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/location/LocationManager.kt +64 -25
- package/index.d.ts +14 -62
- package/ios/RCTMGL-v10/MGLModule.swift +1 -0
- package/ios/RCTMGL-v10/RCTMGLAtmosphere.swift +1 -0
- package/ios/RCTMGL-v10/RCTMGLBackgroundLayer.swift +1 -0
- package/ios/RCTMGL-v10/RCTMGLCamera.swift +52 -26
- package/ios/RCTMGL-v10/RCTMGLCameraManager.m +5 -2
- package/ios/RCTMGL-v10/RCTMGLCircleLayer.swift +1 -0
- package/ios/RCTMGL-v10/RCTMGLEvent.swift +1 -0
- package/ios/RCTMGL-v10/RCTMGLFillExtrustionLayer.swift +1 -0
- package/ios/RCTMGL-v10/RCTMGLFillLayer.swift +1 -0
- package/ios/RCTMGL-v10/RCTMGLHeatmapLayer.swift +1 -0
- package/ios/RCTMGL-v10/RCTMGLImages.swift +54 -8
- package/ios/RCTMGL-v10/RCTMGLLayer.swift +4 -0
- package/ios/RCTMGL-v10/RCTMGLLight.swift +5 -3
- package/ios/RCTMGL-v10/RCTMGLLineLayer.swift +1 -0
- package/ios/RCTMGL-v10/RCTMGLLocationModule.m +4 -0
- package/ios/RCTMGL-v10/RCTMGLLocationModule.swift +101 -5
- package/ios/RCTMGL-v10/RCTMGLMapView.swift +15 -2
- package/ios/RCTMGL-v10/RCTMGLRasterLayer.swift +1 -0
- package/ios/RCTMGL-v10/RCTMGLSingletonLayer.swift +4 -0
- package/ios/RCTMGL-v10/RCTMGLSkyLayer.swift +1 -0
- package/ios/RCTMGL-v10/RCTMGLStyle.swift +58 -123
- package/ios/RCTMGL-v10/RCTMGLStyleValue.swift +51 -5
- package/ios/RCTMGL-v10/RCTMGLSymbolLayer.swift +1 -0
- package/ios/RCTMGL-v10/RCTMGLTerrain.swift +1 -0
- package/ios/install.md +1 -1
- package/javascript/components/Camera.tsx +7 -3
- package/javascript/components/Images.tsx +133 -0
- package/javascript/components/MapView.js +22 -2
- package/javascript/modules/location/locationManager.ts +227 -0
- package/javascript/utils/MapboxStyles.d.ts +3 -3
- package/javascript/utils/styleMap.ts +2 -2
- package/lib/commonjs/classes/AnimatedCoordinatesArray.js.map +1 -1
- package/lib/commonjs/classes/AnimatedExtractCoordinateFromArray.js +2 -5
- package/lib/commonjs/classes/AnimatedExtractCoordinateFromArray.js.map +1 -1
- package/lib/commonjs/classes/AnimatedPoint.js.map +1 -1
- package/lib/commonjs/classes/AnimatedRouteCoordinatesArray.js.map +1 -1
- package/lib/commonjs/classes/AnimatedShape.js.map +1 -1
- package/lib/commonjs/classes/index.d.js.map +1 -1
- package/lib/commonjs/classes/index.js.map +1 -1
- package/lib/commonjs/components/AbstractLayer.js +6 -10
- package/lib/commonjs/components/AbstractLayer.js.map +1 -1
- package/lib/commonjs/components/AbstractSource.js +3 -10
- package/lib/commonjs/components/AbstractSource.js.map +1 -1
- package/lib/commonjs/components/Atmosphere.js.map +1 -1
- package/lib/commonjs/components/BackgroundLayer.js +3 -6
- package/lib/commonjs/components/BackgroundLayer.js.map +1 -1
- package/lib/commonjs/components/Callout.js +27 -30
- package/lib/commonjs/components/Callout.js.map +1 -1
- package/lib/commonjs/components/Camera.js +3 -1
- package/lib/commonjs/components/Camera.js.map +1 -1
- package/lib/commonjs/components/CircleLayer.js +3 -6
- package/lib/commonjs/components/CircleLayer.js.map +1 -1
- package/lib/commonjs/components/FillExtrusionLayer.js +3 -6
- package/lib/commonjs/components/FillExtrusionLayer.js.map +1 -1
- package/lib/commonjs/components/FillLayer.js +3 -6
- package/lib/commonjs/components/FillLayer.js.map +1 -1
- package/lib/commonjs/components/HeadingIndicator.js.map +1 -1
- package/lib/commonjs/components/HeatmapLayer.js +3 -6
- package/lib/commonjs/components/HeatmapLayer.js.map +1 -1
- package/lib/commonjs/components/ImageSource.js +16 -19
- package/lib/commonjs/components/ImageSource.js.map +1 -1
- package/lib/commonjs/components/Images.js +3 -34
- package/lib/commonjs/components/Images.js.map +1 -1
- package/lib/commonjs/components/Light.js +7 -10
- package/lib/commonjs/components/Light.js.map +1 -1
- package/lib/commonjs/components/LineLayer.js +3 -6
- package/lib/commonjs/components/LineLayer.js.map +1 -1
- package/lib/commonjs/components/MapView.js +241 -227
- package/lib/commonjs/components/MapView.js.map +1 -1
- package/lib/commonjs/components/MarkerView.js +9 -16
- package/lib/commonjs/components/MarkerView.js.map +1 -1
- package/lib/commonjs/components/NativeBridgeComponent.js +0 -7
- package/lib/commonjs/components/NativeBridgeComponent.js.map +1 -1
- package/lib/commonjs/components/NativeUserLocation.js.map +1 -1
- package/lib/commonjs/components/PointAnnotation.js +8 -11
- package/lib/commonjs/components/PointAnnotation.js.map +1 -1
- package/lib/commonjs/components/RasterDemSource.js +36 -39
- package/lib/commonjs/components/RasterDemSource.js.map +1 -1
- package/lib/commonjs/components/RasterLayer.js +3 -6
- package/lib/commonjs/components/RasterLayer.js.map +1 -1
- package/lib/commonjs/components/RasterSource.js +45 -48
- package/lib/commonjs/components/RasterSource.js.map +1 -1
- package/lib/commonjs/components/ShapeSource.js +4 -7
- package/lib/commonjs/components/ShapeSource.js.map +1 -1
- package/lib/commonjs/components/SkyLayer.js +3 -6
- package/lib/commonjs/components/SkyLayer.js.map +1 -1
- package/lib/commonjs/components/Style.js.map +1 -1
- package/lib/commonjs/components/SymbolLayer.js +3 -6
- package/lib/commonjs/components/SymbolLayer.js.map +1 -1
- package/lib/commonjs/components/Terrain.js.map +1 -1
- package/lib/commonjs/components/UserLocation.js +65 -69
- package/lib/commonjs/components/UserLocation.js.map +1 -1
- package/lib/commonjs/components/VectorSource.js +63 -66
- package/lib/commonjs/components/VectorSource.js.map +1 -1
- package/lib/commonjs/components/annotations/Annotation.js +16 -19
- package/lib/commonjs/components/annotations/Annotation.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/modules/location/locationManager.js +37 -9
- package/lib/commonjs/modules/location/locationManager.js.map +1 -1
- package/lib/commonjs/modules/offline/OfflineCreatePackOptions.js.map +1 -1
- package/lib/commonjs/modules/offline/OfflinePack.js.map +1 -1
- package/lib/commonjs/modules/offline/offlineManager.js.map +1 -1
- package/lib/commonjs/modules/snapshot/SnapshotOptions.js.map +1 -1
- package/lib/commonjs/modules/snapshot/snapshotManager.js.map +1 -1
- package/lib/commonjs/requestAndroidLocationPermissions.js.map +1 -1
- package/lib/commonjs/types/index.js.map +1 -1
- package/lib/commonjs/utils/BridgeValue.js +0 -4
- package/lib/commonjs/utils/BridgeValue.js.map +1 -1
- package/lib/commonjs/utils/Logger.js +1 -4
- package/lib/commonjs/utils/Logger.js.map +1 -1
- package/lib/commonjs/utils/MapboxStyles.d.js.map +1 -1
- package/lib/commonjs/utils/StyleValue.js.map +1 -1
- package/lib/commonjs/utils/animated/Animated.js.map +1 -1
- package/lib/commonjs/utils/deprecation.js.map +1 -1
- package/lib/commonjs/utils/filterUtils.js.map +1 -1
- package/lib/commonjs/utils/geoUtils.d.js.map +1 -1
- package/lib/commonjs/utils/geoUtils.js.map +1 -1
- package/lib/commonjs/utils/getAnnotationsLayerID.js.map +1 -1
- package/lib/commonjs/utils/index.d.js.map +1 -1
- package/lib/commonjs/utils/index.js.map +1 -1
- package/lib/commonjs/utils/styleMap.js +2 -2
- package/lib/commonjs/utils/styleMap.js.map +1 -1
- package/lib/commonjs/web/MapContext.js.map +1 -1
- package/lib/commonjs/web/MapboxModule.js.map +1 -1
- package/lib/commonjs/web/UnimplementedComponent.js.map +1 -1
- package/lib/commonjs/web/components/Camera.js +2 -9
- package/lib/commonjs/web/components/Camera.js.map +1 -1
- package/lib/commonjs/web/components/MapView.js +5 -11
- package/lib/commonjs/web/components/MapView.js.map +1 -1
- package/lib/commonjs/web/index.js.map +1 -1
- package/lib/commonjs/web/utils/Logger.js +3 -7
- package/lib/commonjs/web/utils/Logger.js.map +1 -1
- package/lib/module/classes/AnimatedCoordinatesArray.js.map +1 -1
- package/lib/module/classes/AnimatedExtractCoordinateFromArray.js +2 -5
- package/lib/module/classes/AnimatedExtractCoordinateFromArray.js.map +1 -1
- package/lib/module/classes/AnimatedPoint.js.map +1 -1
- package/lib/module/classes/AnimatedRouteCoordinatesArray.js.map +1 -1
- package/lib/module/classes/AnimatedShape.js.map +1 -1
- package/lib/module/classes/index.d.js.map +1 -1
- package/lib/module/classes/index.js.map +1 -1
- package/lib/module/components/AbstractLayer.js +4 -10
- package/lib/module/components/AbstractLayer.js.map +1 -1
- package/lib/module/components/AbstractSource.js +3 -10
- package/lib/module/components/AbstractSource.js.map +1 -1
- package/lib/module/components/Atmosphere.js.map +1 -1
- package/lib/module/components/BackgroundLayer.js +3 -6
- package/lib/module/components/BackgroundLayer.js.map +1 -1
- package/lib/module/components/Callout.js +27 -30
- package/lib/module/components/Callout.js.map +1 -1
- package/lib/module/components/Camera.js +3 -1
- package/lib/module/components/Camera.js.map +1 -1
- package/lib/module/components/CircleLayer.js +3 -6
- package/lib/module/components/CircleLayer.js.map +1 -1
- package/lib/module/components/FillExtrusionLayer.js +3 -6
- package/lib/module/components/FillExtrusionLayer.js.map +1 -1
- package/lib/module/components/FillLayer.js +3 -6
- package/lib/module/components/FillLayer.js.map +1 -1
- package/lib/module/components/HeadingIndicator.js.map +1 -1
- package/lib/module/components/HeatmapLayer.js +3 -6
- package/lib/module/components/HeatmapLayer.js.map +1 -1
- package/lib/module/components/ImageSource.js +16 -19
- package/lib/module/components/ImageSource.js.map +1 -1
- package/lib/module/components/Images.js +3 -34
- package/lib/module/components/Images.js.map +1 -1
- package/lib/module/components/Light.js +7 -10
- package/lib/module/components/Light.js.map +1 -1
- package/lib/module/components/LineLayer.js +3 -6
- package/lib/module/components/LineLayer.js.map +1 -1
- package/lib/module/components/MapView.js +241 -227
- package/lib/module/components/MapView.js.map +1 -1
- package/lib/module/components/MarkerView.js +9 -16
- package/lib/module/components/MarkerView.js.map +1 -1
- package/lib/module/components/NativeBridgeComponent.js +0 -7
- package/lib/module/components/NativeBridgeComponent.js.map +1 -1
- package/lib/module/components/NativeUserLocation.js.map +1 -1
- package/lib/module/components/PointAnnotation.js +8 -11
- package/lib/module/components/PointAnnotation.js.map +1 -1
- package/lib/module/components/RasterDemSource.js +36 -39
- package/lib/module/components/RasterDemSource.js.map +1 -1
- package/lib/module/components/RasterLayer.js +3 -6
- package/lib/module/components/RasterLayer.js.map +1 -1
- package/lib/module/components/RasterSource.js +45 -48
- package/lib/module/components/RasterSource.js.map +1 -1
- package/lib/module/components/ShapeSource.js +4 -7
- package/lib/module/components/ShapeSource.js.map +1 -1
- package/lib/module/components/SkyLayer.js +3 -6
- package/lib/module/components/SkyLayer.js.map +1 -1
- package/lib/module/components/Style.js.map +1 -1
- package/lib/module/components/SymbolLayer.js +3 -6
- package/lib/module/components/SymbolLayer.js.map +1 -1
- package/lib/module/components/Terrain.js.map +1 -1
- package/lib/module/components/UserLocation.js +65 -69
- package/lib/module/components/UserLocation.js.map +1 -1
- package/lib/module/components/VectorSource.js +63 -66
- package/lib/module/components/VectorSource.js.map +1 -1
- package/lib/module/components/annotations/Annotation.js +16 -19
- package/lib/module/components/annotations/Annotation.js.map +1 -1
- package/lib/module/modules/location/locationManager.js +38 -9
- package/lib/module/modules/location/locationManager.js.map +1 -1
- package/lib/module/modules/offline/OfflineCreatePackOptions.js.map +1 -1
- package/lib/module/modules/offline/OfflinePack.js.map +1 -1
- package/lib/module/modules/offline/offlineManager.js.map +1 -1
- package/lib/module/modules/snapshot/SnapshotOptions.js.map +1 -1
- package/lib/module/modules/snapshot/snapshotManager.js.map +1 -1
- package/lib/module/requestAndroidLocationPermissions.js.map +1 -1
- package/lib/module/types/index.js.map +1 -1
- package/lib/module/utils/BridgeValue.js +0 -4
- package/lib/module/utils/BridgeValue.js.map +1 -1
- package/lib/module/utils/Logger.js +1 -4
- package/lib/module/utils/Logger.js.map +1 -1
- package/lib/module/utils/MapboxStyles.d.js.map +1 -1
- package/lib/module/utils/StyleValue.js.map +1 -1
- package/lib/module/utils/animated/Animated.js.map +1 -1
- package/lib/module/utils/deprecation.js.map +1 -1
- package/lib/module/utils/filterUtils.js.map +1 -1
- package/lib/module/utils/geoUtils.d.js.map +1 -1
- package/lib/module/utils/geoUtils.js.map +1 -1
- package/lib/module/utils/getAnnotationsLayerID.js.map +1 -1
- package/lib/module/utils/index.d.js.map +1 -1
- package/lib/module/utils/index.js.map +1 -1
- package/lib/module/utils/styleMap.js +2 -2
- package/lib/module/utils/styleMap.js.map +1 -1
- package/lib/module/web/MapContext.js.map +1 -1
- package/lib/module/web/MapboxModule.js.map +1 -1
- package/lib/module/web/UnimplementedComponent.js.map +1 -1
- package/lib/module/web/components/Camera.js +2 -9
- package/lib/module/web/components/Camera.js.map +1 -1
- package/lib/module/web/components/MapView.js +5 -11
- package/lib/module/web/components/MapView.js.map +1 -1
- package/lib/module/web/index.js.map +1 -1
- package/lib/module/web/utils/Logger.js +3 -7
- package/lib/module/web/utils/Logger.js.map +1 -1
- package/lib/typescript/components/Camera.d.ts +4 -2
- package/lib/typescript/components/Camera.d.ts.map +1 -1
- package/lib/typescript/components/Images.d.ts +57 -0
- package/lib/typescript/components/Images.d.ts.map +1 -0
- package/lib/typescript/modules/location/locationManager.d.ts +87 -0
- package/lib/typescript/modules/location/locationManager.d.ts.map +1 -0
- package/lib/typescript/utils/styleMap.d.ts +2 -2
- package/package.json +1 -1
- package/rnmapbox-maps.podspec +1 -1
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/location/RCTMGLNativeUserLocationManager.java +0 -34
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/location/RenderMode.kt +0 -21
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/location/UserTrackingMode.java +0 -54
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/mapview/helpers/CameraChangeTracker.java +0 -37
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/location/UserLocationVerticalAlignment.java +0 -7
- package/javascript/components/Images.js +0 -118
- package/javascript/modules/location/locationManager.js +0 -136
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
package com.mapbox.rctmgl.components.location
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.uimanager.ThemedReactContext
|
|
4
|
+
import com.facebook.react.uimanager.ViewGroupManager
|
|
5
|
+
import com.facebook.react.uimanager.annotations.ReactProp
|
|
6
|
+
import com.mapbox.rctmgl.utils.Logger
|
|
7
|
+
import javax.annotation.Nonnull
|
|
8
|
+
|
|
9
|
+
class RCTMGLNativeUserLocationManager : ViewGroupManager<RCTMGLNativeUserLocation>() {
|
|
10
|
+
@Nonnull
|
|
11
|
+
override fun getName(): String {
|
|
12
|
+
return REACT_CLASS
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
@ReactProp(name = "androidRenderMode")
|
|
16
|
+
fun setAndroidRenderMode(userLocation: RCTMGLNativeUserLocation, mode: String) {
|
|
17
|
+
when (mode) {
|
|
18
|
+
"compass" -> userLocation.setAndroidRenderMode(RenderMode.COMPASS);
|
|
19
|
+
"gps" -> userLocation.setAndroidRenderMode(RenderMode.GPS);
|
|
20
|
+
"normal" -> userLocation.setAndroidRenderMode(RenderMode.NORMAL);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
@Nonnull
|
|
25
|
+
override fun createViewInstance(@Nonnull reactContext: ThemedReactContext): RCTMGLNativeUserLocation {
|
|
26
|
+
return RCTMGLNativeUserLocation(reactContext)
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
companion object {
|
|
30
|
+
const val REACT_CLASS = "RCTMGLNativeUserLocation"
|
|
31
|
+
}
|
|
32
|
+
}
|
package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/location/UserTrackingMode.kt
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
package com.mapbox.rctmgl.components.location
|
|
2
|
+
|
|
3
|
+
object UserTrackingMode {
|
|
4
|
+
const val NONE = 0
|
|
5
|
+
const val FOLLOW = 1
|
|
6
|
+
const val FollowWithCourse = 2
|
|
7
|
+
const val FollowWithHeading = 3
|
|
8
|
+
@CameraMode.Mode
|
|
9
|
+
fun getCameraMode(mode: Int): Int {
|
|
10
|
+
when (mode) {
|
|
11
|
+
NONE -> return CameraMode.NONE
|
|
12
|
+
FOLLOW -> return CameraMode.TRACKING
|
|
13
|
+
FollowWithCourse -> return CameraMode.TRACKING_GPS
|
|
14
|
+
FollowWithHeading -> return CameraMode.TRACKING_COMPASS
|
|
15
|
+
}
|
|
16
|
+
return CameraMode.NONE
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
fun isUserGesture(reason: Int): Boolean {
|
|
20
|
+
return reason == 1 || reason == 2 // user gesture or animation
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
fun toString(value: Int): String? {
|
|
24
|
+
when (value) {
|
|
25
|
+
FOLLOW -> return "normal"
|
|
26
|
+
FollowWithCourse -> return "course"
|
|
27
|
+
FollowWithHeading -> return "compass"
|
|
28
|
+
}
|
|
29
|
+
return null
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
fun fromString(value: String?): Int {
|
|
33
|
+
var value = value
|
|
34
|
+
if (value == null) value = ""
|
|
35
|
+
return when (value) {
|
|
36
|
+
"course" -> FollowWithCourse
|
|
37
|
+
"normal" -> FOLLOW
|
|
38
|
+
"compass" -> FollowWithHeading
|
|
39
|
+
else -> FOLLOW
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/mapview/RCTMGLMapView.kt
CHANGED
|
@@ -15,6 +15,8 @@ import androidx.lifecycle.LifecycleRegistry
|
|
|
15
15
|
import androidx.lifecycle.ViewTreeLifecycleOwner
|
|
16
16
|
import com.facebook.react.bridge.*
|
|
17
17
|
import com.mapbox.android.gestures.MoveGestureDetector
|
|
18
|
+
import com.mapbox.android.gestures.RotateGestureDetector
|
|
19
|
+
import com.mapbox.android.gestures.StandardScaleGestureDetector
|
|
18
20
|
import com.mapbox.geojson.Feature
|
|
19
21
|
import com.mapbox.geojson.FeatureCollection
|
|
20
22
|
import com.mapbox.geojson.Point
|
|
@@ -51,6 +53,7 @@ import com.mapbox.rctmgl.components.camera.RCTMGLCamera
|
|
|
51
53
|
import com.mapbox.rctmgl.components.images.RCTMGLImages
|
|
52
54
|
import com.mapbox.rctmgl.components.location.LocationComponentManager
|
|
53
55
|
import com.mapbox.rctmgl.components.location.RCTMGLNativeUserLocation
|
|
56
|
+
import com.mapbox.rctmgl.components.mapview.helpers.CameraChangeReason
|
|
54
57
|
import com.mapbox.rctmgl.components.mapview.helpers.CameraChangeTracker
|
|
55
58
|
import com.mapbox.rctmgl.components.styles.layers.RCTLayer
|
|
56
59
|
import com.mapbox.rctmgl.components.styles.light.RCTMGLLight
|
|
@@ -77,11 +80,68 @@ data class OrnamentSettings(
|
|
|
77
80
|
var position: Int = -1
|
|
78
81
|
)
|
|
79
82
|
|
|
83
|
+
enum class MapGestureType {
|
|
84
|
+
Move,Scale,Rotate
|
|
85
|
+
}
|
|
80
86
|
|
|
81
|
-
|
|
87
|
+
/***
|
|
88
|
+
* Mapbox's MapView observers lifecycle events see MapboxLifecyclePluginImpl - (ON_START, ON_STOP, ON_DESTROY)
|
|
89
|
+
* We need to emulate those.
|
|
90
|
+
*/
|
|
91
|
+
interface RCTMGLLifeCycleOwner : LifecycleOwner {
|
|
82
92
|
fun handleLifecycleEvent(event: Lifecycle.Event)
|
|
83
93
|
}
|
|
84
94
|
|
|
95
|
+
class RCTMGLLifeCycle {
|
|
96
|
+
private var lifecycleOwner : RCTMGLLifeCycleOwner? = null
|
|
97
|
+
|
|
98
|
+
fun onAttachedToWindow(view: View) {
|
|
99
|
+
if (lifecycleOwner == null) {
|
|
100
|
+
lifecycleOwner = object : RCTMGLLifeCycleOwner {
|
|
101
|
+
private lateinit var lifecycleRegistry: LifecycleRegistry
|
|
102
|
+
init {
|
|
103
|
+
lifecycleRegistry = LifecycleRegistry(this)
|
|
104
|
+
lifecycleRegistry.currentState = Lifecycle.State.CREATED
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
override fun handleLifecycleEvent(event: Lifecycle.Event) {
|
|
108
|
+
try {
|
|
109
|
+
lifecycleRegistry.handleLifecycleEvent(event)
|
|
110
|
+
} catch (e: RuntimeException) {
|
|
111
|
+
Log.e("RCTMGLMapView", "handleLifecycleEvent, handleLifecycleEvent error: $e")
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
override fun getLifecycle(): Lifecycle {
|
|
116
|
+
return lifecycleRegistry
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
ViewTreeLifecycleOwner.set(view, lifecycleOwner);
|
|
120
|
+
}
|
|
121
|
+
lifecycleOwner?.handleLifecycleEvent(Lifecycle.Event.ON_START)
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
fun onDetachedFromWindow() {
|
|
125
|
+
if (lifecycleOwner?.lifecycle?.currentState == Lifecycle.State.DESTROYED) {
|
|
126
|
+
return
|
|
127
|
+
}
|
|
128
|
+
lifecycleOwner?.handleLifecycleEvent(androidx.lifecycle.Lifecycle.Event.ON_STOP)
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
fun onDestroy() {
|
|
132
|
+
if (lifecycleOwner?.lifecycle?.currentState == Lifecycle.State.STARTED || lifecycleOwner?.lifecycle?.currentState == Lifecycle.State.RESUMED) {
|
|
133
|
+
lifecycleOwner?.handleLifecycleEvent(androidx.lifecycle.Lifecycle.Event.ON_STOP)
|
|
134
|
+
}
|
|
135
|
+
if (lifecycleOwner?.lifecycle?.currentState != Lifecycle.State.DESTROYED) {
|
|
136
|
+
lifecycleOwner?.handleLifecycleEvent(androidx.lifecycle.Lifecycle.Event.ON_DESTROY)
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
fun getState() : Lifecycle.State {
|
|
141
|
+
return lifecycleOwner?.lifecycle?.currentState ?: Lifecycle.State.INITIALIZED;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
85
145
|
open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapViewManager /*, MapboxMapOptions options*/) : MapView(mContext), OnMapClickListener, OnMapLongClickListener {
|
|
86
146
|
/**
|
|
87
147
|
* `PointAnnotations` are rendered to a canvas, but the React Native `Image` component is
|
|
@@ -201,25 +261,58 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
|
|
|
201
261
|
gesturesPlugin.addOnMapLongClickListener(_this)
|
|
202
262
|
gesturesPlugin.addOnMapClickListener(_this)
|
|
203
263
|
|
|
264
|
+
gesturesPlugin.addOnScaleListener(object: OnScaleListener{
|
|
265
|
+
override fun onScale(detector: StandardScaleGestureDetector) {
|
|
266
|
+
mapGesture(MapGestureType.Scale, detector)
|
|
267
|
+
}
|
|
268
|
+
override fun onScaleBegin(detector: StandardScaleGestureDetector) {
|
|
269
|
+
mapGestureBegin(MapGestureType.Scale, detector)
|
|
270
|
+
}
|
|
271
|
+
override fun onScaleEnd(detector: StandardScaleGestureDetector) {
|
|
272
|
+
mapGestureEnd(MapGestureType.Scale, detector)
|
|
273
|
+
}
|
|
274
|
+
})
|
|
275
|
+
|
|
276
|
+
gesturesPlugin.addOnRotateListener(object: OnRotateListener{
|
|
277
|
+
override fun onRotate(detector: RotateGestureDetector) {
|
|
278
|
+
mapGesture(MapGestureType.Rotate, detector)
|
|
279
|
+
}
|
|
280
|
+
override fun onRotateBegin(detector: RotateGestureDetector) {
|
|
281
|
+
mapGestureBegin(MapGestureType.Rotate, detector)
|
|
282
|
+
}
|
|
283
|
+
override fun onRotateEnd(detector: RotateGestureDetector) {
|
|
284
|
+
mapGestureEnd(MapGestureType.Rotate, detector)
|
|
285
|
+
}
|
|
286
|
+
})
|
|
287
|
+
|
|
204
288
|
gesturesPlugin.addOnMoveListener(object : OnMoveListener {
|
|
205
289
|
override fun onMoveBegin(moveGestureDetector: MoveGestureDetector) {
|
|
206
|
-
|
|
207
|
-
handleMapChangedEvent(EventTypes.REGION_WILL_CHANGE)
|
|
290
|
+
mapGestureBegin(MapGestureType.Move, moveGestureDetector)
|
|
208
291
|
}
|
|
209
292
|
|
|
210
293
|
override fun onMove(moveGestureDetector: MoveGestureDetector): Boolean {
|
|
211
|
-
|
|
212
|
-
handleMapChangedEvent(EventTypes.REGION_IS_CHANGING)
|
|
213
|
-
return false
|
|
294
|
+
return mapGesture(MapGestureType.Move, moveGestureDetector)
|
|
214
295
|
}
|
|
215
296
|
|
|
216
|
-
override fun onMoveEnd(moveGestureDetector: MoveGestureDetector) {
|
|
297
|
+
override fun onMoveEnd(moveGestureDetector: MoveGestureDetector) {
|
|
298
|
+
mapGestureEnd(MapGestureType.Move, moveGestureDetector)
|
|
299
|
+
}
|
|
217
300
|
})
|
|
218
301
|
|
|
219
|
-
|
|
220
302
|
map.subscribe({ event -> Logger.e(LOG_TAG, String.format("Map load failed: %s", event.data.toString())) }, Arrays.asList(MapEvents.MAP_LOADING_ERROR))
|
|
221
303
|
}
|
|
222
304
|
|
|
305
|
+
fun<T> mapGestureBegin(type:MapGestureType, gesture: T) {
|
|
306
|
+
mCameraChangeTracker.setReason(CameraChangeReason.USER_GESTURE)
|
|
307
|
+
handleMapChangedEvent(EventTypes.REGION_WILL_CHANGE)
|
|
308
|
+
}
|
|
309
|
+
fun<T> mapGesture(type: MapGestureType, gesture: T): Boolean {
|
|
310
|
+
mCameraChangeTracker.setReason(CameraChangeReason.USER_GESTURE)
|
|
311
|
+
handleMapChangedEvent(EventTypes.REGION_IS_CHANGING)
|
|
312
|
+
return false
|
|
313
|
+
}
|
|
314
|
+
fun<T> mapGestureEnd(type: MapGestureType, gesture: T) {}
|
|
315
|
+
|
|
223
316
|
fun init() {
|
|
224
317
|
// Required for rendering properly in Android Oreo
|
|
225
318
|
viewTreeObserver.dispatchOnGlobalLayout()
|
|
@@ -325,7 +418,7 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
|
|
|
325
418
|
val event: IEvent = MapChangeEvent(this, EventTypes.REGION_DID_CHANGE,
|
|
326
419
|
makeRegionPayload(isAnimated))
|
|
327
420
|
mManager.handleEvent(event)
|
|
328
|
-
mCameraChangeTracker.setReason(
|
|
421
|
+
mCameraChangeTracker.setReason(CameraChangeReason.NONE)
|
|
329
422
|
}
|
|
330
423
|
|
|
331
424
|
private fun removeAllFeaturesFromMap() {
|
|
@@ -608,7 +701,7 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
|
|
|
608
701
|
|
|
609
702
|
fun sendRegionDidChangeEvent() {
|
|
610
703
|
handleMapChangedEvent(EventTypes.REGION_DID_CHANGE)
|
|
611
|
-
mCameraChangeTracker.setReason(
|
|
704
|
+
mCameraChangeTracker.setReason(CameraChangeReason.NONE)
|
|
612
705
|
}
|
|
613
706
|
|
|
614
707
|
private fun handleMapChangedEvent(eventType: String) {
|
|
@@ -1140,51 +1233,34 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
|
|
|
1140
1233
|
// endregion
|
|
1141
1234
|
|
|
1142
1235
|
// region lifecycle
|
|
1143
|
-
private
|
|
1236
|
+
private val lifecycle : RCTMGLLifeCycle by lazy { RCTMGLLifeCycle() }
|
|
1237
|
+
|
|
1238
|
+
fun getLifecycleState() : Lifecycle.State {
|
|
1239
|
+
return this.lifecycle.getState()
|
|
1240
|
+
}
|
|
1144
1241
|
|
|
1145
1242
|
override fun onDetachedFromWindow() {
|
|
1146
|
-
|
|
1243
|
+
lifecycle.onDetachedFromWindow()
|
|
1147
1244
|
super.onDetachedFromWindow();
|
|
1148
1245
|
}
|
|
1149
1246
|
|
|
1150
1247
|
override fun onDestroy() {
|
|
1151
1248
|
removeAllFeatures()
|
|
1152
1249
|
viewAnnotationManager.removeAllViewAnnotations()
|
|
1153
|
-
|
|
1250
|
+
mLocationComponentManager?.onDestroy();
|
|
1251
|
+
|
|
1252
|
+
lifecycle.onDestroy()
|
|
1154
1253
|
super.onDestroy()
|
|
1155
1254
|
}
|
|
1156
1255
|
|
|
1157
1256
|
fun onDropViewInstance() {
|
|
1158
1257
|
removeAllFeatures()
|
|
1159
1258
|
viewAnnotationManager.removeAllViewAnnotations()
|
|
1160
|
-
|
|
1259
|
+
lifecycle.onDestroy()
|
|
1161
1260
|
}
|
|
1162
1261
|
|
|
1163
1262
|
override fun onAttachedToWindow() {
|
|
1164
|
-
|
|
1165
|
-
lifecycleOwner = object : RCTMGLMapViewLifecycleOwner {
|
|
1166
|
-
private lateinit var lifecycleRegistry: LifecycleRegistry
|
|
1167
|
-
init {
|
|
1168
|
-
lifecycleRegistry = LifecycleRegistry(this)
|
|
1169
|
-
lifecycleRegistry.currentState = Lifecycle.State.CREATED
|
|
1170
|
-
}
|
|
1171
|
-
|
|
1172
|
-
override fun handleLifecycleEvent(event: Lifecycle.Event) {
|
|
1173
|
-
try {
|
|
1174
|
-
lifecycleRegistry.handleLifecycleEvent(event)
|
|
1175
|
-
} catch (e: RuntimeException) {
|
|
1176
|
-
Log.e("RCTMGLMapView", "onAttachedToWindow error: $e")
|
|
1177
|
-
}
|
|
1178
|
-
}
|
|
1179
|
-
|
|
1180
|
-
override fun getLifecycle(): Lifecycle {
|
|
1181
|
-
return lifecycleRegistry
|
|
1182
|
-
}
|
|
1183
|
-
}
|
|
1184
|
-
ViewTreeLifecycleOwner.set(this, lifecycleOwner);
|
|
1185
|
-
} else {
|
|
1186
|
-
lifecycleOwner?.handleLifecycleEvent(Lifecycle.Event.ON_RESUME)
|
|
1187
|
-
}
|
|
1263
|
+
lifecycle.onAttachedToWindow(this)
|
|
1188
1264
|
super.onAttachedToWindow()
|
|
1189
1265
|
}
|
|
1190
1266
|
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
package com.mapbox.rctmgl.components.mapview.helpers
|
|
2
|
+
|
|
3
|
+
enum class CameraChangeReason {
|
|
4
|
+
NONE,
|
|
5
|
+
USER_GESTURE,
|
|
6
|
+
DEVELOPER_ANIMATION,
|
|
7
|
+
SDK_ANIMATION
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
class CameraChangeTracker {
|
|
11
|
+
private var reason : CameraChangeReason = CameraChangeReason.NONE
|
|
12
|
+
var isAnimating = false
|
|
13
|
+
fun setReason(reason: CameraChangeReason) {
|
|
14
|
+
this.reason = reason
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
val isUserInteraction: Boolean
|
|
18
|
+
get() = reason == CameraChangeReason.USER_GESTURE || reason == CameraChangeReason.DEVELOPER_ANIMATION
|
|
19
|
+
val isAnimated: Boolean
|
|
20
|
+
get() = reason == CameraChangeReason.DEVELOPER_ANIMATION || reason == CameraChangeReason.SDK_ANIMATION
|
|
21
|
+
val isEmpty: Boolean
|
|
22
|
+
get() = reason == CameraChangeReason.NONE
|
|
23
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
package com.mapbox.rctmgl.events
|
|
2
|
+
|
|
3
|
+
import android.view.View
|
|
4
|
+
import com.facebook.react.bridge.Arguments
|
|
5
|
+
import com.facebook.react.bridge.WritableMap
|
|
6
|
+
import com.mapbox.rctmgl.components.location.UserTrackingMode
|
|
7
|
+
import com.mapbox.rctmgl.events.constants.EventKeys
|
|
8
|
+
import com.mapbox.rctmgl.events.constants.EventTypes
|
|
9
|
+
|
|
10
|
+
class MapUserTrackingModeEvent(view: View?, val userTrackingMode: Int) : AbstractEvent(view, EventTypes.MAP_USER_TRACKING_MODE_CHANGE) {
|
|
11
|
+
override fun getKey(): String {
|
|
12
|
+
return EventKeys.MAP_USER_TRACKING_MODE_CHANGE;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
override fun getPayload(): WritableMap {
|
|
16
|
+
val payload = Arguments.createMap()
|
|
17
|
+
payload.putBoolean("followUserLocation", userTrackingMode != UserTrackingMode.NONE)
|
|
18
|
+
payload.putString("followUserMode", UserTrackingMode.toString(userTrackingMode))
|
|
19
|
+
return payload
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -3,8 +3,6 @@ package com.mapbox.rctmgl.location
|
|
|
3
3
|
import android.annotation.SuppressLint
|
|
4
4
|
import android.content.Context
|
|
5
5
|
import android.location.Location
|
|
6
|
-
//import com.mapbox.maps.plugin.locationcomponent.LocationConsumer.onLocationUpdated
|
|
7
|
-
//import com.mapbox.maps.plugin.locationcomponent.LocationConsumer.onBearingUpdated
|
|
8
6
|
import com.mapbox.android.core.location.LocationEngine
|
|
9
7
|
import com.mapbox.android.core.location.LocationEngineCallback
|
|
10
8
|
import com.mapbox.android.core.location.LocationEngineResult
|
|
@@ -20,9 +18,52 @@ import java.lang.ref.WeakReference
|
|
|
20
18
|
import java.util.ArrayList
|
|
21
19
|
import kotlin.Exception
|
|
22
20
|
|
|
23
|
-
|
|
21
|
+
|
|
22
|
+
open class SingletonHolder<out T, in A>(creator: (A) -> T) {
|
|
23
|
+
private var creator: ((A) -> T)? = creator
|
|
24
|
+
@Volatile private var instance: T? = null
|
|
25
|
+
|
|
26
|
+
fun getInstance(arg: A): T {
|
|
27
|
+
val i = instance
|
|
28
|
+
if (i != null) {
|
|
29
|
+
return i
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
return synchronized(this) {
|
|
33
|
+
val i2 = instance
|
|
34
|
+
if (i2 != null) {
|
|
35
|
+
i2
|
|
36
|
+
} else {
|
|
37
|
+
val created = creator!!(arg)
|
|
38
|
+
instance = created
|
|
39
|
+
creator = null
|
|
40
|
+
created
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
internal class LocationProviderForEngine(var mEngine: LocationEngine?, val context: Context) : LocationProvider, LocationEngineCallback<LocationEngineResult> {
|
|
24
47
|
var mConsumers = ArrayList<LocationConsumer>()
|
|
25
|
-
|
|
48
|
+
@SuppressLint("MissingPermission")
|
|
49
|
+
fun beforeAddingFirstConsumer() {
|
|
50
|
+
val request = LocationEngineRequest.Builder(LocationManager.DEFAULT_INTERVAL_MILLIS
|
|
51
|
+
)
|
|
52
|
+
.setFastestInterval(LocationManager.DEFAULT_FASTEST_INTERVAL_MILLIS)
|
|
53
|
+
.setPriority(LocationEngineRequest.PRIORITY_HIGH_ACCURACY)
|
|
54
|
+
.build();
|
|
55
|
+
|
|
56
|
+
if (!PermissionsManager.areLocationPermissionsGranted(context)) {
|
|
57
|
+
return
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
mEngine?.requestLocationUpdates(
|
|
61
|
+
request,
|
|
62
|
+
this,
|
|
63
|
+
Looper.getMainLooper()
|
|
64
|
+
)
|
|
65
|
+
|
|
66
|
+
}
|
|
26
67
|
fun afterRemovedLastConsumer() {}
|
|
27
68
|
@SuppressLint("MissingPermission")
|
|
28
69
|
override fun registerLocationConsumer(locationConsumer: LocationConsumer) {
|
|
@@ -66,25 +107,29 @@ class LocationManager private constructor(private val context: Context) : Locati
|
|
|
66
107
|
private var isActive = false
|
|
67
108
|
private var lastLocation: Location? = null
|
|
68
109
|
private var locationEngineRequest: LocationEngineRequest? = null
|
|
69
|
-
private var locationProvider:
|
|
70
|
-
private var nStarts : Int = 0
|
|
71
|
-
private var isPaused : Boolean = false
|
|
72
|
-
|
|
110
|
+
private var locationProvider: LocationProvider? = null
|
|
111
|
+
private var nStarts : Int = 0
|
|
112
|
+
private var isPaused : Boolean = false
|
|
73
113
|
|
|
74
|
-
|
|
75
|
-
val provider: LocationProvider
|
|
114
|
+
var provider: LocationProvider
|
|
76
115
|
get() {
|
|
77
|
-
|
|
78
|
-
|
|
116
|
+
var ret = locationProvider
|
|
117
|
+
if (ret == null) {
|
|
118
|
+
val engine = LocationProviderForEngine(engine, context)
|
|
119
|
+
locationProvider = engine
|
|
120
|
+
return engine
|
|
121
|
+
} else {
|
|
122
|
+
return ret
|
|
79
123
|
}
|
|
80
|
-
|
|
124
|
+
}
|
|
125
|
+
set(value) {
|
|
126
|
+
locationProvider = value
|
|
81
127
|
}
|
|
82
128
|
|
|
83
129
|
interface OnUserLocationChange {
|
|
84
130
|
fun onLocationChange(location: Location?)
|
|
85
131
|
}
|
|
86
132
|
|
|
87
|
-
|
|
88
133
|
/// public interface
|
|
89
134
|
|
|
90
135
|
fun startCounted() {
|
|
@@ -228,23 +273,17 @@ class LocationManager private constructor(private val context: Context) : Locati
|
|
|
228
273
|
|
|
229
274
|
override fun onSuccess(result: LocationEngineResult?) {
|
|
230
275
|
onLocationChanged(result?.lastLocation)
|
|
231
|
-
|
|
232
|
-
|
|
276
|
+
val provider = locationProvider
|
|
277
|
+
if (provider != null && provider is LocationProviderForEngine) {
|
|
278
|
+
provider.onSuccess(result)
|
|
233
279
|
}
|
|
234
280
|
}
|
|
235
281
|
|
|
236
|
-
companion object {
|
|
282
|
+
companion object : SingletonHolder<LocationManager, Context>(::LocationManager) {
|
|
237
283
|
const val DEFAULT_FASTEST_INTERVAL_MILLIS: Long = 1000
|
|
238
284
|
const val DEFAULT_INTERVAL_MILLIS: Long = 1000
|
|
239
285
|
const val LOG_TAG = "LocationManager"
|
|
240
|
-
|
|
241
|
-
@JvmStatic
|
|
242
|
-
fun getInstance(context: Context): LocationManager? {
|
|
243
|
-
if (INSTANCE == null) {
|
|
244
|
-
INSTANCE = WeakReference(LocationManager(context))
|
|
245
|
-
}
|
|
246
|
-
return INSTANCE!!.get()
|
|
247
|
-
}
|
|
286
|
+
|
|
248
287
|
}
|
|
249
288
|
|
|
250
289
|
init {
|
package/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
declare module 'react-native-mapbox-gl__maps';
|
|
2
2
|
|
|
3
|
-
import { Component, ReactNode } from 'react';
|
|
3
|
+
import { Component, FC, ReactNode } from 'react';
|
|
4
4
|
import {
|
|
5
5
|
ViewProps,
|
|
6
6
|
ViewStyle,
|
|
@@ -47,6 +47,7 @@ import {
|
|
|
47
47
|
type UserTrackingMode as _UserTrackingMode,
|
|
48
48
|
type UserTrackingModeChangeCallback as _UserTrackingModeChangeCallback,
|
|
49
49
|
} from './javascript/components/Camera';
|
|
50
|
+
import { Images as _Images } from './javascript/components/Images';
|
|
50
51
|
import { MarkerView as _MarkerView } from './javascript/components/MarkerView';
|
|
51
52
|
import { PointAnnotation as _PointAnnotation } from './javascript/components/PointAnnotation';
|
|
52
53
|
import { Atmosphere as _Atmosphere } from './javascript/components/Atmosphere';
|
|
@@ -74,6 +75,10 @@ import type {
|
|
|
74
75
|
AnimatedShape as _AnimatedShape,
|
|
75
76
|
} from './javascript/types/index';
|
|
76
77
|
import type { requestAndroidLocationPermissions as _requestAndroidLocationPermissions } from './javascript/requestAndroidLocationPermissions';
|
|
78
|
+
import type {
|
|
79
|
+
Location as _Location,
|
|
80
|
+
LocationManager,
|
|
81
|
+
} from './javascript/locationManager';
|
|
77
82
|
|
|
78
83
|
// prettier-ignore
|
|
79
84
|
type ExpressionName =
|
|
@@ -172,6 +177,7 @@ declare namespace MapboxGL {
|
|
|
172
177
|
type MapboxGLEvent = _MapboxGLEvent;
|
|
173
178
|
type UserTrackingMode = _UserTrackingMode;
|
|
174
179
|
type UserTrackingModeChangeCallback = _UserTrackingModeChangeCallback;
|
|
180
|
+
type Location = _Location;
|
|
175
181
|
|
|
176
182
|
const offlineManager: OfflineManager;
|
|
177
183
|
const snapshotManager: SnapshotManager;
|
|
@@ -324,56 +330,10 @@ declare namespace MapboxGL {
|
|
|
324
330
|
|
|
325
331
|
class UserLocation extends Component<UserLocationProps> {}
|
|
326
332
|
|
|
327
|
-
interface Location {
|
|
328
|
-
coords: Coordinates;
|
|
329
|
-
timestamp?: number;
|
|
330
|
-
}
|
|
331
|
-
|
|
332
|
-
interface Coordinates {
|
|
333
|
-
/**
|
|
334
|
-
* The heading (measured in degrees) relative to true north.
|
|
335
|
-
* Heading is used to describe the direction the device is pointing to (the value of the compass).
|
|
336
|
-
* Note that on Android this is incorrectly reporting the course value as mentioned in issue https://github.com/rnmapbox/maps/issues/1213
|
|
337
|
-
* and will be corrected in a future update.
|
|
338
|
-
*/
|
|
339
|
-
heading?: number;
|
|
340
|
-
|
|
341
|
-
/**
|
|
342
|
-
* The direction in which the device is traveling, measured in degrees and relative to due north.
|
|
343
|
-
* The course refers to the direction the device is actually moving (not the same as heading).
|
|
344
|
-
*/
|
|
345
|
-
course?: number;
|
|
346
|
-
|
|
347
|
-
/**
|
|
348
|
-
* The instantaneous speed of the device, measured in meters per second.
|
|
349
|
-
*/
|
|
350
|
-
speed?: number;
|
|
351
|
-
|
|
352
|
-
/**
|
|
353
|
-
* The latitude in degrees.
|
|
354
|
-
*/
|
|
355
|
-
latitude: number;
|
|
356
|
-
|
|
357
|
-
/**
|
|
358
|
-
* The longitude in degrees.
|
|
359
|
-
*/
|
|
360
|
-
longitude: number;
|
|
361
|
-
|
|
362
|
-
/**
|
|
363
|
-
* The radius of uncertainty for the location, measured in meters.
|
|
364
|
-
*/
|
|
365
|
-
accuracy?: number;
|
|
366
|
-
|
|
367
|
-
/**
|
|
368
|
-
* The altitude, measured in meters.
|
|
369
|
-
*/
|
|
370
|
-
altitude?: number;
|
|
371
|
-
}
|
|
372
|
-
|
|
373
333
|
class Light extends Component<LightProps> {}
|
|
374
334
|
|
|
375
335
|
class Callout extends Component<CalloutProps> {}
|
|
376
|
-
type Style =
|
|
336
|
+
type Style = FC<StyleProps>;
|
|
377
337
|
|
|
378
338
|
/**
|
|
379
339
|
* Sources
|
|
@@ -392,14 +352,12 @@ declare namespace MapboxGL {
|
|
|
392
352
|
class LineLayer extends Component<_LineLayerProps> {}
|
|
393
353
|
class RasterLayer extends Component<_RasterLayerProps> {}
|
|
394
354
|
class HeatmapLayer extends Component<_HeatmapLayerProps> {}
|
|
395
|
-
class Images extends Component<ImagesProps> {}
|
|
396
355
|
class ImageSource extends Component<ImageSourceProps> {}
|
|
397
356
|
class SkyLayer extends Component<_SkyLayerProps> {}
|
|
398
357
|
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
}
|
|
358
|
+
type Location = _Location;
|
|
359
|
+
type Images = _Images;
|
|
360
|
+
const Images = _Images;
|
|
403
361
|
|
|
404
362
|
/**
|
|
405
363
|
* Offline
|
|
@@ -533,7 +491,6 @@ export interface MapState {
|
|
|
533
491
|
export interface MapViewProps extends ViewProps {
|
|
534
492
|
animated?: boolean;
|
|
535
493
|
userTrackingMode?: MapboxGL.UserTrackingModes;
|
|
536
|
-
userLocationVerticalAlignment?: number;
|
|
537
494
|
contentInset?: Array<number>;
|
|
538
495
|
projection?: 'mercator' | 'globe';
|
|
539
496
|
style?: StyleProp<ViewStyle>;
|
|
@@ -575,7 +532,7 @@ export interface MapViewProps extends ViewProps {
|
|
|
575
532
|
) => void;
|
|
576
533
|
onCameraChanged?: (state: MapState) => void;
|
|
577
534
|
onMapIdle?: (state: MapState) => void;
|
|
578
|
-
onUserLocationUpdate?: (feature:
|
|
535
|
+
onUserLocationUpdate?: (feature: Location) => void;
|
|
579
536
|
onWillStartLoadingMap?: () => void;
|
|
580
537
|
onDidFinishLoadingMap?: () => void;
|
|
581
538
|
onDidFailLoadingMap?: () => void;
|
|
@@ -596,7 +553,7 @@ export interface UserLocationProps {
|
|
|
596
553
|
minDisplacement?: number;
|
|
597
554
|
requestsAlwaysUse?: boolean;
|
|
598
555
|
onPress?: () => void;
|
|
599
|
-
onUpdate?: (location:
|
|
556
|
+
onUpdate?: (location: Location) => void;
|
|
600
557
|
renderMode?: 'normal' | 'native';
|
|
601
558
|
showsUserHeadingIndicator?: boolean;
|
|
602
559
|
visible?: boolean;
|
|
@@ -734,12 +691,6 @@ export interface HeatmapLayerProps extends LayerBaseProps {
|
|
|
734
691
|
style?: StyleProp<HeatmapLayerStyle>;
|
|
735
692
|
}
|
|
736
693
|
|
|
737
|
-
export interface ImagesProps extends ViewProps {
|
|
738
|
-
images?: { assets?: string[] } & { [key: string]: ImageSourcePropType };
|
|
739
|
-
nativeAssetImages?: string[];
|
|
740
|
-
onImageMissing?: (imageKey: string) => void;
|
|
741
|
-
}
|
|
742
|
-
|
|
743
694
|
export interface ImageSourceProps extends ViewProps {
|
|
744
695
|
id: string;
|
|
745
696
|
url?: number | string;
|
|
@@ -828,6 +779,7 @@ export import AnimatedPoint = MapboxGL.AnimatedPoint;
|
|
|
828
779
|
/** @deprecated This will be removed in a future release. Use `AnimatedPoint` instead. */
|
|
829
780
|
export import AnimatedMapPoint = MapboxGL.AnimatedPoint;
|
|
830
781
|
export import AnimatedShape = MapboxGL.AnimatedShape;
|
|
782
|
+
export import Images = MapboxGL.Images;
|
|
831
783
|
|
|
832
784
|
export const { offlineManager } = MapboxGL;
|
|
833
785
|
|
|
@@ -55,6 +55,7 @@ class MGLModule : NSObject {
|
|
|
55
55
|
"WillStartLoadingMap": RCTMGLEvent.EventType.willStartLoadingMap.rawValue,
|
|
56
56
|
"DidFinishLoadingStyle": RCTMGLEvent.EventType.didFinishLoadingStyle.rawValue,
|
|
57
57
|
"DidFinishLoadingMap": RCTMGLEvent.EventType.didFinishLoadingMap.rawValue,
|
|
58
|
+
"MapLoadingError": RCTMGLEvent.EventType.mapLoadingError.rawValue,
|
|
58
59
|
"DidFinishRenderingFrameFully": RCTMGLEvent.EventType.didFinishRenderingFully.rawValue,
|
|
59
60
|
"DidFinishRenderingFrame": RCTMGLEvent.EventType.didFinishRendering.rawValue,
|
|
60
61
|
],
|
|
@@ -56,6 +56,7 @@ class RCTMGLAtmosphere : RCTMGLSingletonLayer, RCTMGLMapComponent, RCTMGLSourceC
|
|
|
56
56
|
styler.atmosphereLayer(
|
|
57
57
|
layer: &atmosphere,
|
|
58
58
|
reactStyle: reactStyle,
|
|
59
|
+
oldReactStyle: oldReactStyle,
|
|
59
60
|
applyUpdater: { (updater) in fatalError("Atmosphere: TODO - implement apply updater")},
|
|
60
61
|
isValid: { fatalError("Atmosphere: TODO - no isValid") }
|
|
61
62
|
)
|
|
@@ -33,6 +33,7 @@ class RCTMGLBackgroundLayer: RCTMGLLayer {
|
|
|
33
33
|
styler.backgroundLayer(
|
|
34
34
|
layer: &styleLayer,
|
|
35
35
|
reactStyle: reactStyle,
|
|
36
|
+
oldReactStyle: oldReatStyle,
|
|
36
37
|
applyUpdater: { (updater) in logged("RCTMGLBackgroundLayer.addStyles") {
|
|
37
38
|
try style.updateLayer(withId: self.id, type: LayerType.self) { (layer: inout LayerType) in updater(&layer) }
|
|
38
39
|
}},
|