@rnmapbox/maps 10.0.0-beta.77 → 10.0.0-beta.79
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 +8 -1
- 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 +18 -23
- 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 +129 -82
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/mapview/RCTMGLMapViewManager.kt +26 -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/events/constants/EventTypes.java +5 -1
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/modules/RCTMGLModule.kt +4 -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 +55 -44
- package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/utils/extensions/Point.kt +5 -1
- package/ios/RCTMGL-v10/RCTMGLInteractiveElement.swift +3 -0
- package/ios/RCTMGL-v10/RCTMGLLogging.swift +3 -1
- package/ios/RCTMGL-v10/RCTMGLMapView.swift +13 -0
- package/ios/RCTMGL-v10/RCTMGLMapViewManager.m +1 -0
- package/ios/RCTMGL-v10/RCTMGLPointAnnotation.swift +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 +48 -30
- 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 +2 -0
- 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/checkRequiredProps.js +14 -0
- package/lib/commonjs/utils/checkRequiredProps.js.map +1 -0
- 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 +48 -30
- 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 +2 -0
- 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/checkRequiredProps.js +8 -0
- package/lib/module/utils/checkRequiredProps.js.map +1 -0
- 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 +19 -10
- 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/checkRequiredProps.d.ts +8 -0
- package/lib/typescript/utils/checkRequiredProps.d.ts.map +1 -0
- 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 +9 -8
- package/plugin/build/withMapbox.js +8 -5
- package/plugin/src/withMapbox.ts +10 -5
- package/rnmapbox-maps.podspec +3 -0
- package/{javascript → src}/components/Camera.tsx +2 -1
- package/{javascript → src}/components/MapView.tsx +70 -41
- package/{javascript → src}/components/PointAnnotation.tsx +2 -0
- package/{javascript → src}/components/UserLocation.tsx +1 -1
- package/src/utils/checkRequiredProps.ts +17 -0
- /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/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
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
def defaultMapboxMapsImpl = "maplibre"
|
|
2
|
+
def defaultMapboxMapsVersion = "10.11.2"
|
|
2
3
|
|
|
3
4
|
def safeExtGet(prop, fallback) {
|
|
4
5
|
rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
|
|
@@ -8,6 +9,10 @@ def safeExtGet(prop, fallback) {
|
|
|
8
9
|
if (rootProject.ext.has('expoRNMapboxMapsImpl')) {
|
|
9
10
|
rootProject.ext.set('RNMapboxMapsImpl', rootProject.ext.get('expoRNMapboxMapsImpl'))
|
|
10
11
|
}
|
|
12
|
+
if (rootProject.ext.has('expoRNMapboxMapsVersion')) {
|
|
13
|
+
rootProject.ext.set('RNMapboxMapsVersion', rootProject.ext.get('expoRNMapboxMapsVersion'))
|
|
14
|
+
}
|
|
15
|
+
|
|
11
16
|
|
|
12
17
|
buildscript {
|
|
13
18
|
repositories {
|
|
@@ -28,6 +33,7 @@ if (safeExtGet("RNMapboxMapsImpl", defaultMapboxMapsImpl) == "mapbox") {
|
|
|
28
33
|
|
|
29
34
|
android {
|
|
30
35
|
if (safeExtGet("RNMapboxMapsImpl", defaultMapboxMapsImpl) == "maplibre") {
|
|
36
|
+
logger.warn('@rnmapbox/maps: Maplibre implementation is DEPRECATED and will be removed, set RNMapboxMapsImpl to mapbox- see https://github.com/rnmapbox/maps/wiki/Deprecated-RNMapboxImpl-Maplibre#android')
|
|
31
37
|
sourceSets {
|
|
32
38
|
main {
|
|
33
39
|
java.srcDirs = ['src/main/java-mapboxgl/common','src/main/java-mapboxgl/maplibre']
|
|
@@ -35,6 +41,7 @@ android {
|
|
|
35
41
|
}
|
|
36
42
|
}
|
|
37
43
|
else if (safeExtGet("RNMapboxMapsImpl", defaultMapboxMapsImpl) == "mapbox-gl") {
|
|
44
|
+
logger.warn('@rnmapbox/maps: Maplibre implementation is DEPRECATED and will be removed, set RNMapboxMapsImpl to mapbox - see https://github.com/rnmapbox/maps/wiki/Deprecated-RNMapboxImpl-Maplibre#android')
|
|
38
45
|
sourceSets {
|
|
39
46
|
main {
|
|
40
47
|
java.srcDirs = ['src/main/java-mapboxgl/common','src/main/java-mapboxgl/mapbox']
|
|
@@ -130,7 +137,7 @@ dependencies {
|
|
|
130
137
|
implementation 'com.mapbox.mapboxsdk:mapbox-sdk-turf:5.1.0'
|
|
131
138
|
}
|
|
132
139
|
else if (safeExtGet("RNMapboxMapsImpl", defaultMapboxMapsImpl) == "mapbox") {
|
|
133
|
-
implementation
|
|
140
|
+
implementation "com.mapbox.maps:android:${safeExtGet("RNMapboxMapsVersion", defaultMapboxMapsVersion)}"
|
|
134
141
|
implementation 'com.mapbox.mapboxsdk:mapbox-sdk-turf:6.10.0'
|
|
135
142
|
implementation 'androidx.asynclayoutinflater:asynclayoutinflater:1.0.0'
|
|
136
143
|
}
|
|
@@ -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) {
|
|
@@ -88,7 +78,7 @@ class RCTMGLCamera(private val mContext: Context, private val mManager: RCTMGLCa
|
|
|
88
78
|
|
|
89
79
|
override fun onAnimationCancel(animator: Animator) {
|
|
90
80
|
if (!hasSentFirstRegion) {
|
|
91
|
-
mMapView
|
|
81
|
+
mMapView?.sendRegionChangeEvent(false)
|
|
92
82
|
hasSentFirstRegion = true
|
|
93
83
|
}
|
|
94
84
|
}
|
|
@@ -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
|
|
@@ -64,10 +66,7 @@ import com.mapbox.rctmgl.events.IEvent
|
|
|
64
66
|
import com.mapbox.rctmgl.events.MapChangeEvent
|
|
65
67
|
import com.mapbox.rctmgl.events.MapClickEvent
|
|
66
68
|
import com.mapbox.rctmgl.events.constants.EventTypes
|
|
67
|
-
import com.mapbox.rctmgl.utils
|
|
68
|
-
import com.mapbox.rctmgl.utils.GeoJSONUtils
|
|
69
|
-
import com.mapbox.rctmgl.utils.LatLng
|
|
70
|
-
import com.mapbox.rctmgl.utils.Logger
|
|
69
|
+
import com.mapbox.rctmgl.utils.*
|
|
71
70
|
import com.mapbox.rctmgl.utils.extensions.toReadableArray
|
|
72
71
|
import org.json.JSONException
|
|
73
72
|
import org.json.JSONObject
|
|
@@ -142,6 +141,10 @@ class RCTMGLLifeCycle {
|
|
|
142
141
|
}
|
|
143
142
|
}
|
|
144
143
|
|
|
144
|
+
data class FeatureEntry(val feature: AbstractMapFeature?, val view: View?, var addedToMap: Boolean = false) {
|
|
145
|
+
|
|
146
|
+
}
|
|
147
|
+
|
|
145
148
|
open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapViewManager /*, MapboxMapOptions options*/) : MapView(mContext), OnMapClickListener, OnMapLongClickListener {
|
|
146
149
|
/**
|
|
147
150
|
* `PointAnnotations` are rendered to a canvas, but the React Native `Image` component is
|
|
@@ -156,19 +159,23 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
|
|
|
156
159
|
private var mPointAnnotationManager: PointAnnotationManager? = null
|
|
157
160
|
private var mActiveMarkerID: Long = -1
|
|
158
161
|
private var mProjection: ProjectionName = ProjectionName.MERCATOR
|
|
162
|
+
private var mLocaleString: String? = null
|
|
163
|
+
private var mLocaleLayerIds: List<String>? = null
|
|
159
164
|
private var mStyleURL: String? = null
|
|
160
165
|
val isDestroyed = false
|
|
161
166
|
private var mCamera: RCTMGLCamera? = null
|
|
162
|
-
private val mFeatures
|
|
167
|
+
private val mFeatures = mutableListOf<FeatureEntry>()
|
|
163
168
|
private var mQueuedFeatures: MutableList<AbstractMapFeature>? = ArrayList()
|
|
164
169
|
private val mPointAnnotations: MutableMap<String, RCTMGLPointAnnotation>
|
|
165
170
|
private val mCameraChangeTracker = CameraChangeTracker()
|
|
166
171
|
private val mMap: MapboxMap?
|
|
167
172
|
|
|
168
|
-
// v10todo, style gets null if we add anyhing
|
|
169
173
|
var savedStyle: Style? = null
|
|
170
174
|
private set
|
|
171
|
-
|
|
175
|
+
|
|
176
|
+
private var styleLoaded = false
|
|
177
|
+
|
|
178
|
+
private var mHandledMapChangedEvents: HashSet<String>? = null
|
|
172
179
|
private var mAnnotationClicked = false
|
|
173
180
|
private var mAnnotationDragged = false
|
|
174
181
|
private var mLocationComponentManager: LocationComponentManager? = null
|
|
@@ -238,23 +245,31 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
|
|
|
238
245
|
return mPointAnnotationManager
|
|
239
246
|
}
|
|
240
247
|
|
|
248
|
+
private fun styleLoaded(style: Style) {
|
|
249
|
+
savedStyle = style
|
|
250
|
+
styleLoaded = true
|
|
251
|
+
setUpImage(style)
|
|
252
|
+
addFeaturesToMap()
|
|
253
|
+
applyLocalizeLabels()
|
|
254
|
+
style.setProjection(Projection(mProjection))
|
|
255
|
+
}
|
|
256
|
+
|
|
241
257
|
private fun onMapReady(map: MapboxMap) {
|
|
242
258
|
map.getStyle(object : Style.OnStyleLoaded {
|
|
243
259
|
override fun onStyleLoaded(style: Style) {
|
|
244
|
-
|
|
245
|
-
setUpImage(style)
|
|
246
|
-
addQueuedFeaturesToMap()
|
|
247
|
-
setupLocalization(style)
|
|
260
|
+
styleLoaded(style)
|
|
248
261
|
}
|
|
249
262
|
})
|
|
250
263
|
val _this = this
|
|
251
264
|
|
|
252
265
|
map.addOnCameraChangeListener(OnCameraChangeListener { cameraChangedEventData ->
|
|
253
266
|
handleMapChangedEvent(EventTypes.REGION_IS_CHANGING)
|
|
267
|
+
handleMapChangedEvent(EventTypes.CAMERA_CHANGED)
|
|
254
268
|
})
|
|
255
269
|
|
|
256
270
|
map.addOnMapIdleListener(OnMapIdleListener { mapIdleEventData ->
|
|
257
271
|
sendRegionDidChangeEvent()
|
|
272
|
+
handleMapChangedEvent(EventTypes.MAP_IDLE);
|
|
258
273
|
})
|
|
259
274
|
|
|
260
275
|
val gesturesPlugin: GesturesPlugin = this.gestures
|
|
@@ -325,7 +340,7 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
|
|
|
325
340
|
mMap.getStyle(onStyleLoaded)
|
|
326
341
|
}
|
|
327
342
|
|
|
328
|
-
// region
|
|
343
|
+
// region Features
|
|
329
344
|
fun addFeature(childView: View?, childPosition: Int) {
|
|
330
345
|
var feature: AbstractMapFeature? = null
|
|
331
346
|
if (childView is RCTSource<*>) {
|
|
@@ -354,23 +369,26 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
|
|
|
354
369
|
feature = childView as AbstractMapFeature?
|
|
355
370
|
} else if (childView is ViewGroup) {
|
|
356
371
|
val children = childView
|
|
372
|
+
Logger.w(LOG_TAG, "Adding non map components as a child of a map is deprecated!")
|
|
357
373
|
for (i in 0 until children.childCount) {
|
|
358
|
-
|
|
374
|
+
addView(children.getChildAt(i), childPosition)
|
|
359
375
|
}
|
|
360
376
|
}
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
377
|
+
|
|
378
|
+
val addToMap = styleLoaded
|
|
379
|
+
|
|
380
|
+
|
|
381
|
+
var entry = FeatureEntry(feature, childView, false)
|
|
382
|
+
if (addToMap) {
|
|
383
|
+
feature?.addToMap(this)
|
|
384
|
+
entry.addedToMap = true
|
|
368
385
|
}
|
|
386
|
+
mFeatures.add(childPosition, entry);
|
|
369
387
|
}
|
|
370
388
|
|
|
371
|
-
fun
|
|
372
|
-
val
|
|
373
|
-
|
|
389
|
+
fun removeFeatureAt(childPosition: Int) {
|
|
390
|
+
val entry = mFeatures[childPosition]
|
|
391
|
+
val feature = entry.feature
|
|
374
392
|
if (feature is RCTSource<*>) {
|
|
375
393
|
mSources.remove(feature.iD)
|
|
376
394
|
} else if (feature is RCTMGLPointAnnotation) {
|
|
@@ -382,67 +400,54 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
|
|
|
382
400
|
} else if (feature is RCTMGLImages) {
|
|
383
401
|
mImages.remove(feature)
|
|
384
402
|
}
|
|
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
|
|
403
|
+
if (entry.addedToMap) {
|
|
404
|
+
if (feature?.removeFromMap(this, RemovalReason.VIEW_REMOVAL) == true) {
|
|
405
|
+
entry.addedToMap = false
|
|
406
|
+
}
|
|
395
407
|
}
|
|
408
|
+
mFeatures.removeAt(childPosition)
|
|
396
409
|
}
|
|
397
410
|
|
|
398
411
|
val featureCount: Int
|
|
399
|
-
get() =
|
|
412
|
+
get() = mFeatures.size
|
|
400
413
|
|
|
401
|
-
fun getFeatureAt(i: Int):
|
|
402
|
-
return
|
|
414
|
+
fun getFeatureAt(i: Int): View? {
|
|
415
|
+
return mFeatures[i].view
|
|
403
416
|
}
|
|
404
417
|
|
|
405
|
-
fun
|
|
418
|
+
fun removeAllFeatureFromMap(reason: RemovalReason) {
|
|
406
419
|
mFeatures.forEach {
|
|
407
|
-
it.removeFromMap(this)
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
val queuedFeatures = mQueuedFeatures
|
|
411
|
-
if (queuedFeatures != null) {
|
|
412
|
-
queuedFeatures.clear()
|
|
420
|
+
if (it.feature?.removeFromMap(this, reason) == true) {
|
|
421
|
+
it.addedToMap = false
|
|
422
|
+
}
|
|
413
423
|
}
|
|
414
424
|
}
|
|
415
425
|
// endregion
|
|
416
426
|
|
|
417
427
|
fun sendRegionChangeEvent(isAnimated: Boolean) {
|
|
418
|
-
val
|
|
428
|
+
val didChangeEvent = MapChangeEvent(this, EventTypes.REGION_DID_CHANGE,
|
|
419
429
|
makeRegionPayload(isAnimated))
|
|
420
|
-
mManager.handleEvent(
|
|
430
|
+
mManager.handleEvent(didChangeEvent)
|
|
421
431
|
mCameraChangeTracker.setReason(CameraChangeReason.NONE)
|
|
422
432
|
}
|
|
423
433
|
|
|
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)
|
|
434
|
+
private fun removeAllFeaturesFromMap(reason: RemovalReason) {
|
|
435
|
+
mFeatures.forEach { it ->
|
|
436
|
+
if (it.feature?.removeFromMap(this, reason) == true) {
|
|
437
|
+
it.addedToMap = false
|
|
433
438
|
}
|
|
434
|
-
queuedFeatures.clear()
|
|
435
439
|
}
|
|
436
|
-
mQueuedFeatures = null;
|
|
437
440
|
}
|
|
438
441
|
|
|
439
|
-
private fun
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
442
|
+
private fun addFeaturesToMap() {
|
|
443
|
+
mFeatures.forEach {
|
|
444
|
+
if (!it.addedToMap) {
|
|
445
|
+
it.feature?.addToMap(this)
|
|
446
|
+
it.addedToMap = true
|
|
447
|
+
}
|
|
444
448
|
}
|
|
445
449
|
}
|
|
450
|
+
|
|
446
451
|
|
|
447
452
|
private val allTouchableSources: List<RCTSource<*>>
|
|
448
453
|
private get() {
|
|
@@ -507,23 +512,37 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
|
|
|
507
512
|
}
|
|
508
513
|
}
|
|
509
514
|
|
|
515
|
+
fun applyLocalizeLabels() {
|
|
516
|
+
val localeStr = mLocaleString
|
|
517
|
+
if (localeStr != null) {
|
|
518
|
+
val locale = if (localeStr == "current") Locale.getDefault() else Locale(localeStr)
|
|
519
|
+
savedStyle?.localizeLabels(locale, mLocaleLayerIds)
|
|
520
|
+
}
|
|
521
|
+
}
|
|
522
|
+
fun setReactLocalizeLabels(localeStr: String?, layerIds: List<String>?) {
|
|
523
|
+
if (localeStr != null) {
|
|
524
|
+
mLocaleString = localeStr
|
|
525
|
+
mLocaleLayerIds = layerIds
|
|
526
|
+
}
|
|
527
|
+
applyLocalizeLabels()
|
|
528
|
+
}
|
|
529
|
+
|
|
510
530
|
fun setReactStyleURL(styleURL: String) {
|
|
511
531
|
mStyleURL = styleURL
|
|
512
532
|
if (mMap != null) {
|
|
513
|
-
|
|
533
|
+
removeAllFeatureFromMap(RemovalReason.STYLE_CHANGE)
|
|
514
534
|
if (isJSONValid(mStyleURL)) {
|
|
535
|
+
styleLoaded = false
|
|
515
536
|
mMap.loadStyleJson(styleURL, object : Style.OnStyleLoaded {
|
|
516
537
|
override fun onStyleLoaded(style: Style) {
|
|
517
|
-
style
|
|
518
|
-
addAllFeaturesToMap()
|
|
538
|
+
styleLoaded(style)
|
|
519
539
|
}
|
|
520
540
|
})
|
|
521
541
|
} else {
|
|
542
|
+
styleLoaded = false
|
|
522
543
|
mMap.loadStyleUri(styleURL, object : Style.OnStyleLoaded {
|
|
523
544
|
override fun onStyleLoaded(style: Style) {
|
|
524
|
-
|
|
525
|
-
style.setProjection(Projection(mProjection))
|
|
526
|
-
addAllFeaturesToMap()
|
|
545
|
+
styleLoaded(style)
|
|
527
546
|
}
|
|
528
547
|
},
|
|
529
548
|
object : OnMapLoadErrorListener {
|
|
@@ -699,6 +718,8 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
|
|
|
699
718
|
waiters.add(callback)
|
|
700
719
|
}
|
|
701
720
|
|
|
721
|
+
// region Events
|
|
722
|
+
|
|
702
723
|
fun sendRegionDidChangeEvent() {
|
|
703
724
|
handleMapChangedEvent(EventTypes.REGION_DID_CHANGE)
|
|
704
725
|
mCameraChangeTracker.setReason(CameraChangeReason.NONE)
|
|
@@ -706,16 +727,52 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
|
|
|
706
727
|
|
|
707
728
|
private fun handleMapChangedEvent(eventType: String) {
|
|
708
729
|
if (!canHandleEvent(eventType)) return
|
|
730
|
+
|
|
709
731
|
val event: IEvent
|
|
710
732
|
event = when (eventType) {
|
|
711
733
|
EventTypes.REGION_WILL_CHANGE, EventTypes.REGION_DID_CHANGE, EventTypes.REGION_IS_CHANGING -> MapChangeEvent(this, eventType, makeRegionPayload(null))
|
|
734
|
+
EventTypes.CAMERA_CHANGED, EventTypes.MAP_IDLE -> MapChangeEvent(this, eventType, makeCameraPayload())
|
|
712
735
|
else -> MapChangeEvent(this, eventType)
|
|
713
736
|
}
|
|
714
737
|
mManager.handleEvent(event)
|
|
715
738
|
}
|
|
716
739
|
|
|
740
|
+
fun setHandledMapChangedEvents(events: Array<String>) {
|
|
741
|
+
mHandledMapChangedEvents = HashSet<String>(events.asList())
|
|
742
|
+
}
|
|
743
|
+
|
|
717
744
|
private fun canHandleEvent(event: String): Boolean {
|
|
718
|
-
|
|
745
|
+
val changedEvents = mHandledMapChangedEvents
|
|
746
|
+
return changedEvents == null || changedEvents.contains(event)
|
|
747
|
+
}
|
|
748
|
+
|
|
749
|
+
private fun makeCameraPayload(): WritableMap {
|
|
750
|
+
val position = mMap?.cameraState ?: return WritableNativeMap()
|
|
751
|
+
val properties = WritableNativeMap()
|
|
752
|
+
properties.putDouble("zoom", position.zoom)
|
|
753
|
+
properties.putDouble("heading", position.bearing)
|
|
754
|
+
properties.putDouble("pitch", position.pitch)
|
|
755
|
+
properties.putArray("center", position.center.toReadableArray())
|
|
756
|
+
try {
|
|
757
|
+
val bounds = mMap.coordinateBoundsForCamera(position.toCameraOptions())
|
|
758
|
+
|
|
759
|
+
val boundsMap = WritableNativeMap()
|
|
760
|
+
boundsMap.putArray("ne", bounds.northeast.toReadableArray())
|
|
761
|
+
boundsMap.putArray("sw", bounds.southwest.toReadableArray())
|
|
762
|
+
|
|
763
|
+
properties.putMap("bounds", boundsMap)
|
|
764
|
+
} catch (ex: Exception) {
|
|
765
|
+
Logger.e(LOG_TAG, "An error occurred while attempting to make the region", ex)
|
|
766
|
+
}
|
|
767
|
+
val gestures = WritableNativeMap()
|
|
768
|
+
gestures.putBoolean("isGestureActive", mCameraChangeTracker.isUserInteraction)
|
|
769
|
+
// gestures.putBoolean("isAnimatingFromGesture", if (null == isAnimated) mCameraChangeTracker.isAnimated else isAnimated)
|
|
770
|
+
|
|
771
|
+
val state: WritableMap = WritableNativeMap()
|
|
772
|
+
state.putMap("properties", properties)
|
|
773
|
+
state.putMap("gestures", gestures)
|
|
774
|
+
|
|
775
|
+
return state
|
|
719
776
|
}
|
|
720
777
|
|
|
721
778
|
private fun makeRegionPayload(isAnimated: Boolean?): WritableMap {
|
|
@@ -737,18 +794,7 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
|
|
|
737
794
|
return GeoJSONUtils.toPointFeature(latLng, properties)
|
|
738
795
|
}
|
|
739
796
|
|
|
740
|
-
|
|
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
|
-
}
|
|
797
|
+
// endregion
|
|
752
798
|
|
|
753
799
|
/**
|
|
754
800
|
* Adds the marker image to the map for use as a SymbolLayer icon
|
|
@@ -1245,7 +1291,7 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
|
|
|
1245
1291
|
}
|
|
1246
1292
|
|
|
1247
1293
|
override fun onDestroy() {
|
|
1248
|
-
|
|
1294
|
+
removeAllFeaturesFromMap(RemovalReason.ON_DESTROY)
|
|
1249
1295
|
viewAnnotationManager.removeAllViewAnnotations()
|
|
1250
1296
|
mLocationComponentManager?.onDestroy();
|
|
1251
1297
|
|
|
@@ -1254,7 +1300,7 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
|
|
|
1254
1300
|
}
|
|
1255
1301
|
|
|
1256
1302
|
fun onDropViewInstance() {
|
|
1257
|
-
|
|
1303
|
+
removeAllFeaturesFromMap(RemovalReason.ON_DESTROY)
|
|
1258
1304
|
viewAnnotationManager.removeAllViewAnnotations()
|
|
1259
1305
|
lifecycle.onDestroy()
|
|
1260
1306
|
}
|
|
@@ -1264,6 +1310,7 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
|
|
|
1264
1310
|
super.onAttachedToWindow()
|
|
1265
1311
|
}
|
|
1266
1312
|
|
|
1313
|
+
|
|
1267
1314
|
// endregion
|
|
1268
1315
|
}
|
|
1269
1316
|
|