@rnmapbox/maps 10.0.0-beta.70 → 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/camera/RCTMGLCamera.kt +68 -29
- 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/UserTrackingMode.kt +42 -0
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/mapview/RCTMGLMapView.kt +49 -13
- 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/index.d.ts +14 -62
- package/ios/RCTMGL-v10/RCTMGLCamera.swift +52 -26
- package/ios/RCTMGL-v10/RCTMGLCameraManager.m +5 -2
- package/ios/RCTMGL-v10/RCTMGLImages.swift +54 -8
- package/ios/install.md +1 -1
- package/javascript/components/Camera.tsx +7 -3
- package/javascript/components/Images.tsx +133 -0
- package/javascript/modules/location/{locationManager.js → locationManager.ts} +91 -18
- 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 +227 -230
- 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 +68 -70
- 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/modules/location/locationManager.js +21 -10
- 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/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 +227 -230
- 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 +68 -70
- 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 +22 -10
- 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/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/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
|
@@ -130,7 +130,7 @@ dependencies {
|
|
|
130
130
|
implementation 'com.mapbox.mapboxsdk:mapbox-sdk-turf:5.1.0'
|
|
131
131
|
}
|
|
132
132
|
else if (safeExtGet("RNMapboxMapsImpl", defaultMapboxMapsImpl) == "mapbox") {
|
|
133
|
-
implementation 'com.mapbox.maps:android:10.11.
|
|
133
|
+
implementation 'com.mapbox.maps:android:10.11.1'
|
|
134
134
|
implementation 'com.mapbox.mapboxsdk:mapbox-sdk-turf:6.10.0'
|
|
135
135
|
implementation 'androidx.asynclayoutinflater:asynclayoutinflater:1.0.0'
|
|
136
136
|
}
|
package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/camera/RCTMGLCamera.kt
CHANGED
|
@@ -3,6 +3,7 @@ package com.mapbox.rctmgl.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.ReadableMap
|
|
6
7
|
import com.mapbox.maps.plugin.gestures.gestures
|
|
7
8
|
import com.mapbox.rctmgl.location.LocationManager.Companion.getInstance
|
|
8
9
|
import com.mapbox.maps.plugin.animation.flyTo
|
|
@@ -18,16 +19,19 @@ import com.mapbox.maps.*
|
|
|
18
19
|
import com.mapbox.maps.plugin.PuckBearingSource
|
|
19
20
|
import com.mapbox.maps.plugin.locationcomponent.location
|
|
20
21
|
import com.mapbox.maps.plugin.locationcomponent.location2
|
|
22
|
+
import com.mapbox.maps.plugin.viewport.ViewportStatus
|
|
23
|
+
import com.mapbox.maps.plugin.viewport.ViewportStatusObserver
|
|
21
24
|
import com.mapbox.maps.plugin.viewport.data.FollowPuckViewportStateBearing
|
|
22
25
|
import com.mapbox.maps.plugin.viewport.data.FollowPuckViewportStateOptions
|
|
26
|
+
import com.mapbox.maps.plugin.viewport.data.ViewportStatusChangeReason
|
|
23
27
|
import com.mapbox.maps.plugin.viewport.viewport
|
|
24
28
|
import com.mapbox.rctmgl.components.camera.constants.CameraMode
|
|
25
29
|
import com.mapbox.rctmgl.components.location.*
|
|
30
|
+
import com.mapbox.rctmgl.events.MapUserTrackingModeEvent
|
|
26
31
|
import com.mapbox.rctmgl.location.*
|
|
27
32
|
import com.mapbox.rctmgl.utils.Logger
|
|
28
33
|
|
|
29
34
|
|
|
30
|
-
|
|
31
35
|
class RCTMGLCamera(private val mContext: Context, private val mManager: RCTMGLCameraManager) :
|
|
32
36
|
AbstractMapFeature(
|
|
33
37
|
mContext
|
|
@@ -43,21 +47,24 @@ class RCTMGLCamera(private val mContext: Context, private val mManager: RCTMGLCa
|
|
|
43
47
|
private var mLocationComponentManager: LocationComponentManager? = null
|
|
44
48
|
private var mUserTrackingMode = 0
|
|
45
49
|
private var mUserTrackingState = UserTrackingState.POSSIBLE
|
|
46
|
-
private val mUserLocationVerticalAlignment = UserLocationVerticalAlignment.CENTER
|
|
47
50
|
private val mLocationManager: LocationManager?
|
|
48
51
|
private val mUserLocation: UserLocation = UserLocation()
|
|
49
52
|
private val mCenterCoordinate: ScreenCoordinate? = null
|
|
50
53
|
private val mAnimated = false
|
|
51
54
|
private val mHeading = 0.0
|
|
52
|
-
|
|
55
|
+
|
|
56
|
+
private var mFollowUserLocation = false
|
|
57
|
+
private var mFollowUserMode: String? = null
|
|
53
58
|
private var mFollowZoomLevel : Double? = null
|
|
59
|
+
private var mFollowPitch : Double? = null
|
|
54
60
|
private var mFollowHeading : Double? = null
|
|
61
|
+
private var mFollowPadding : EdgeInsets? = null
|
|
62
|
+
|
|
55
63
|
private var mZoomLevel = -1.0
|
|
56
64
|
private var mMinZoomLevel : Double? = null
|
|
57
65
|
private var mMaxZoomLevel : Double? = null
|
|
58
66
|
private var mMaxBounds: LatLngBounds? = null
|
|
59
|
-
|
|
60
|
-
private var mFollowUserMode: String? = null
|
|
67
|
+
|
|
61
68
|
|
|
62
69
|
private val mLocationBearingChangedListener = OnIndicatorBearingChangedListener { v ->
|
|
63
70
|
if (mFollowUserLocation) {
|
|
@@ -94,7 +101,8 @@ class RCTMGLCamera(private val mContext: Context, private val mManager: RCTMGLCa
|
|
|
94
101
|
setInitialCamera()
|
|
95
102
|
updateMaxBounds()
|
|
96
103
|
mCameraStop?.let { updateCamera(it) }
|
|
97
|
-
|
|
104
|
+
_observeViewportState(mapView)
|
|
105
|
+
_updateViewportState()
|
|
98
106
|
}
|
|
99
107
|
|
|
100
108
|
override fun removeFromMap(mapView: RCTMGLMapView) {
|
|
@@ -112,9 +120,14 @@ class RCTMGLCamera(private val mContext: Context, private val mManager: RCTMGLCa
|
|
|
112
120
|
mDefaultStop = stop
|
|
113
121
|
}
|
|
114
122
|
|
|
115
|
-
fun
|
|
116
|
-
|
|
117
|
-
_updateViewportState()
|
|
123
|
+
fun setFollowUserMode(mode: String?) {
|
|
124
|
+
mFollowUserMode = mode
|
|
125
|
+
_updateViewportState()
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
fun setFollowUserLocation(value: Boolean) {
|
|
129
|
+
mFollowUserLocation = value
|
|
130
|
+
_updateViewportState()
|
|
118
131
|
}
|
|
119
132
|
|
|
120
133
|
fun setFollowZoomLevel(zoomLevel: Double) {
|
|
@@ -122,11 +135,30 @@ class RCTMGLCamera(private val mContext: Context, private val mManager: RCTMGLCa
|
|
|
122
135
|
_updateViewportState();
|
|
123
136
|
}
|
|
124
137
|
|
|
138
|
+
fun setFollowPitch(pitch: Double) {
|
|
139
|
+
mFollowPitch = pitch
|
|
140
|
+
_updateViewportState();
|
|
141
|
+
}
|
|
142
|
+
|
|
125
143
|
fun setFollowHeading(heading: Double) {
|
|
126
144
|
mFollowHeading = heading
|
|
127
145
|
_updateViewportState();
|
|
128
146
|
}
|
|
129
147
|
|
|
148
|
+
fun setFollowPadding(padding: ReadableMap) {
|
|
149
|
+
// scale padding by pixel ratio
|
|
150
|
+
val metrics = context.resources.displayMetrics
|
|
151
|
+
val edgeInsets = EdgeInsets(
|
|
152
|
+
if (padding.hasKey("paddingTop")) padding.getDouble("paddingTop") * metrics.density else 0.0,
|
|
153
|
+
if (padding.hasKey("paddingLeft")) padding.getDouble("paddingLeft") * metrics.density else 0.0,
|
|
154
|
+
if (padding.hasKey("paddingBottom")) padding.getDouble("paddingBottom") * metrics.density else 0.0,
|
|
155
|
+
if (padding.hasKey("paddingRight")) padding.getDouble("paddingRight") * metrics.density else 0.0,
|
|
156
|
+
)
|
|
157
|
+
|
|
158
|
+
mFollowPadding = edgeInsets
|
|
159
|
+
_updateViewportState();
|
|
160
|
+
}
|
|
161
|
+
|
|
130
162
|
fun setMaxBounds(bounds: LatLngBounds?) {
|
|
131
163
|
mMaxBounds = bounds
|
|
132
164
|
updateMaxBounds()
|
|
@@ -163,14 +195,6 @@ class RCTMGLCamera(private val mContext: Context, private val mManager: RCTMGLCa
|
|
|
163
195
|
mCameraUpdateQueue.execute(mMapView)
|
|
164
196
|
}
|
|
165
197
|
|
|
166
|
-
private fun updateUserTrackingMode(userTrackingMode: Int) {
|
|
167
|
-
/* v10todo
|
|
168
|
-
mUserLocation.setTrackingMode(userTrackingMode);
|
|
169
|
-
IEvent event = new MapUserTrackingModeEvent(this, userTrackingMode);
|
|
170
|
-
mManager.handleEvent(event);
|
|
171
|
-
*/
|
|
172
|
-
}
|
|
173
|
-
|
|
174
198
|
private fun updateUserLocation(isAnimated: Boolean) {
|
|
175
199
|
|
|
176
200
|
}
|
|
@@ -250,7 +274,7 @@ class RCTMGLCamera(private val mContext: Context, private val mManager: RCTMGLCa
|
|
|
250
274
|
fun setUserTrackingMode(userTrackingMode: Int) {
|
|
251
275
|
val oldTrackingMode = mUserTrackingMode
|
|
252
276
|
mUserTrackingMode = userTrackingMode
|
|
253
|
-
|
|
277
|
+
mManager.handleEvent(MapUserTrackingModeEvent(this@RCTMGLCamera, userTrackingMode))
|
|
254
278
|
when (mUserTrackingMode) {
|
|
255
279
|
UserTrackingMode.NONE -> mUserTrackingState = UserTrackingState.POSSIBLE
|
|
256
280
|
UserTrackingMode.FOLLOW, UserTrackingMode.FollowWithCourse, UserTrackingMode.FollowWithHeading -> if (oldTrackingMode == UserTrackingMode.NONE) {
|
|
@@ -262,9 +286,22 @@ class RCTMGLCamera(private val mContext: Context, private val mManager: RCTMGLCa
|
|
|
262
286
|
}
|
|
263
287
|
}
|
|
264
288
|
|
|
265
|
-
fun
|
|
266
|
-
|
|
267
|
-
|
|
289
|
+
fun _observeViewportState(mapView: MapView) {
|
|
290
|
+
mapView.viewport.addStatusObserver(object: ViewportStatusObserver {
|
|
291
|
+
override fun onViewportStatusChanged(
|
|
292
|
+
from: ViewportStatus,
|
|
293
|
+
to: ViewportStatus,
|
|
294
|
+
reason: ViewportStatusChangeReason
|
|
295
|
+
) {
|
|
296
|
+
if (to == ViewportStatus.Idle) {
|
|
297
|
+
mManager.handleEvent(MapUserTrackingModeEvent(this@RCTMGLCamera, UserTrackingMode.NONE))
|
|
298
|
+
} else if (to is ViewportStatus.Transition) {
|
|
299
|
+
|
|
300
|
+
} else if (to is ViewportStatus.State){
|
|
301
|
+
//mManager.handleEvent(MapUserTrackingModeEvent(this@RCTMGLCamera, UserTrackingMode.FOLLOW))
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
})
|
|
268
305
|
}
|
|
269
306
|
|
|
270
307
|
fun _updateViewportState() {
|
|
@@ -320,15 +357,22 @@ class RCTMGLCamera(private val mContext: Context, private val mManager: RCTMGLCa
|
|
|
320
357
|
}
|
|
321
358
|
}
|
|
322
359
|
|
|
360
|
+
when(val it=mFollowZoomLevel) {
|
|
361
|
+
null -> followOptions.zoom(cameraState.zoom)
|
|
362
|
+
else -> followOptions.zoom(it)
|
|
363
|
+
}
|
|
364
|
+
|
|
323
365
|
when(val it=mFollowPitch) {
|
|
324
366
|
null -> followOptions.pitch(cameraState.pitch)
|
|
325
367
|
else -> followOptions.pitch(it)
|
|
326
368
|
}
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
369
|
+
|
|
370
|
+
when(val it=mFollowPadding) {
|
|
371
|
+
null -> followOptions.padding(cameraState.padding)
|
|
372
|
+
else -> followOptions.padding(it)
|
|
330
373
|
}
|
|
331
374
|
|
|
375
|
+
|
|
332
376
|
val followState = viewport.makeFollowPuckViewportState(followOptions.build())
|
|
333
377
|
viewport.transitionTo(followState)
|
|
334
378
|
}
|
|
@@ -339,11 +383,6 @@ class RCTMGLCamera(private val mContext: Context, private val mManager: RCTMGLCa
|
|
|
339
383
|
}
|
|
340
384
|
}
|
|
341
385
|
|
|
342
|
-
fun setFollowUserMode(mode: String?) {
|
|
343
|
-
mFollowUserMode = mode
|
|
344
|
-
_updateViewportState()
|
|
345
|
-
}
|
|
346
|
-
|
|
347
386
|
private fun updatedFollowUserMode() {
|
|
348
387
|
if (mFollowUserLocation) {
|
|
349
388
|
setUserTrackingMode(UserTrackingMode.fromString(mFollowUserMode))
|
package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/camera/RCTMGLCameraManager.kt
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
package com.mapbox.rctmgl.components.camera
|
|
2
|
-
|
|
3
2
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
4
3
|
import com.facebook.react.bridge.ReadableMap
|
|
5
4
|
import com.facebook.react.uimanager.ThemedReactContext
|
|
@@ -10,7 +9,6 @@ import com.mapbox.rctmgl.components.camera.CameraStop.Companion.fromReadableMap
|
|
|
10
9
|
import com.mapbox.rctmgl.utils.GeoJSONUtils.toLatLngBounds
|
|
11
10
|
|
|
12
11
|
|
|
13
|
-
//import com.mapbox.rctmgl.utils.GeoJSONUtils;
|
|
14
12
|
class RCTMGLCameraManager(private val mContext: ReactApplicationContext) :
|
|
15
13
|
AbstractEventEmitter<RCTMGLCamera?>(
|
|
16
14
|
mContext
|
|
@@ -54,6 +52,16 @@ class RCTMGLCameraManager(private val mContext: ReactApplicationContext) :
|
|
|
54
52
|
camera.setZoomLevel(zoomLevel)
|
|
55
53
|
}
|
|
56
54
|
|
|
55
|
+
@ReactProp(name = "minZoomLevel")
|
|
56
|
+
fun setMinZoomLevel(camera: RCTMGLCamera, value: Double) {
|
|
57
|
+
camera.setMinZoomLevel(value)
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
@ReactProp(name = "maxZoomLevel")
|
|
61
|
+
fun setMaxZoomLevel(camera: RCTMGLCamera, value: Double) {
|
|
62
|
+
camera.setMaxZoomLevel(value)
|
|
63
|
+
}
|
|
64
|
+
|
|
57
65
|
@ReactProp(name = "followUserLocation")
|
|
58
66
|
fun setFollowUserLocation(camera: RCTMGLCamera, value: Boolean) {
|
|
59
67
|
camera.setFollowUserLocation(value)
|
|
@@ -64,14 +72,9 @@ class RCTMGLCameraManager(private val mContext: ReactApplicationContext) :
|
|
|
64
72
|
camera.setFollowUserMode(value)
|
|
65
73
|
}
|
|
66
74
|
|
|
67
|
-
@ReactProp(name = "
|
|
68
|
-
fun
|
|
69
|
-
camera.
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
@ReactProp(name = "maxZoomLevel")
|
|
73
|
-
fun setMaxZoomLevel(camera: RCTMGLCamera, value: Double) {
|
|
74
|
-
camera.setMaxZoomLevel(value)
|
|
75
|
+
@ReactProp(name = "followZoomLevel")
|
|
76
|
+
fun setFollowZoomLevel(camera: RCTMGLCamera, value: Double) {
|
|
77
|
+
camera.setFollowZoomLevel(value)
|
|
75
78
|
}
|
|
76
79
|
|
|
77
80
|
@ReactProp(name = "followPitch")
|
|
@@ -84,9 +87,9 @@ class RCTMGLCameraManager(private val mContext: ReactApplicationContext) :
|
|
|
84
87
|
camera.setFollowHeading(value)
|
|
85
88
|
}
|
|
86
89
|
|
|
87
|
-
@ReactProp(name = "
|
|
88
|
-
fun
|
|
89
|
-
camera.
|
|
90
|
+
@ReactProp(name = "followPadding")
|
|
91
|
+
fun setFollowPadding(camera: RCTMGLCamera, value: ReadableMap) {
|
|
92
|
+
camera.setFollowPadding(value)
|
|
90
93
|
}
|
|
91
94
|
|
|
92
95
|
@ReactProp(name = "maxBounds")
|
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
|
|
@@ -28,7 +30,6 @@ import com.mapbox.maps.extension.style.layers.properties.generated.ProjectionNam
|
|
|
28
30
|
import com.mapbox.maps.extension.style.layers.properties.generated.Visibility
|
|
29
31
|
import com.mapbox.maps.extension.style.projection.generated.Projection
|
|
30
32
|
import com.mapbox.maps.extension.style.projection.generated.setProjection
|
|
31
|
-
import com.mapbox.maps.plugin.animation.camera
|
|
32
33
|
import com.mapbox.maps.plugin.annotation.Annotation
|
|
33
34
|
import com.mapbox.maps.plugin.annotation.AnnotationConfig
|
|
34
35
|
import com.mapbox.maps.plugin.annotation.annotations
|
|
@@ -39,13 +40,10 @@ import com.mapbox.maps.plugin.compass.compass
|
|
|
39
40
|
import com.mapbox.maps.plugin.compass.generated.CompassSettings
|
|
40
41
|
import com.mapbox.maps.plugin.delegates.listeners.*
|
|
41
42
|
import com.mapbox.maps.plugin.gestures.*
|
|
42
|
-
import com.mapbox.maps.plugin.locationcomponent.location
|
|
43
|
-
import com.mapbox.maps.plugin.locationcomponent.location2
|
|
44
43
|
import com.mapbox.maps.plugin.logo.generated.LogoSettings
|
|
45
44
|
import com.mapbox.maps.plugin.logo.logo
|
|
46
45
|
import com.mapbox.maps.plugin.scalebar.generated.ScaleBarSettings
|
|
47
46
|
import com.mapbox.maps.plugin.scalebar.scalebar
|
|
48
|
-
import com.mapbox.maps.plugin.viewport.viewport
|
|
49
47
|
import com.mapbox.rctmgl.R
|
|
50
48
|
import com.mapbox.rctmgl.components.AbstractMapFeature
|
|
51
49
|
import com.mapbox.rctmgl.components.annotation.RCTMGLMarkerView
|
|
@@ -55,6 +53,7 @@ import com.mapbox.rctmgl.components.camera.RCTMGLCamera
|
|
|
55
53
|
import com.mapbox.rctmgl.components.images.RCTMGLImages
|
|
56
54
|
import com.mapbox.rctmgl.components.location.LocationComponentManager
|
|
57
55
|
import com.mapbox.rctmgl.components.location.RCTMGLNativeUserLocation
|
|
56
|
+
import com.mapbox.rctmgl.components.mapview.helpers.CameraChangeReason
|
|
58
57
|
import com.mapbox.rctmgl.components.mapview.helpers.CameraChangeTracker
|
|
59
58
|
import com.mapbox.rctmgl.components.styles.layers.RCTLayer
|
|
60
59
|
import com.mapbox.rctmgl.components.styles.light.RCTMGLLight
|
|
@@ -81,6 +80,10 @@ data class OrnamentSettings(
|
|
|
81
80
|
var position: Int = -1
|
|
82
81
|
)
|
|
83
82
|
|
|
83
|
+
enum class MapGestureType {
|
|
84
|
+
Move,Scale,Rotate
|
|
85
|
+
}
|
|
86
|
+
|
|
84
87
|
/***
|
|
85
88
|
* Mapbox's MapView observers lifecycle events see MapboxLifecyclePluginImpl - (ON_START, ON_STOP, ON_DESTROY)
|
|
86
89
|
* We need to emulate those.
|
|
@@ -258,25 +261,58 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
|
|
|
258
261
|
gesturesPlugin.addOnMapLongClickListener(_this)
|
|
259
262
|
gesturesPlugin.addOnMapClickListener(_this)
|
|
260
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
|
+
|
|
261
288
|
gesturesPlugin.addOnMoveListener(object : OnMoveListener {
|
|
262
289
|
override fun onMoveBegin(moveGestureDetector: MoveGestureDetector) {
|
|
263
|
-
|
|
264
|
-
handleMapChangedEvent(EventTypes.REGION_WILL_CHANGE)
|
|
290
|
+
mapGestureBegin(MapGestureType.Move, moveGestureDetector)
|
|
265
291
|
}
|
|
266
292
|
|
|
267
293
|
override fun onMove(moveGestureDetector: MoveGestureDetector): Boolean {
|
|
268
|
-
|
|
269
|
-
handleMapChangedEvent(EventTypes.REGION_IS_CHANGING)
|
|
270
|
-
return false
|
|
294
|
+
return mapGesture(MapGestureType.Move, moveGestureDetector)
|
|
271
295
|
}
|
|
272
296
|
|
|
273
|
-
override fun onMoveEnd(moveGestureDetector: MoveGestureDetector) {
|
|
297
|
+
override fun onMoveEnd(moveGestureDetector: MoveGestureDetector) {
|
|
298
|
+
mapGestureEnd(MapGestureType.Move, moveGestureDetector)
|
|
299
|
+
}
|
|
274
300
|
})
|
|
275
301
|
|
|
276
|
-
|
|
277
302
|
map.subscribe({ event -> Logger.e(LOG_TAG, String.format("Map load failed: %s", event.data.toString())) }, Arrays.asList(MapEvents.MAP_LOADING_ERROR))
|
|
278
303
|
}
|
|
279
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
|
+
|
|
280
316
|
fun init() {
|
|
281
317
|
// Required for rendering properly in Android Oreo
|
|
282
318
|
viewTreeObserver.dispatchOnGlobalLayout()
|
|
@@ -382,7 +418,7 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
|
|
|
382
418
|
val event: IEvent = MapChangeEvent(this, EventTypes.REGION_DID_CHANGE,
|
|
383
419
|
makeRegionPayload(isAnimated))
|
|
384
420
|
mManager.handleEvent(event)
|
|
385
|
-
mCameraChangeTracker.setReason(
|
|
421
|
+
mCameraChangeTracker.setReason(CameraChangeReason.NONE)
|
|
386
422
|
}
|
|
387
423
|
|
|
388
424
|
private fun removeAllFeaturesFromMap() {
|
|
@@ -665,7 +701,7 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
|
|
|
665
701
|
|
|
666
702
|
fun sendRegionDidChangeEvent() {
|
|
667
703
|
handleMapChangedEvent(EventTypes.REGION_DID_CHANGE)
|
|
668
|
-
mCameraChangeTracker.setReason(
|
|
704
|
+
mCameraChangeTracker.setReason(CameraChangeReason.NONE)
|
|
669
705
|
}
|
|
670
706
|
|
|
671
707
|
private fun handleMapChangedEvent(eventType: String) {
|
|
@@ -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
|
+
}
|
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
|
|