@rnmapbox/maps 10.0.0-beta.77 → 10.0.0-beta.78
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/src/main/java-v10/com/mapbox/rctmgl/components/AbstractMapFeature.kt +10 -1
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/annotation/RCTMGLMarkerView.kt +4 -2
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/annotation/RCTMGLPointAnnotation.kt +4 -3
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/camera/CameraUpdateQueue.kt +1 -3
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/camera/RCTMGLCamera.kt +17 -22
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/images/RCTMGLImages.kt +3 -2
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/location/RCTMGLNativeUserLocation.kt +3 -2
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/mapview/RCTMGLMapView.kt +82 -75
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/mapview/RCTMGLMapViewManager.kt +8 -6
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/atmosphere/RCTMGLAtmosphere.kt +3 -2
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTLayer.kt +6 -5
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/light/RCTMGLLight.kt +4 -1
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTSource.kt +10 -6
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/terrain/RCTMGLTerrain.kt +3 -2
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/modules/RCTMGLOfflineModule.kt +4 -4
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/utils/GeoJSONUtils.kt +52 -44
- package/ios/RCTMGL-v10/RCTMGLMapView.swift +13 -0
- package/ios/RCTMGL-v10/RCTMGLMapViewManager.m +1 -0
- package/lib/commonjs/MGLModule.js.map +1 -1
- package/lib/commonjs/Mapbox.js +5 -5
- package/lib/commonjs/Mapbox.js.map +1 -1
- package/lib/commonjs/classes/AnimatedCoordinatesArray.js.map +1 -1
- 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.map +1 -1
- package/lib/commonjs/components/AbstractSource.js.map +1 -1
- package/lib/commonjs/components/Annotation.js.map +1 -1
- package/lib/commonjs/components/Atmosphere.js.map +1 -1
- package/lib/commonjs/components/BackgroundLayer.js.map +1 -1
- package/lib/commonjs/components/Callout.js.map +1 -1
- package/lib/commonjs/components/Camera.js +4 -4
- package/lib/commonjs/components/Camera.js.map +1 -1
- package/lib/commonjs/components/CircleLayer.js.map +1 -1
- package/lib/commonjs/components/FillExtrusionLayer.js.map +1 -1
- package/lib/commonjs/components/FillLayer.js.map +1 -1
- package/lib/commonjs/components/HeadingIndicator.js.map +1 -1
- package/lib/commonjs/components/HeatmapLayer.js.map +1 -1
- package/lib/commonjs/components/Image.js.map +1 -1
- package/lib/commonjs/components/ImageSource.js.map +1 -1
- package/lib/commonjs/components/Images.js.map +1 -1
- package/lib/commonjs/components/Light.js.map +1 -1
- package/lib/commonjs/components/LineLayer.js.map +1 -1
- package/lib/commonjs/components/MapView.js +12 -1
- package/lib/commonjs/components/MapView.js.map +1 -1
- package/lib/commonjs/components/MarkerView.js.map +1 -1
- package/lib/commonjs/components/NativeBridgeComponent.js.map +1 -1
- package/lib/commonjs/components/NativeUserLocation.js.map +1 -1
- package/lib/commonjs/components/PointAnnotation.js.map +1 -1
- package/lib/commonjs/components/RasterDemSource.js.map +1 -1
- package/lib/commonjs/components/RasterLayer.js.map +1 -1
- package/lib/commonjs/components/RasterSource.js.map +1 -1
- package/lib/commonjs/components/ShapeSource.js.map +1 -1
- package/lib/commonjs/components/SkyLayer.js.map +1 -1
- package/lib/commonjs/components/Style.js.map +1 -1
- package/lib/commonjs/components/SymbolLayer.js.map +1 -1
- package/lib/commonjs/components/Terrain.js.map +1 -1
- package/lib/commonjs/components/UserLocation.js +4 -4
- package/lib/commonjs/components/UserLocation.js.map +1 -1
- package/lib/commonjs/components/VectorSource.js.map +1 -1
- package/lib/commonjs/global.d.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.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/BaseProps.js.map +1 -1
- package/lib/commonjs/types/OnPressEvent.js.map +1 -1
- package/lib/commonjs/types/Position.js.map +1 -1
- package/lib/commonjs/types/index.js.map +1 -1
- package/lib/commonjs/utils/BridgeValue.js.map +1 -1
- package/lib/commonjs/utils/Logger.js.map +1 -1
- package/lib/commonjs/utils/MapboxStyles.d.js +84 -84
- 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.js.map +1 -1
- package/lib/commonjs/utils/getAnnotationsLayerID.js.map +1 -1
- package/lib/commonjs/utils/index.js.map +1 -1
- package/lib/commonjs/utils/nativeRef.js.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/lib/module/MGLModule.js.map +1 -1
- package/lib/module/Mapbox.js +5 -5
- package/lib/module/Mapbox.js.map +1 -1
- package/lib/module/classes/AnimatedCoordinatesArray.js.map +1 -1
- 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.map +1 -1
- package/lib/module/components/AbstractSource.js.map +1 -1
- package/lib/module/components/Annotation.js.map +1 -1
- package/lib/module/components/Atmosphere.js.map +1 -1
- package/lib/module/components/BackgroundLayer.js.map +1 -1
- package/lib/module/components/Callout.js.map +1 -1
- package/lib/module/components/Camera.js +3 -3
- package/lib/module/components/Camera.js.map +1 -1
- package/lib/module/components/CircleLayer.js.map +1 -1
- package/lib/module/components/FillExtrusionLayer.js.map +1 -1
- package/lib/module/components/FillLayer.js.map +1 -1
- package/lib/module/components/HeadingIndicator.js.map +1 -1
- package/lib/module/components/HeatmapLayer.js.map +1 -1
- package/lib/module/components/Image.js.map +1 -1
- package/lib/module/components/ImageSource.js.map +1 -1
- package/lib/module/components/Images.js.map +1 -1
- package/lib/module/components/Light.js.map +1 -1
- package/lib/module/components/LineLayer.js.map +1 -1
- package/lib/module/components/MapView.js +12 -1
- package/lib/module/components/MapView.js.map +1 -1
- package/lib/module/components/MarkerView.js.map +1 -1
- package/lib/module/components/NativeBridgeComponent.js.map +1 -1
- package/lib/module/components/NativeUserLocation.js.map +1 -1
- package/lib/module/components/PointAnnotation.js.map +1 -1
- package/lib/module/components/RasterDemSource.js.map +1 -1
- package/lib/module/components/RasterLayer.js.map +1 -1
- package/lib/module/components/RasterSource.js.map +1 -1
- package/lib/module/components/ShapeSource.js.map +1 -1
- package/lib/module/components/SkyLayer.js.map +1 -1
- package/lib/module/components/Style.js.map +1 -1
- package/lib/module/components/SymbolLayer.js.map +1 -1
- package/lib/module/components/Terrain.js.map +1 -1
- package/lib/module/components/UserLocation.js +3 -3
- package/lib/module/components/UserLocation.js.map +1 -1
- package/lib/module/components/VectorSource.js.map +1 -1
- package/lib/module/global.d.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js.map +1 -1
- 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/BaseProps.js.map +1 -1
- package/lib/module/types/OnPressEvent.js.map +1 -1
- package/lib/module/types/Position.js.map +1 -1
- package/lib/module/types/index.js.map +1 -1
- package/lib/module/utils/BridgeValue.js.map +1 -1
- package/lib/module/utils/Logger.js.map +1 -1
- package/lib/module/utils/MapboxStyles.d.js +84 -84
- 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.js.map +1 -1
- package/lib/module/utils/getAnnotationsLayerID.js.map +1 -1
- package/lib/module/utils/index.js.map +1 -1
- package/lib/module/utils/nativeRef.js.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/lib/typescript/MGLModule.d.ts.map +1 -1
- package/lib/typescript/Mapbox.d.ts.map +1 -1
- package/lib/typescript/components/AbstractLayer.d.ts.map +1 -1
- package/lib/typescript/components/AbstractSource.d.ts.map +1 -1
- package/lib/typescript/components/Annotation.d.ts.map +1 -1
- package/lib/typescript/components/Atmosphere.d.ts.map +1 -1
- package/lib/typescript/components/BackgroundLayer.d.ts.map +1 -1
- package/lib/typescript/components/Callout.d.ts.map +1 -1
- package/lib/typescript/components/Camera.d.ts +2 -1
- package/lib/typescript/components/Camera.d.ts.map +1 -1
- package/lib/typescript/components/CircleLayer.d.ts.map +1 -1
- package/lib/typescript/components/FillExtrusionLayer.d.ts.map +1 -1
- package/lib/typescript/components/FillLayer.d.ts.map +1 -1
- package/lib/typescript/components/HeadingIndicator.d.ts.map +1 -1
- package/lib/typescript/components/HeatmapLayer.d.ts.map +1 -1
- package/lib/typescript/components/Image.d.ts.map +1 -1
- package/lib/typescript/components/ImageSource.d.ts.map +1 -1
- package/lib/typescript/components/Images.d.ts.map +1 -1
- package/lib/typescript/components/Light.d.ts.map +1 -1
- package/lib/typescript/components/LineLayer.d.ts.map +1 -1
- package/lib/typescript/components/MapView.d.ts +15 -5
- package/lib/typescript/components/MapView.d.ts.map +1 -1
- package/lib/typescript/components/MarkerView.d.ts.map +1 -1
- package/lib/typescript/components/NativeBridgeComponent.d.ts.map +1 -1
- package/lib/typescript/components/NativeUserLocation.d.ts.map +1 -1
- package/lib/typescript/components/PointAnnotation.d.ts.map +1 -1
- package/lib/typescript/components/RasterDemSource.d.ts.map +1 -1
- package/lib/typescript/components/RasterLayer.d.ts.map +1 -1
- package/lib/typescript/components/RasterSource.d.ts.map +1 -1
- package/lib/typescript/components/ShapeSource.d.ts.map +1 -1
- package/lib/typescript/components/SkyLayer.d.ts.map +1 -1
- package/lib/typescript/components/Style.d.ts.map +1 -1
- package/lib/typescript/components/SymbolLayer.d.ts.map +1 -1
- package/lib/typescript/components/Terrain.d.ts.map +1 -1
- package/lib/typescript/components/UserLocation.d.ts +1 -1
- package/lib/typescript/components/UserLocation.d.ts.map +1 -1
- package/lib/typescript/components/VectorSource.d.ts.map +1 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/modules/location/locationManager.d.ts.map +1 -1
- package/lib/typescript/modules/offline/OfflineCreatePackOptions.d.ts.map +1 -1
- package/lib/typescript/modules/offline/OfflinePack.d.ts.map +1 -1
- package/lib/typescript/modules/offline/offlineManager.d.ts.map +1 -1
- package/lib/typescript/modules/snapshot/SnapshotOptions.d.ts.map +1 -1
- package/lib/typescript/modules/snapshot/snapshotManager.d.ts.map +1 -1
- package/lib/typescript/requestAndroidLocationPermissions.d.ts.map +1 -1
- package/lib/typescript/types/BaseProps.d.ts.map +1 -1
- package/lib/typescript/types/OnPressEvent.d.ts.map +1 -1
- package/lib/typescript/types/Position.d.ts.map +1 -1
- package/lib/typescript/types/index.d.ts.map +1 -1
- package/lib/typescript/utils/BridgeValue.d.ts.map +1 -1
- package/lib/typescript/utils/Logger.d.ts.map +1 -1
- package/lib/typescript/utils/StyleValue.d.ts.map +1 -1
- package/lib/typescript/utils/animated/Animated.d.ts.map +1 -1
- package/lib/typescript/utils/deprecation.d.ts.map +1 -1
- package/lib/typescript/utils/filterUtils.d.ts.map +1 -1
- package/lib/typescript/utils/geoUtils.d.ts.map +1 -1
- package/lib/typescript/utils/getAnnotationsLayerID.d.ts.map +1 -1
- package/lib/typescript/utils/index.d.ts.map +1 -1
- package/lib/typescript/utils/nativeRef.d.ts.map +1 -1
- package/lib/typescript/utils/styleMap.d.ts.map +1 -1
- package/lib/typescript/web/MapContext.d.ts.map +1 -1
- package/lib/typescript/web/components/Camera.d.ts.map +1 -1
- package/lib/typescript/web/components/MapView.d.ts.map +1 -1
- package/lib/typescript/web/utils/Logger.d.ts.map +1 -1
- package/package.json +7 -7
- package/plugin/build/withMapbox.js +8 -5
- package/plugin/src/withMapbox.ts +10 -5
- package/{javascript → src}/components/Camera.tsx +2 -1
- package/{javascript → src}/components/MapView.tsx +31 -7
- package/{javascript → src}/components/UserLocation.tsx +1 -1
- /package/{javascript → src}/MGLModule.ts +0 -0
- /package/{javascript → src}/Mapbox.ts +0 -0
- /package/{javascript → src}/assets/heading.png +0 -0
- /package/{javascript → src}/assets/heading@2x.png +0 -0
- /package/{javascript → src}/assets/heading@3x.png +0 -0
- /package/{javascript → src}/classes/AnimatedCoordinatesArray.js +0 -0
- /package/{javascript → src}/classes/AnimatedExtractCoordinateFromArray.js +0 -0
- /package/{javascript → src}/classes/AnimatedPoint.js +0 -0
- /package/{javascript → src}/classes/AnimatedRouteCoordinatesArray.js +0 -0
- /package/{javascript → src}/classes/AnimatedShape.js +0 -0
- /package/{javascript → src}/classes/index.d.ts +0 -0
- /package/{javascript → src}/classes/index.js +0 -0
- /package/{javascript → src}/components/AbstractLayer.tsx +0 -0
- /package/{javascript → src}/components/AbstractSource.tsx +0 -0
- /package/{javascript → src}/components/Annotation.tsx +0 -0
- /package/{javascript → src}/components/Atmosphere.tsx +0 -0
- /package/{javascript → src}/components/BackgroundLayer.tsx +0 -0
- /package/{javascript → src}/components/Callout.tsx +0 -0
- /package/{javascript → src}/components/CircleLayer.tsx +0 -0
- /package/{javascript → src}/components/FillExtrusionLayer.tsx +0 -0
- /package/{javascript → src}/components/FillLayer.tsx +0 -0
- /package/{javascript → src}/components/HeadingIndicator.tsx +0 -0
- /package/{javascript → src}/components/HeatmapLayer.tsx +0 -0
- /package/{javascript → src}/components/Image.tsx +0 -0
- /package/{javascript → src}/components/ImageSource.tsx +0 -0
- /package/{javascript → src}/components/Images.tsx +0 -0
- /package/{javascript → src}/components/Light.tsx +0 -0
- /package/{javascript → src}/components/LineLayer.tsx +0 -0
- /package/{javascript → src}/components/MarkerView.tsx +0 -0
- /package/{javascript → src}/components/NativeBridgeComponent.tsx +0 -0
- /package/{javascript → src}/components/NativeUserLocation.tsx +0 -0
- /package/{javascript → src}/components/PointAnnotation.tsx +0 -0
- /package/{javascript → src}/components/RasterDemSource.tsx +0 -0
- /package/{javascript → src}/components/RasterLayer.tsx +0 -0
- /package/{javascript → src}/components/RasterSource.tsx +0 -0
- /package/{javascript → src}/components/ShapeSource.tsx +0 -0
- /package/{javascript → src}/components/SkyLayer.tsx +0 -0
- /package/{javascript → src}/components/Style.tsx +0 -0
- /package/{javascript → src}/components/SymbolLayer.tsx +0 -0
- /package/{javascript → src}/components/Terrain.tsx +0 -0
- /package/{javascript → src}/components/VectorSource.tsx +0 -0
- /package/{javascript → src}/global.d.ts +0 -0
- /package/{javascript → src}/index.ts +0 -0
- /package/{javascript → src}/index.web.js +0 -0
- /package/{javascript → src}/modules/location/locationManager.ts +0 -0
- /package/{javascript → src}/modules/offline/OfflineCreatePackOptions.ts +0 -0
- /package/{javascript → src}/modules/offline/OfflinePack.ts +0 -0
- /package/{javascript → src}/modules/offline/offlineManager.ts +0 -0
- /package/{javascript → src}/modules/snapshot/SnapshotOptions.ts +0 -0
- /package/{javascript → src}/modules/snapshot/snapshotManager.ts +0 -0
- /package/{javascript → src}/requestAndroidLocationPermissions.ts +0 -0
- /package/{javascript → src}/types/BaseProps.ts +0 -0
- /package/{javascript → src}/types/OnPressEvent.ts +0 -0
- /package/{javascript → src}/types/Position.ts +0 -0
- /package/{javascript → src}/types/index.ts +0 -0
- /package/{javascript → src}/utils/BridgeValue.ts +0 -0
- /package/{javascript → src}/utils/Logger.ts +0 -0
- /package/{javascript → src}/utils/MapboxStyles.d.ts +0 -0
- /package/{javascript → src}/utils/StyleValue.ts +0 -0
- /package/{javascript → src}/utils/animated/Animated.ts +0 -0
- /package/{javascript → src}/utils/deprecation.ts +0 -0
- /package/{javascript → src}/utils/filterUtils.ts +0 -0
- /package/{javascript → src}/utils/geoUtils.ts +0 -0
- /package/{javascript → src}/utils/getAnnotationsLayerID.ts +0 -0
- /package/{javascript → src}/utils/index.ts +0 -0
- /package/{javascript → src}/utils/nativeRef.ts +0 -0
- /package/{javascript → src}/utils/styleMap.ts +0 -0
- /package/{javascript → src}/web/MapContext.ts +0 -0
- /package/{javascript → src}/web/MapboxModule.js +0 -0
- /package/{javascript → src}/web/UnimplementedComponent.js +0 -0
- /package/{javascript → src}/web/components/Camera.tsx +0 -0
- /package/{javascript → src}/web/components/MapView.tsx +0 -0
- /package/{javascript → src}/web/index.js +0 -0
- /package/{javascript → src}/web/install.md +0 -0
- /package/{javascript → src}/web/utils/Logger.ts +0 -0
|
@@ -4,6 +4,13 @@ import android.content.Context
|
|
|
4
4
|
import com.facebook.react.views.view.ReactViewGroup
|
|
5
5
|
import com.mapbox.rctmgl.components.mapview.RCTMGLMapView
|
|
6
6
|
|
|
7
|
+
enum class RemovalReason {
|
|
8
|
+
VIEW_REMOVAL,
|
|
9
|
+
STYLE_CHANGE,
|
|
10
|
+
ON_DESTROY,
|
|
11
|
+
REORDER
|
|
12
|
+
}
|
|
13
|
+
|
|
7
14
|
abstract class AbstractMapFeature(context: Context?) : ReactViewGroup(context) {
|
|
8
15
|
protected var mMapView: RCTMGLMapView? = null;
|
|
9
16
|
private var mWithMapViewCallbacks: Array<((RCTMGLMapView) -> Unit)>? = null;
|
|
@@ -14,8 +21,10 @@ abstract class AbstractMapFeature(context: Context?) : ReactViewGroup(context) {
|
|
|
14
21
|
mWithMapViewCallbacks = null;
|
|
15
22
|
}
|
|
16
23
|
|
|
17
|
-
|
|
24
|
+
// return false if you don not want to remove this feature based on reason
|
|
25
|
+
open fun removeFromMap(mapView: RCTMGLMapView,reason: RemovalReason) : Boolean {
|
|
18
26
|
mMapView = null;
|
|
27
|
+
return true;
|
|
19
28
|
}
|
|
20
29
|
|
|
21
30
|
internal fun withMapView(callback: (mapView: RCTMGLMapView) -> Unit) {
|
package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/annotation/RCTMGLMarkerView.kt
CHANGED
|
@@ -12,6 +12,7 @@ import com.mapbox.maps.ViewAnnotationAnchor
|
|
|
12
12
|
import com.mapbox.maps.ViewAnnotationOptions
|
|
13
13
|
import com.mapbox.maps.viewannotation.viewAnnotationOptions
|
|
14
14
|
import com.mapbox.rctmgl.components.AbstractMapFeature
|
|
15
|
+
import com.mapbox.rctmgl.components.RemovalReason
|
|
15
16
|
import com.mapbox.rctmgl.components.mapview.RCTMGLMapView
|
|
16
17
|
import com.mapbox.rctmgl.utils.Logger
|
|
17
18
|
import java.util.Vector
|
|
@@ -77,9 +78,10 @@ class RCTMGLMarkerView(context: Context?, private val mManager: RCTMGLMarkerView
|
|
|
77
78
|
add()
|
|
78
79
|
}
|
|
79
80
|
|
|
80
|
-
override fun removeFromMap(mapView: RCTMGLMapView) {
|
|
81
|
-
super.removeFromMap(mapView)
|
|
81
|
+
override fun removeFromMap(mapView: RCTMGLMapView, reason: RemovalReason): Boolean {
|
|
82
|
+
super.removeFromMap(mapView, reason)
|
|
82
83
|
remove(mapView)
|
|
84
|
+
return true
|
|
83
85
|
}
|
|
84
86
|
|
|
85
87
|
// endregion
|
|
@@ -19,6 +19,7 @@ import android.view.View
|
|
|
19
19
|
import com.mapbox.geojson.Point
|
|
20
20
|
import com.mapbox.maps.ScreenCoordinate
|
|
21
21
|
import com.mapbox.maps.Style
|
|
22
|
+
import com.mapbox.rctmgl.components.RemovalReason
|
|
22
23
|
import com.mapbox.rctmgl.events.PointAnnotationDragEvent
|
|
23
24
|
import com.mapbox.rctmgl.utils.BitmapUtils
|
|
24
25
|
import com.mapbox.rctmgl.utils.LatLng
|
|
@@ -90,8 +91,8 @@ class RCTMGLPointAnnotation(private val mContext: Context, private val mManager:
|
|
|
90
91
|
}
|
|
91
92
|
}
|
|
92
93
|
|
|
93
|
-
override fun removeFromMap(mapView: RCTMGLMapView) {
|
|
94
|
-
val map = (if (mMapView != null) mMapView else mapView) ?: return
|
|
94
|
+
override fun removeFromMap(mapView: RCTMGLMapView, reason: RemovalReason): Boolean {
|
|
95
|
+
val map = (if (mMapView != null) mMapView else mapView) ?: return true
|
|
95
96
|
if (marker != null) {
|
|
96
97
|
map.pointAnnotationManager?.delete(marker!!)
|
|
97
98
|
}
|
|
@@ -101,7 +102,7 @@ class RCTMGLPointAnnotation(private val mContext: Context, private val mManager:
|
|
|
101
102
|
if (calloutView != null) {
|
|
102
103
|
map.offscreenAnnotationViewContainer?.removeView(calloutView)
|
|
103
104
|
}
|
|
104
|
-
super.removeFromMap(mapView)
|
|
105
|
+
return super.removeFromMap(mapView, reason)
|
|
105
106
|
}
|
|
106
107
|
|
|
107
108
|
override fun onLayoutChange(v: View, left: Int, top: Int, right: Int, bottom: Int, oldLeft: Int, oldTop: Int,
|
package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/camera/CameraUpdateQueue.kt
CHANGED
|
@@ -55,9 +55,7 @@ class CameraUpdateQueue {
|
|
|
55
55
|
|
|
56
56
|
fun execute(map: RCTMGLMapView?) {
|
|
57
57
|
if (mQueue.isEmpty()) {
|
|
58
|
-
|
|
59
|
-
mCompleteListener!!.onCompleteAll()
|
|
60
|
-
}
|
|
58
|
+
mCompleteListener?.let { it.onCompleteAll() }
|
|
61
59
|
return
|
|
62
60
|
}
|
|
63
61
|
val stop = mQueue.poll() ?: return
|
package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/camera/RCTMGLCamera.kt
CHANGED
|
@@ -25,6 +25,7 @@ import com.mapbox.maps.plugin.viewport.data.FollowPuckViewportStateBearing
|
|
|
25
25
|
import com.mapbox.maps.plugin.viewport.data.FollowPuckViewportStateOptions
|
|
26
26
|
import com.mapbox.maps.plugin.viewport.data.ViewportStatusChangeReason
|
|
27
27
|
import com.mapbox.maps.plugin.viewport.viewport
|
|
28
|
+
import com.mapbox.rctmgl.components.RemovalReason
|
|
28
29
|
import com.mapbox.rctmgl.components.camera.constants.CameraMode
|
|
29
30
|
import com.mapbox.rctmgl.components.location.*
|
|
30
31
|
import com.mapbox.rctmgl.events.MapUserTrackingModeEvent
|
|
@@ -39,7 +40,7 @@ class RCTMGLCamera(private val mContext: Context, private val mManager: RCTMGLCa
|
|
|
39
40
|
private var hasSentFirstRegion = false
|
|
40
41
|
private var mDefaultStop: CameraStop? = null
|
|
41
42
|
private var mCameraStop: CameraStop? = null
|
|
42
|
-
private val mCameraUpdateQueue
|
|
43
|
+
private val mCameraUpdateQueue = CameraUpdateQueue()
|
|
43
44
|
|
|
44
45
|
/*
|
|
45
46
|
// private LocationComponent mLocationComponent;
|
|
@@ -66,17 +67,6 @@ class RCTMGLCamera(private val mContext: Context, private val mManager: RCTMGLCa
|
|
|
66
67
|
private var mMaxBounds: LatLngBounds? = null
|
|
67
68
|
|
|
68
69
|
|
|
69
|
-
private val mLocationBearingChangedListener = OnIndicatorBearingChangedListener { v ->
|
|
70
|
-
if (mFollowUserLocation) {
|
|
71
|
-
mMapView!!.getMapboxMap().setCamera(CameraOptions.Builder().bearing(v).build())
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
private val mLocationPositionChangeListener = OnIndicatorPositionChangedListener { point ->
|
|
75
|
-
if (mFollowUserLocation) {
|
|
76
|
-
mMapView!!.getMapboxMap().setCamera(CameraOptions.Builder().center(point).build())
|
|
77
|
-
mMapView!!.gestures.focalPoint = mMapView!!.getMapboxMap().pixelForCoordinate(point)
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
70
|
private val mCameraCallback: Animator.AnimatorListener = object : Animator.AnimatorListener {
|
|
81
71
|
override fun onAnimationStart(animator: Animator) {}
|
|
82
72
|
override fun onAnimationEnd(animator: Animator) {
|
|
@@ -105,14 +95,18 @@ class RCTMGLCamera(private val mContext: Context, private val mManager: RCTMGLCa
|
|
|
105
95
|
_updateViewportState()
|
|
106
96
|
}
|
|
107
97
|
|
|
108
|
-
override fun removeFromMap(mapView: RCTMGLMapView) {
|
|
109
|
-
|
|
98
|
+
override fun removeFromMap(mapView: RCTMGLMapView, reason: RemovalReason) : Boolean {
|
|
99
|
+
if (reason == RemovalReason.STYLE_CHANGE) {
|
|
100
|
+
return false
|
|
101
|
+
} else {
|
|
102
|
+
return super.removeFromMap(mapView, reason);
|
|
103
|
+
}
|
|
110
104
|
}
|
|
111
105
|
fun setStop(stop: CameraStop) {
|
|
112
106
|
mCameraStop = stop
|
|
113
|
-
|
|
107
|
+
stop.setCallback(mCameraCallback)
|
|
114
108
|
if (mMapView != null) {
|
|
115
|
-
|
|
109
|
+
stop.let { updateCamera(it) }
|
|
116
110
|
}
|
|
117
111
|
}
|
|
118
112
|
|
|
@@ -181,11 +175,13 @@ class RCTMGLCamera(private val mContext: Context, private val mManager: RCTMGLCa
|
|
|
181
175
|
}
|
|
182
176
|
|
|
183
177
|
private fun setInitialCamera() {
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
178
|
+
mDefaultStop?.let {
|
|
179
|
+
val mapView = mMapView!!
|
|
180
|
+
val map = mapView.getMapboxMap()
|
|
181
|
+
|
|
182
|
+
it.setDuration(0)
|
|
183
|
+
it.setMode(CameraMode.NONE)
|
|
184
|
+
val item = it.toCameraUpdate(mapView)
|
|
189
185
|
item.run()
|
|
190
186
|
}
|
|
191
187
|
}
|
|
@@ -221,7 +217,6 @@ class RCTMGLCamera(private val mContext: Context, private val mManager: RCTMGLCa
|
|
|
221
217
|
}
|
|
222
218
|
|
|
223
219
|
init {
|
|
224
|
-
mCameraUpdateQueue = CameraUpdateQueue()
|
|
225
220
|
mLocationManager = getInstance(mContext)
|
|
226
221
|
}
|
|
227
222
|
|
package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/images/RCTMGLImages.kt
CHANGED
|
@@ -15,6 +15,7 @@ import com.mapbox.maps.ImageStretches
|
|
|
15
15
|
import com.mapbox.maps.MapboxMap
|
|
16
16
|
import com.mapbox.maps.Style
|
|
17
17
|
import com.mapbox.rctmgl.R
|
|
18
|
+
import com.mapbox.rctmgl.components.RemovalReason
|
|
18
19
|
import com.mapbox.rctmgl.components.mapview.RCTMGLMapView
|
|
19
20
|
import com.mapbox.rctmgl.components.images.RCTMGLImages
|
|
20
21
|
import com.mapbox.rctmgl.events.ImageMissingEvent
|
|
@@ -92,13 +93,13 @@ class RCTMGLImages(context: Context, private val mManager: RCTMGLImagesManager)
|
|
|
92
93
|
mSendMissingImageEvents = value
|
|
93
94
|
}
|
|
94
95
|
|
|
95
|
-
override fun removeFromMap(mapView: RCTMGLMapView) {
|
|
96
|
+
override fun removeFromMap(mapView: RCTMGLMapView, reason: RemovalReason): Boolean {
|
|
96
97
|
removeImages(mapView)
|
|
97
98
|
mMap = null
|
|
98
99
|
mNativeImages = mutableMapOf()
|
|
99
100
|
mImages = HashMap()
|
|
100
101
|
mCurrentImages = HashSet()
|
|
101
|
-
super.removeFromMap(mapView)
|
|
102
|
+
return super.removeFromMap(mapView, reason)
|
|
102
103
|
}
|
|
103
104
|
|
|
104
105
|
private fun removeImages(mapView: RCTMGLMapView) {
|
|
@@ -10,6 +10,7 @@ import com.mapbox.maps.Style
|
|
|
10
10
|
import com.mapbox.maps.plugin.PuckBearingSource
|
|
11
11
|
import com.mapbox.rctmgl.R
|
|
12
12
|
import com.mapbox.rctmgl.components.AbstractMapFeature
|
|
13
|
+
import com.mapbox.rctmgl.components.RemovalReason
|
|
13
14
|
import com.mapbox.rctmgl.components.mapview.RCTMGLMapView
|
|
14
15
|
|
|
15
16
|
enum class RenderMode {
|
|
@@ -31,11 +32,11 @@ class RCTMGLNativeUserLocation(context: Context) : AbstractMapFeature(context),
|
|
|
31
32
|
applyChanges()
|
|
32
33
|
}
|
|
33
34
|
|
|
34
|
-
override fun removeFromMap(mapView: RCTMGLMapView) {
|
|
35
|
+
override fun removeFromMap(mapView: RCTMGLMapView, reason: RemovalReason): Boolean {
|
|
35
36
|
mEnabled = false
|
|
36
37
|
mMapView?.locationComponentManager?.showNativeUserLocation(false)
|
|
37
38
|
mMap?.getStyle(this)
|
|
38
|
-
super.removeFromMap(mapView)
|
|
39
|
+
return super.removeFromMap(mapView, reason)
|
|
39
40
|
}
|
|
40
41
|
|
|
41
42
|
@SuppressLint("MissingPermission")
|
package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/mapview/RCTMGLMapView.kt
CHANGED
|
@@ -21,6 +21,7 @@ import com.mapbox.geojson.Feature
|
|
|
21
21
|
import com.mapbox.geojson.FeatureCollection
|
|
22
22
|
import com.mapbox.geojson.Point
|
|
23
23
|
import com.mapbox.maps.*
|
|
24
|
+
import com.mapbox.maps.extension.localization.localizeLabels
|
|
24
25
|
import com.mapbox.maps.extension.observable.eventdata.MapLoadingErrorEventData
|
|
25
26
|
import com.mapbox.maps.extension.style.expressions.generated.Expression
|
|
26
27
|
import com.mapbox.maps.extension.style.layers.Layer
|
|
@@ -46,6 +47,7 @@ import com.mapbox.maps.plugin.scalebar.generated.ScaleBarSettings
|
|
|
46
47
|
import com.mapbox.maps.plugin.scalebar.scalebar
|
|
47
48
|
import com.mapbox.rctmgl.R
|
|
48
49
|
import com.mapbox.rctmgl.components.AbstractMapFeature
|
|
50
|
+
import com.mapbox.rctmgl.components.RemovalReason
|
|
49
51
|
import com.mapbox.rctmgl.components.annotation.RCTMGLMarkerView
|
|
50
52
|
import com.mapbox.rctmgl.components.annotation.RCTMGLMarkerViewManager
|
|
51
53
|
import com.mapbox.rctmgl.components.annotation.RCTMGLPointAnnotation
|
|
@@ -142,6 +144,10 @@ class RCTMGLLifeCycle {
|
|
|
142
144
|
}
|
|
143
145
|
}
|
|
144
146
|
|
|
147
|
+
data class FeatureEntry(val feature: AbstractMapFeature?, val view: View?, var addedToMap: Boolean = false) {
|
|
148
|
+
|
|
149
|
+
}
|
|
150
|
+
|
|
145
151
|
open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapViewManager /*, MapboxMapOptions options*/) : MapView(mContext), OnMapClickListener, OnMapLongClickListener {
|
|
146
152
|
/**
|
|
147
153
|
* `PointAnnotations` are rendered to a canvas, but the React Native `Image` component is
|
|
@@ -156,18 +162,22 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
|
|
|
156
162
|
private var mPointAnnotationManager: PointAnnotationManager? = null
|
|
157
163
|
private var mActiveMarkerID: Long = -1
|
|
158
164
|
private var mProjection: ProjectionName = ProjectionName.MERCATOR
|
|
165
|
+
private var mLocaleString: String? = null
|
|
166
|
+
private var mLocaleLayerIds: List<String>? = null
|
|
159
167
|
private var mStyleURL: String? = null
|
|
160
168
|
val isDestroyed = false
|
|
161
169
|
private var mCamera: RCTMGLCamera? = null
|
|
162
|
-
private val mFeatures
|
|
170
|
+
private val mFeatures = mutableListOf<FeatureEntry>()
|
|
163
171
|
private var mQueuedFeatures: MutableList<AbstractMapFeature>? = ArrayList()
|
|
164
172
|
private val mPointAnnotations: MutableMap<String, RCTMGLPointAnnotation>
|
|
165
173
|
private val mCameraChangeTracker = CameraChangeTracker()
|
|
166
174
|
private val mMap: MapboxMap?
|
|
167
175
|
|
|
168
|
-
// v10todo, style gets null if we add anyhing
|
|
169
176
|
var savedStyle: Style? = null
|
|
170
177
|
private set
|
|
178
|
+
|
|
179
|
+
private var styleLoaded = false
|
|
180
|
+
|
|
171
181
|
private val mHandledMapChangedEvents: HashSet<String>? = null
|
|
172
182
|
private var mAnnotationClicked = false
|
|
173
183
|
private var mAnnotationDragged = false
|
|
@@ -238,13 +248,19 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
|
|
|
238
248
|
return mPointAnnotationManager
|
|
239
249
|
}
|
|
240
250
|
|
|
251
|
+
private fun styleLoaded(style: Style) {
|
|
252
|
+
savedStyle = style
|
|
253
|
+
styleLoaded = true
|
|
254
|
+
setUpImage(style)
|
|
255
|
+
addFeaturesToMap()
|
|
256
|
+
applyLocalizeLabels()
|
|
257
|
+
style.setProjection(Projection(mProjection))
|
|
258
|
+
}
|
|
259
|
+
|
|
241
260
|
private fun onMapReady(map: MapboxMap) {
|
|
242
261
|
map.getStyle(object : Style.OnStyleLoaded {
|
|
243
262
|
override fun onStyleLoaded(style: Style) {
|
|
244
|
-
|
|
245
|
-
setUpImage(style)
|
|
246
|
-
addQueuedFeaturesToMap()
|
|
247
|
-
setupLocalization(style)
|
|
263
|
+
styleLoaded(style)
|
|
248
264
|
}
|
|
249
265
|
})
|
|
250
266
|
val _this = this
|
|
@@ -325,7 +341,7 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
|
|
|
325
341
|
mMap.getStyle(onStyleLoaded)
|
|
326
342
|
}
|
|
327
343
|
|
|
328
|
-
// region
|
|
344
|
+
// region Features
|
|
329
345
|
fun addFeature(childView: View?, childPosition: Int) {
|
|
330
346
|
var feature: AbstractMapFeature? = null
|
|
331
347
|
if (childView is RCTSource<*>) {
|
|
@@ -354,23 +370,26 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
|
|
|
354
370
|
feature = childView as AbstractMapFeature?
|
|
355
371
|
} else if (childView is ViewGroup) {
|
|
356
372
|
val children = childView
|
|
373
|
+
Logger.w(LOG_TAG, "Adding non map components as a child of a map is deprecated!")
|
|
357
374
|
for (i in 0 until children.childCount) {
|
|
358
|
-
|
|
375
|
+
addView(children.getChildAt(i), childPosition)
|
|
359
376
|
}
|
|
360
377
|
}
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
378
|
+
|
|
379
|
+
val addToMap = styleLoaded
|
|
380
|
+
|
|
381
|
+
|
|
382
|
+
var entry = FeatureEntry(feature, childView, false)
|
|
383
|
+
if (addToMap) {
|
|
384
|
+
feature?.addToMap(this)
|
|
385
|
+
entry.addedToMap = true
|
|
368
386
|
}
|
|
387
|
+
mFeatures.add(childPosition, entry);
|
|
369
388
|
}
|
|
370
389
|
|
|
371
|
-
fun
|
|
372
|
-
val
|
|
373
|
-
|
|
390
|
+
fun removeFeatureAt(childPosition: Int) {
|
|
391
|
+
val entry = mFeatures[childPosition]
|
|
392
|
+
val feature = entry.feature
|
|
374
393
|
if (feature is RCTSource<*>) {
|
|
375
394
|
mSources.remove(feature.iD)
|
|
376
395
|
} else if (feature is RCTMGLPointAnnotation) {
|
|
@@ -382,34 +401,26 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
|
|
|
382
401
|
} else if (feature is RCTMGLImages) {
|
|
383
402
|
mImages.remove(feature)
|
|
384
403
|
}
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
private fun features(): MutableList<AbstractMapFeature> {
|
|
390
|
-
return if (mQueuedFeatures != null && mQueuedFeatures!!.size > 0) (
|
|
391
|
-
mQueuedFeatures!!
|
|
392
|
-
)
|
|
393
|
-
else {
|
|
394
|
-
mFeatures
|
|
404
|
+
if (entry.addedToMap) {
|
|
405
|
+
if (feature?.removeFromMap(this, RemovalReason.VIEW_REMOVAL) == true) {
|
|
406
|
+
entry.addedToMap = false
|
|
407
|
+
}
|
|
395
408
|
}
|
|
409
|
+
mFeatures.removeAt(childPosition)
|
|
396
410
|
}
|
|
397
411
|
|
|
398
412
|
val featureCount: Int
|
|
399
|
-
get() =
|
|
413
|
+
get() = mFeatures.size
|
|
400
414
|
|
|
401
|
-
fun getFeatureAt(i: Int):
|
|
402
|
-
return
|
|
415
|
+
fun getFeatureAt(i: Int): View? {
|
|
416
|
+
return mFeatures[i].view
|
|
403
417
|
}
|
|
404
418
|
|
|
405
|
-
fun
|
|
419
|
+
fun removeAllFeatureFromMap(reason: RemovalReason) {
|
|
406
420
|
mFeatures.forEach {
|
|
407
|
-
it.removeFromMap(this)
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
val queuedFeatures = mQueuedFeatures
|
|
411
|
-
if (queuedFeatures != null) {
|
|
412
|
-
queuedFeatures.clear()
|
|
421
|
+
if (it.feature?.removeFromMap(this, reason) == true) {
|
|
422
|
+
it.addedToMap = false
|
|
423
|
+
}
|
|
413
424
|
}
|
|
414
425
|
}
|
|
415
426
|
// endregion
|
|
@@ -421,28 +432,23 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
|
|
|
421
432
|
mCameraChangeTracker.setReason(CameraChangeReason.NONE)
|
|
422
433
|
}
|
|
423
434
|
|
|
424
|
-
private fun removeAllFeaturesFromMap() {
|
|
425
|
-
mFeatures.forEach { it ->
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
private fun addQueuedFeaturesToMap() {
|
|
429
|
-
mQueuedFeatures?.let { queuedFeatures ->
|
|
430
|
-
queuedFeatures.forEach {
|
|
431
|
-
it.addToMap(this)
|
|
432
|
-
mFeatures.add(it)
|
|
435
|
+
private fun removeAllFeaturesFromMap(reason: RemovalReason) {
|
|
436
|
+
mFeatures.forEach { it ->
|
|
437
|
+
if (it.feature?.removeFromMap(this, reason) == true) {
|
|
438
|
+
it.addedToMap = false
|
|
433
439
|
}
|
|
434
|
-
queuedFeatures.clear()
|
|
435
440
|
}
|
|
436
|
-
mQueuedFeatures = null;
|
|
437
441
|
}
|
|
438
442
|
|
|
439
|
-
private fun
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
443
|
+
private fun addFeaturesToMap() {
|
|
444
|
+
mFeatures.forEach {
|
|
445
|
+
if (!it.addedToMap) {
|
|
446
|
+
it.feature?.addToMap(this)
|
|
447
|
+
it.addedToMap = true
|
|
448
|
+
}
|
|
444
449
|
}
|
|
445
450
|
}
|
|
451
|
+
|
|
446
452
|
|
|
447
453
|
private val allTouchableSources: List<RCTSource<*>>
|
|
448
454
|
private get() {
|
|
@@ -507,23 +513,37 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
|
|
|
507
513
|
}
|
|
508
514
|
}
|
|
509
515
|
|
|
516
|
+
fun applyLocalizeLabels() {
|
|
517
|
+
val localeStr = mLocaleString
|
|
518
|
+
if (localeStr != null) {
|
|
519
|
+
val locale = if (localeStr == "current") Locale.getDefault() else Locale(localeStr)
|
|
520
|
+
savedStyle?.localizeLabels(locale, mLocaleLayerIds)
|
|
521
|
+
}
|
|
522
|
+
}
|
|
523
|
+
fun setReactLocalizeLabels(localeStr: String?, layerIds: List<String>?) {
|
|
524
|
+
if (localeStr != null) {
|
|
525
|
+
mLocaleString = localeStr
|
|
526
|
+
mLocaleLayerIds = layerIds
|
|
527
|
+
}
|
|
528
|
+
applyLocalizeLabels()
|
|
529
|
+
}
|
|
530
|
+
|
|
510
531
|
fun setReactStyleURL(styleURL: String) {
|
|
511
532
|
mStyleURL = styleURL
|
|
512
533
|
if (mMap != null) {
|
|
513
|
-
|
|
534
|
+
removeAllFeatureFromMap(RemovalReason.STYLE_CHANGE)
|
|
514
535
|
if (isJSONValid(mStyleURL)) {
|
|
536
|
+
styleLoaded = false
|
|
515
537
|
mMap.loadStyleJson(styleURL, object : Style.OnStyleLoaded {
|
|
516
538
|
override fun onStyleLoaded(style: Style) {
|
|
517
|
-
style
|
|
518
|
-
addAllFeaturesToMap()
|
|
539
|
+
styleLoaded(style)
|
|
519
540
|
}
|
|
520
541
|
})
|
|
521
542
|
} else {
|
|
543
|
+
styleLoaded = false
|
|
522
544
|
mMap.loadStyleUri(styleURL, object : Style.OnStyleLoaded {
|
|
523
545
|
override fun onStyleLoaded(style: Style) {
|
|
524
|
-
|
|
525
|
-
style.setProjection(Projection(mProjection))
|
|
526
|
-
addAllFeaturesToMap()
|
|
546
|
+
styleLoaded(style)
|
|
527
547
|
}
|
|
528
548
|
},
|
|
529
549
|
object : OnMapLoadErrorListener {
|
|
@@ -737,19 +757,6 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
|
|
|
737
757
|
return GeoJSONUtils.toPointFeature(latLng, properties)
|
|
738
758
|
}
|
|
739
759
|
|
|
740
|
-
private fun setupLocalization(style: Style) {
|
|
741
|
-
/*
|
|
742
|
-
mLocalizationPlugin = new LocalizationPlugin(RCTMGLMapView.this, mMap, style);
|
|
743
|
-
if (mLocalizeLabels) {
|
|
744
|
-
try {
|
|
745
|
-
mLocalizationPlugin.matchMapLanguageWithDeviceDefault();
|
|
746
|
-
} catch (Exception e) {
|
|
747
|
-
final String localeString = Locale.getDefault().toString();
|
|
748
|
-
Logger.w(LOG_TAG, String.format("Could not find matching locale for %s", localeString));
|
|
749
|
-
}
|
|
750
|
-
}*/
|
|
751
|
-
}
|
|
752
|
-
|
|
753
760
|
/**
|
|
754
761
|
* Adds the marker image to the map for use as a SymbolLayer icon
|
|
755
762
|
*/
|
|
@@ -1245,7 +1252,7 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
|
|
|
1245
1252
|
}
|
|
1246
1253
|
|
|
1247
1254
|
override fun onDestroy() {
|
|
1248
|
-
|
|
1255
|
+
removeAllFeaturesFromMap(RemovalReason.ON_DESTROY)
|
|
1249
1256
|
viewAnnotationManager.removeAllViewAnnotations()
|
|
1250
1257
|
mLocationComponentManager?.onDestroy();
|
|
1251
1258
|
|
|
@@ -1254,7 +1261,7 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
|
|
|
1254
1261
|
}
|
|
1255
1262
|
|
|
1256
1263
|
fun onDropViewInstance() {
|
|
1257
|
-
|
|
1264
|
+
removeAllFeaturesFromMap(RemovalReason.ON_DESTROY)
|
|
1258
1265
|
viewAnnotationManager.removeAllViewAnnotations()
|
|
1259
1266
|
lifecycle.onDestroy()
|
|
1260
1267
|
}
|
|
@@ -59,7 +59,7 @@ open class RCTMGLMapViewManager(context: ReactApplicationContext?) :
|
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
override fun removeViewAt(mapView: RCTMGLMapView?, index: Int) {
|
|
62
|
-
mapView!!.
|
|
62
|
+
mapView!!.removeFeatureAt(index)
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
override fun createViewInstance(themedReactContext: ThemedReactContext): RCTMGLMapView {
|
|
@@ -85,6 +85,13 @@ open class RCTMGLMapViewManager(context: ReactApplicationContext?) :
|
|
|
85
85
|
mapView.setReactProjection( if (projection == "globe") ProjectionName.GLOBE else ProjectionName.MERCATOR )
|
|
86
86
|
}
|
|
87
87
|
|
|
88
|
+
@ReactProp(name = "localizeLabels")
|
|
89
|
+
fun setLocalizeLabels(mapView: RCTMGLMapView, localeMap: ReadableMap?) {
|
|
90
|
+
val locale = localeMap?.getString("locale")
|
|
91
|
+
val layerIds = localeMap?.getArray("layerIds")?.toArrayList()?.mapNotNull {it?.toString()}
|
|
92
|
+
mapView.setReactLocalizeLabels(locale, layerIds)
|
|
93
|
+
}
|
|
94
|
+
|
|
88
95
|
@ReactProp(name = "styleURL")
|
|
89
96
|
fun setStyleURL(mapView: RCTMGLMapView, styleURL: String?) {
|
|
90
97
|
mapView.setReactStyleURL(styleURL!!)
|
|
@@ -95,11 +102,6 @@ open class RCTMGLMapViewManager(context: ReactApplicationContext?) :
|
|
|
95
102
|
//mapView.setReactPreferredFramesPerSecond(preferredFramesPerSecond);
|
|
96
103
|
}
|
|
97
104
|
|
|
98
|
-
@ReactProp(name = "localizeLabels")
|
|
99
|
-
fun setLocalizeLabels(mapView: RCTMGLMapView?, localizeLabels: Boolean) {
|
|
100
|
-
//mapView.setLocalizeLabels(localizeLabels);
|
|
101
|
-
}
|
|
102
|
-
|
|
103
105
|
@ReactProp(name = "zoomEnabled")
|
|
104
106
|
fun setZoomEnabled(mapView: RCTMGLMapView, zoomEnabled: Boolean) {
|
|
105
107
|
mapView.gestures.pinchToZoomEnabled = zoomEnabled
|
|
@@ -6,6 +6,7 @@ import com.mapbox.maps.MapboxMap
|
|
|
6
6
|
import com.mapbox.maps.extension.style.atmosphere.generated.Atmosphere
|
|
7
7
|
import com.mapbox.maps.extension.style.terrain.generated.Terrain
|
|
8
8
|
import com.mapbox.maps.extension.style.terrain.generated.removeTerrain
|
|
9
|
+
import com.mapbox.rctmgl.components.RemovalReason
|
|
9
10
|
import com.mapbox.rctmgl.components.mapview.RCTMGLMapView
|
|
10
11
|
import com.mapbox.rctmgl.components.styles.RCTMGLStyle
|
|
11
12
|
import com.mapbox.rctmgl.components.styles.RCTMGLStyleFactory
|
|
@@ -40,10 +41,10 @@ class RCTMGLAtmosphere(context: Context?) : AbstractSourceConsumer(context) {
|
|
|
40
41
|
mapView.savedStyle?.let { atmosphere.bindTo(it) }
|
|
41
42
|
}
|
|
42
43
|
|
|
43
|
-
override fun removeFromMap(mapView: RCTMGLMapView) {
|
|
44
|
+
override fun removeFromMap(mapView: RCTMGLMapView, reason: RemovalReason): Boolean {
|
|
44
45
|
mapView.savedStyle?.let { it.removeTerrain() }
|
|
45
46
|
mMap = null
|
|
46
|
-
super.removeFromMap(mapView)
|
|
47
|
+
return super.removeFromMap(mapView, reason)
|
|
47
48
|
}
|
|
48
49
|
|
|
49
50
|
fun makeAtmosphere(): Atmosphere {
|
package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTLayer.kt
CHANGED
|
@@ -16,6 +16,7 @@ import com.mapbox.maps.extension.style.expressions.dsl.generated.literal
|
|
|
16
16
|
import com.mapbox.maps.extension.style.expressions.generated.Expression
|
|
17
17
|
import com.mapbox.maps.extension.style.layers.*
|
|
18
18
|
import com.mapbox.maps.extension.style.layers.properties.generated.Visibility
|
|
19
|
+
import com.mapbox.rctmgl.components.RemovalReason
|
|
19
20
|
import com.mapbox.rctmgl.components.styles.layers.RCTLayer
|
|
20
21
|
import com.mapbox.rctmgl.components.styles.sources.RCTSource
|
|
21
22
|
import com.mapbox.rctmgl.modules.RCTMGLLogging
|
|
@@ -63,7 +64,7 @@ abstract class RCTLayer<T : Layer?>(protected var mContext: Context) : AbstractS
|
|
|
63
64
|
}
|
|
64
65
|
mAboveLayerID = aboveLayerID
|
|
65
66
|
if (mLayer != null) {
|
|
66
|
-
removeFromMap(mMapView
|
|
67
|
+
removeFromMap(mMapView!!, RemovalReason.REORDER)
|
|
67
68
|
addAbove(mAboveLayerID)
|
|
68
69
|
}
|
|
69
70
|
}
|
|
@@ -74,7 +75,7 @@ abstract class RCTLayer<T : Layer?>(protected var mContext: Context) : AbstractS
|
|
|
74
75
|
}
|
|
75
76
|
mBelowLayerID = belowLayerID
|
|
76
77
|
if (mLayer != null) {
|
|
77
|
-
removeFromMap(mMapView
|
|
78
|
+
removeFromMap(mMapView!!,RemovalReason.REORDER)
|
|
78
79
|
addBelow(mBelowLayerID)
|
|
79
80
|
}
|
|
80
81
|
}
|
|
@@ -85,7 +86,7 @@ abstract class RCTLayer<T : Layer?>(protected var mContext: Context) : AbstractS
|
|
|
85
86
|
}
|
|
86
87
|
mLayerIndex = layerIndex
|
|
87
88
|
if (mLayer != null) {
|
|
88
|
-
removeFromMap(mMapView
|
|
89
|
+
removeFromMap(mMapView!!,RemovalReason.REORDER)
|
|
89
90
|
addAtIndex(layerIndex)
|
|
90
91
|
}
|
|
91
92
|
}
|
|
@@ -272,7 +273,7 @@ abstract class RCTLayer<T : Layer?>(protected var mContext: Context) : AbstractS
|
|
|
272
273
|
}
|
|
273
274
|
}
|
|
274
275
|
|
|
275
|
-
override fun removeFromMap(mapView: RCTMGLMapView) {
|
|
276
|
+
override fun removeFromMap(mapView: RCTMGLMapView, reason: RemovalReason): Boolean {
|
|
276
277
|
style?.let {
|
|
277
278
|
val layer = mLayer
|
|
278
279
|
if (layer != null) {
|
|
@@ -281,7 +282,7 @@ abstract class RCTLayer<T : Layer?>(protected var mContext: Context) : AbstractS
|
|
|
281
282
|
Logger.e("RCTLayer","mLayer is null on removal layer from map")
|
|
282
283
|
}
|
|
283
284
|
}
|
|
284
|
-
super.removeFromMap(mapView)
|
|
285
|
+
return super.removeFromMap(mapView, reason)
|
|
285
286
|
}
|
|
286
287
|
|
|
287
288
|
private val style: Style?
|
package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/light/RCTMGLLight.kt
CHANGED
|
@@ -7,6 +7,7 @@ import com.mapbox.maps.MapboxMap
|
|
|
7
7
|
import com.facebook.react.bridge.ReadableMap
|
|
8
8
|
import com.mapbox.maps.Style
|
|
9
9
|
import com.mapbox.maps.extension.style.light.generated.Light
|
|
10
|
+
import com.mapbox.rctmgl.components.RemovalReason
|
|
10
11
|
import com.mapbox.rctmgl.components.mapview.RCTMGLMapView
|
|
11
12
|
import com.mapbox.rctmgl.components.styles.RCTMGLStyleFactory
|
|
12
13
|
import com.mapbox.rctmgl.components.styles.RCTMGLStyle
|
|
@@ -15,12 +16,14 @@ class RCTMGLLight(context: Context?) : AbstractMapFeature(context) {
|
|
|
15
16
|
private var mMap: MapboxMap? = null
|
|
16
17
|
private var mReactStyle: ReadableMap? = null
|
|
17
18
|
override fun addToMap(mapView: RCTMGLMapView) {
|
|
19
|
+
super.addToMap(mapView)
|
|
18
20
|
mMap = mapView.getMapboxMap()
|
|
19
21
|
setLight()
|
|
20
22
|
}
|
|
21
23
|
|
|
22
|
-
override fun removeFromMap(mapView: RCTMGLMapView) {
|
|
24
|
+
override fun removeFromMap(mapView: RCTMGLMapView, reason: RemovalReason): Boolean {
|
|
23
25
|
// ignore there's nothing to remove just update the light style
|
|
26
|
+
return super.removeFromMap(mapView, reason)
|
|
24
27
|
}
|
|
25
28
|
|
|
26
29
|
fun setReactStyle(reactStyle: ReadableMap?) {
|