@maplibre/maplibre-react-native 8.6.0-beta.0
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/.eslintignore +3 -0
- package/.eslintrc.js +158 -0
- package/.gitattributes +1 -0
- package/.nvmrc +1 -0
- package/.prettierrc.js +7 -0
- package/.sonarcloud.properties +15 -0
- package/CHANGELOG.md +367 -0
- package/CODE_OF_CONDUCT.md +2 -0
- package/CONTRIBUTING.md +34 -0
- package/LICENSE.md +9 -0
- package/README.md +224 -0
- package/RELEASE.md +30 -0
- package/android/build.gradle +34 -0
- package/android/install.md +16 -0
- package/android/rctmgl/.settings/org.eclipse.buildship.core.prefs +2 -0
- package/android/rctmgl/build.gradle +61 -0
- package/android/rctmgl/proguard-rules.pro +25 -0
- package/android/rctmgl/src/main/AndroidManifest.xml +4 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/RCTMGLPackage.java +99 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/AbstractEvent.java +35 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/AbstractEventEmitter.java +80 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/AbstractMapFeature.java +19 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/annotation/MarkerView.java +23 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/annotation/MarkerViewManager.java +67 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/annotation/RCTMGLCallout.java +15 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/annotation/RCTMGLCalloutManager.java +22 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/annotation/RCTMGLMarkerView.java +112 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/annotation/RCTMGLMarkerViewManager.java +45 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/annotation/RCTMGLPointAnnotation.java +360 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/annotation/RCTMGLPointAnnotationManager.java +88 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/camera/CameraStop.java +249 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/camera/CameraUpdateItem.java +125 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/camera/CameraUpdateQueue.java +73 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/camera/RCTMGLCamera.java +530 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/camera/RCTMGLCameraManager.java +101 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/camera/constants/CameraMode.java +22 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/images/RCTMGLImages.java +234 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/images/RCTMGLImagesManager.java +103 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/location/LocationComponentManager.java +149 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/location/RCTMGLNativeUserLocation.java +66 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/location/RCTMGLNativeUserLocationManager.java +35 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/mapview/LayerSourceInfo.java +59 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/mapview/RCTMGLAndroidTextureMapView.java +16 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/mapview/RCTMGLAndroidTextureMapViewManager.java +31 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/mapview/RCTMGLMapView.java +1527 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/mapview/RCTMGLMapViewManager.java +353 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/mapview/helpers/CameraChangeTracker.java +41 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/RCTMGLStyle.java +83 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/RCTMGLStyleFactory.java +2242 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/RCTMGLStyleFunctionParser.java +108 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/RCTMGLStyleValue.java +212 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTLayer.java +287 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLBackgroundLayer.java +27 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLBackgroundLayerManager.java +64 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLCircleLayer.java +55 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLCircleLayerManager.java +77 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillExtrusionLayer.java +55 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillExtrusionLayerManager.java +80 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillLayer.java +55 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillLayerManager.java +80 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLHeatmapLayer.java +55 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLHeatmapLayerManager.java +77 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLLineLayer.java +55 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLLineLayerManager.java +79 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLRasterLayer.java +27 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLRasterLayerManager.java +64 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLSymbolLayer.java +55 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLSymbolLayerManager.java +75 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/light/RCTMGLLight.java +65 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/light/RCTMGLLightManager.java +29 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTMGLImageSource.java +81 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTMGLImageSourceManager.java +72 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTMGLRasterSource.java +45 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTMGLRasterSourceManager.java +44 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTMGLShapeSource.java +302 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTMGLShapeSourceManager.java +227 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTMGLTileSource.java +97 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTMGLTileSourceManager.java +80 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTMGLVectorSource.java +64 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTMGLVectorSourceManager.java +84 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTSource.java +244 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/AbstractEvent.java +66 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/AndroidCallbackEvent.java +38 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/EventEmitter.java +45 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/FeatureClickEvent.java +79 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/IEvent.java +18 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/ImageMissingEvent.java +42 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/LocationEvent.java +100 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/MapChangeEvent.java +47 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/MapClickEvent.java +51 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/MapUserTrackingModeEvent.java +36 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/OfflineEvent.java +29 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/PointAnnotationClickEvent.java +46 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/PointAnnotationDragEvent.java +51 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/constants/EventKeys.java +39 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/constants/EventTypes.java +51 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/http/CustomHeadersInterceptor.java +38 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/location/LocationManager.java +168 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/location/UserLocation.java +63 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/location/UserLocationVerticalAlignment.java +11 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/location/UserTrackingMode.java +63 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/location/UserTrackingState.java +19 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/modules/RCTMGLLocationModule.java +158 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/modules/RCTMGLLogging.java +140 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/modules/RCTMGLModule.java +348 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/modules/RCTMGLOfflineModule.java +597 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/modules/RCTMGLSnapshotModule.java +139 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/utils/BitmapUtils.java +129 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/utils/ConvertUtils.java +257 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/utils/DownloadMapImageTask.java +159 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/utils/ExpressionParser.java +74 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/utils/GeoJSONUtils.java +209 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/utils/GeoViewport.java +38 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/utils/ImageEntry.java +25 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/utils/ResourceUtils.java +30 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/utils/SimpleEventCallback.java +30 -0
- package/android/rctmgl/src/main/java/com/mapbox/rctmgl/utils/SphericalMercator.java +69 -0
- package/android/rctmgl/src/main/res/drawable/empty.xml +5 -0
- package/android/rctmgl/src/main/res/drawable/empty_drawable.png +0 -0
- package/android/rctmgl/src/main/res/drawable-xxhdpi/red_marker.png +0 -0
- package/android/rctmgl/src/main/res/layout/annotation.xml +17 -0
- package/android/rctmgl/src/main/res/values/strings.xml +3 -0
- package/android/settings.gradle +1 -0
- package/app.plugin.js +1 -0
- package/assets/heading.png +0 -0
- package/assets/heading@2x.png +0 -0
- package/assets/heading@3x.png +0 -0
- package/assets/indoor_building_map_android.png +0 -0
- package/assets/indoor_building_map_ios.png +0 -0
- package/assets/mapbox_logo.png +0 -0
- package/babel.config.js +9 -0
- package/docs/Annotation.md +39 -0
- package/docs/Annotations.md +17 -0
- package/docs/BackgroundLayer.md +166 -0
- package/docs/Callout.md +15 -0
- package/docs/Camera.md +162 -0
- package/docs/CircleLayer.md +453 -0
- package/docs/CustomHttpHeaders.md +87 -0
- package/docs/FillExtrusionLayer.md +327 -0
- package/docs/FillLayer.md +293 -0
- package/docs/GettingStarted.md +72 -0
- package/docs/HeadingIndicator.md +10 -0
- package/docs/HeatmapLayer.md +215 -0
- package/docs/ImageSource.md +12 -0
- package/docs/Images.md +12 -0
- package/docs/Light.md +159 -0
- package/docs/LineLayer.md +567 -0
- package/docs/Logger.md +23 -0
- package/docs/MapView.md +211 -0
- package/docs/MapboxGL.md +65 -0
- package/docs/MarkerView.md +14 -0
- package/docs/NativeUserLocation.md +11 -0
- package/docs/OfflineManager.md +246 -0
- package/docs/PointAnnotation.md +34 -0
- package/docs/RasterLayer.md +357 -0
- package/docs/RasterSource.md +17 -0
- package/docs/ShapeSource.md +100 -0
- package/docs/Style.md +10 -0
- package/docs/StyleSheet.md +430 -0
- package/docs/SymbolLayer.md +1658 -0
- package/docs/UserLocation.md +39 -0
- package/docs/VectorSource.md +48 -0
- package/docs/docs.json +6093 -0
- package/docs/snapshotManager.md +53 -0
- package/index.d.ts +953 -0
- package/ios/RCTMGL/CameraMode.h +18 -0
- package/ios/RCTMGL/CameraMode.m +18 -0
- package/ios/RCTMGL/CameraStop.h +26 -0
- package/ios/RCTMGL/CameraStop.m +83 -0
- package/ios/RCTMGL/CameraUpdateItem.h +18 -0
- package/ios/RCTMGL/CameraUpdateItem.m +178 -0
- package/ios/RCTMGL/CameraUpdateQueue.h +21 -0
- package/ios/RCTMGL/CameraUpdateQueue.m +74 -0
- package/ios/RCTMGL/FilterParser.h +14 -0
- package/ios/RCTMGL/FilterParser.m +22 -0
- package/ios/RCTMGL/MGLCustomHeaders.h +20 -0
- package/ios/RCTMGL/MGLCustomHeaders.m +98 -0
- package/ios/RCTMGL/MGLFaux3DUserLocationAnnotationView.h +23 -0
- package/ios/RCTMGL/MGLFaux3DUserLocationAnnotationView.m +474 -0
- package/ios/RCTMGL/MGLModule.h +13 -0
- package/ios/RCTMGL/MGLModule.m +269 -0
- package/ios/RCTMGL/MGLOfflineModule.h +19 -0
- package/ios/RCTMGL/MGLOfflineModule.m +516 -0
- package/ios/RCTMGL/MGLSnapshotModule.h +13 -0
- package/ios/RCTMGL/MGLSnapshotModule.m +80 -0
- package/ios/RCTMGL/MGLUserLocationHeadingArrowLayer.h +11 -0
- package/ios/RCTMGL/MGLUserLocationHeadingArrowLayer.m +57 -0
- package/ios/RCTMGL/MGLUserLocationHeadingBeamLayer.h +11 -0
- package/ios/RCTMGL/MGLUserLocationHeadingBeamLayer.m +102 -0
- package/ios/RCTMGL/MGLUserLocationHeadingIndicator.h +10 -0
- package/ios/RCTMGL/RCTConvert+Mapbox.h +16 -0
- package/ios/RCTMGL/RCTConvert+Mapbox.m +32 -0
- package/ios/RCTMGL/RCTMGL.h +13 -0
- package/ios/RCTMGL/RCTMGL.m +13 -0
- package/ios/RCTMGL/RCTMGLBackgroundLayer.h +14 -0
- package/ios/RCTMGL/RCTMGLBackgroundLayer.m +27 -0
- package/ios/RCTMGL/RCTMGLBackgroundLayerManager.h +13 -0
- package/ios/RCTMGL/RCTMGLBackgroundLayerManager.m +35 -0
- package/ios/RCTMGL/RCTMGLCallout.h +15 -0
- package/ios/RCTMGL/RCTMGLCallout.m +74 -0
- package/ios/RCTMGL/RCTMGLCalloutManager.h +13 -0
- package/ios/RCTMGL/RCTMGLCalloutManager.m +21 -0
- package/ios/RCTMGL/RCTMGLCamera.h +39 -0
- package/ios/RCTMGL/RCTMGLCamera.m +258 -0
- package/ios/RCTMGL/RCTMGLCameraManager.h +13 -0
- package/ios/RCTMGL/RCTMGLCameraManager.m +52 -0
- package/ios/RCTMGL/RCTMGLCircleLayer.h +13 -0
- package/ios/RCTMGL/RCTMGLCircleLayer.m +34 -0
- package/ios/RCTMGL/RCTMGLCircleLayerManager.h +13 -0
- package/ios/RCTMGL/RCTMGLCircleLayerManager.m +39 -0
- package/ios/RCTMGL/RCTMGLEvent.h +21 -0
- package/ios/RCTMGL/RCTMGLEvent.m +47 -0
- package/ios/RCTMGL/RCTMGLEventProtocol.h +16 -0
- package/ios/RCTMGL/RCTMGLEventTypes.h +50 -0
- package/ios/RCTMGL/RCTMGLEventTypes.m +49 -0
- package/ios/RCTMGL/RCTMGLFillExtrusionLayer.h +14 -0
- package/ios/RCTMGL/RCTMGLFillExtrusionLayer.m +32 -0
- package/ios/RCTMGL/RCTMGLFillExtrusionLayerManager.h +13 -0
- package/ios/RCTMGL/RCTMGLFillExtrusionLayerManager.m +39 -0
- package/ios/RCTMGL/RCTMGLFillLayer.h +14 -0
- package/ios/RCTMGL/RCTMGLFillLayer.m +33 -0
- package/ios/RCTMGL/RCTMGLFillLayerManager.h +13 -0
- package/ios/RCTMGL/RCTMGLFillLayerManager.m +37 -0
- package/ios/RCTMGL/RCTMGLHeatmapLayer.h +12 -0
- package/ios/RCTMGL/RCTMGLHeatmapLayer.m +30 -0
- package/ios/RCTMGL/RCTMGLHeatmapLayerManager.h +12 -0
- package/ios/RCTMGL/RCTMGLHeatmapLayerManager.m +38 -0
- package/ios/RCTMGL/RCTMGLImageQueue.h +19 -0
- package/ios/RCTMGL/RCTMGLImageQueue.m +57 -0
- package/ios/RCTMGL/RCTMGLImageQueueOperation.h +17 -0
- package/ios/RCTMGL/RCTMGLImageQueueOperation.m +138 -0
- package/ios/RCTMGL/RCTMGLImageSource.h +16 -0
- package/ios/RCTMGL/RCTMGLImageSource.m +60 -0
- package/ios/RCTMGL/RCTMGLImageSourceManager.h +13 -0
- package/ios/RCTMGL/RCTMGLImageSourceManager.m +25 -0
- package/ios/RCTMGL/RCTMGLImages.h +25 -0
- package/ios/RCTMGL/RCTMGLImages.m +126 -0
- package/ios/RCTMGL/RCTMGLImagesManager.h +5 -0
- package/ios/RCTMGL/RCTMGLImagesManager.m +21 -0
- package/ios/RCTMGL/RCTMGLLayer.h +52 -0
- package/ios/RCTMGL/RCTMGLLayer.m +236 -0
- package/ios/RCTMGL/RCTMGLLight.h +17 -0
- package/ios/RCTMGL/RCTMGLLight.m +46 -0
- package/ios/RCTMGL/RCTMGLLightManager.h +13 -0
- package/ios/RCTMGL/RCTMGLLightManager.m +23 -0
- package/ios/RCTMGL/RCTMGLLineLayer.h +14 -0
- package/ios/RCTMGL/RCTMGLLineLayer.m +33 -0
- package/ios/RCTMGL/RCTMGLLineLayerManager.h +13 -0
- package/ios/RCTMGL/RCTMGLLineLayerManager.m +40 -0
- package/ios/RCTMGL/RCTMGLLocation.h +19 -0
- package/ios/RCTMGL/RCTMGLLocation.m +32 -0
- package/ios/RCTMGL/RCTMGLLocationManager.h +30 -0
- package/ios/RCTMGL/RCTMGLLocationManager.m +180 -0
- package/ios/RCTMGL/RCTMGLLocationManagerDelegate.h +20 -0
- package/ios/RCTMGL/RCTMGLLocationModule.h +15 -0
- package/ios/RCTMGL/RCTMGLLocationModule.m +99 -0
- package/ios/RCTMGL/RCTMGLLogging.h +18 -0
- package/ios/RCTMGL/RCTMGLLogging.m +132 -0
- package/ios/RCTMGL/RCTMGLMapTouchEvent.h +25 -0
- package/ios/RCTMGL/RCTMGLMapTouchEvent.m +77 -0
- package/ios/RCTMGL/RCTMGLMapView.h +91 -0
- package/ios/RCTMGL/RCTMGLMapView.m +536 -0
- package/ios/RCTMGL/RCTMGLMapViewManager.h +17 -0
- package/ios/RCTMGL/RCTMGLMapViewManager.m +625 -0
- package/ios/RCTMGL/RCTMGLNativeUserLocation.h +18 -0
- package/ios/RCTMGL/RCTMGLNativeUserLocation.m +49 -0
- package/ios/RCTMGL/RCTMGLNativeUserLocationManager.h +5 -0
- package/ios/RCTMGL/RCTMGLNativeUserLocationManager.m +25 -0
- package/ios/RCTMGL/RCTMGLPointAnnotation.h +41 -0
- package/ios/RCTMGL/RCTMGLPointAnnotation.m +251 -0
- package/ios/RCTMGL/RCTMGLPointAnnotationManager.h +13 -0
- package/ios/RCTMGL/RCTMGLPointAnnotationManager.m +36 -0
- package/ios/RCTMGL/RCTMGLRasterLayer.h +14 -0
- package/ios/RCTMGL/RCTMGLRasterLayer.m +30 -0
- package/ios/RCTMGL/RCTMGLRasterLayerManager.h +13 -0
- package/ios/RCTMGL/RCTMGLRasterLayerManager.m +35 -0
- package/ios/RCTMGL/RCTMGLRasterSource.h +16 -0
- package/ios/RCTMGL/RCTMGLRasterSource.m +35 -0
- package/ios/RCTMGL/RCTMGLRasterSourceManager.h +13 -0
- package/ios/RCTMGL/RCTMGLRasterSourceManager.m +32 -0
- package/ios/RCTMGL/RCTMGLShapeSource.h +52 -0
- package/ios/RCTMGL/RCTMGLShapeSource.m +180 -0
- package/ios/RCTMGL/RCTMGLShapeSourceManager.h +14 -0
- package/ios/RCTMGL/RCTMGLShapeSourceManager.m +205 -0
- package/ios/RCTMGL/RCTMGLSource.h +35 -0
- package/ios/RCTMGL/RCTMGLSource.m +143 -0
- package/ios/RCTMGL/RCTMGLStyle.h +219 -0
- package/ios/RCTMGL/RCTMGLStyle.m +1654 -0
- package/ios/RCTMGL/RCTMGLStyleValue.h +27 -0
- package/ios/RCTMGL/RCTMGLStyleValue.m +167 -0
- package/ios/RCTMGL/RCTMGLSymbolLayer.h +19 -0
- package/ios/RCTMGL/RCTMGLSymbolLayer.m +121 -0
- package/ios/RCTMGL/RCTMGLSymbolLayerManager.h +13 -0
- package/ios/RCTMGL/RCTMGLSymbolLayerManager.m +40 -0
- package/ios/RCTMGL/RCTMGLTileSource.h +22 -0
- package/ios/RCTMGL/RCTMGLTileSource.m +31 -0
- package/ios/RCTMGL/RCTMGLUserLocation.h +15 -0
- package/ios/RCTMGL/RCTMGLUserLocation.m +38 -0
- package/ios/RCTMGL/RCTMGLUtils.h +31 -0
- package/ios/RCTMGL/RCTMGLUtils.m +218 -0
- package/ios/RCTMGL/RCTMGLVectorLayer.h +15 -0
- package/ios/RCTMGL/RCTMGLVectorLayer.m +59 -0
- package/ios/RCTMGL/RCTMGLVectorSource.h +16 -0
- package/ios/RCTMGL/RCTMGLVectorSource.m +28 -0
- package/ios/RCTMGL/RCTMGLVectorSourceManager.h +14 -0
- package/ios/RCTMGL/RCTMGLVectorSourceManager.m +79 -0
- package/ios/RCTMGL/RNMBImageUtils.h +17 -0
- package/ios/RCTMGL/RNMBImageUtils.m +31 -0
- package/ios/RCTMGL/ViewManager.h +16 -0
- package/ios/RCTMGL/ViewManager.m +63 -0
- package/ios/RCTMGL/index.d.ts +1164 -0
- package/ios/RCTMGL.xcodeproj/project.pbxproj +774 -0
- package/ios/install.md +44 -0
- package/javascript/components/AbstractLayer.js +75 -0
- package/javascript/components/AbstractSource.js +15 -0
- package/javascript/components/BackgroundLayer.js +97 -0
- package/javascript/components/Callout.js +139 -0
- package/javascript/components/Camera.js +665 -0
- package/javascript/components/CircleLayer.js +101 -0
- package/javascript/components/FillExtrusionLayer.js +98 -0
- package/javascript/components/FillLayer.js +94 -0
- package/javascript/components/HeadingIndicator.js +31 -0
- package/javascript/components/HeatmapLayer.js +99 -0
- package/javascript/components/ImageSource.js +82 -0
- package/javascript/components/Images.js +119 -0
- package/javascript/components/Light.js +47 -0
- package/javascript/components/LineLayer.js +94 -0
- package/javascript/components/MapView.js +817 -0
- package/javascript/components/MarkerView.js +87 -0
- package/javascript/components/NativeBridgeComponent.js +86 -0
- package/javascript/components/NativeUserLocation.js +41 -0
- package/javascript/components/PointAnnotation.js +216 -0
- package/javascript/components/RasterLayer.js +95 -0
- package/javascript/components/RasterSource.js +124 -0
- package/javascript/components/ShapeSource.js +357 -0
- package/javascript/components/Style.js +264 -0
- package/javascript/components/SymbolLayer.js +120 -0
- package/javascript/components/UserLocation.js +273 -0
- package/javascript/components/VectorSource.js +200 -0
- package/javascript/components/annotations/Annotation.js +122 -0
- package/javascript/index.js +153 -0
- package/javascript/modules/location/locationManager.js +101 -0
- package/javascript/modules/offline/OfflineCreatePackOptions.js +46 -0
- package/javascript/modules/offline/OfflinePack.js +40 -0
- package/javascript/modules/offline/offlineManager.js +378 -0
- package/javascript/modules/snapshot/SnapshotOptions.js +67 -0
- package/javascript/modules/snapshot/snapshotManager.js +62 -0
- package/javascript/utils/BridgeValue.js +81 -0
- package/javascript/utils/Logger.js +114 -0
- package/javascript/utils/animated/Animated.js +39 -0
- package/javascript/utils/animated/AnimatedCoordinatesArray.js +191 -0
- package/javascript/utils/animated/AnimatedExtractCoordinateFromArray.js +43 -0
- package/javascript/utils/animated/AnimatedPoint.js +126 -0
- package/javascript/utils/animated/AnimatedRouteCoordinatesArray.js +124 -0
- package/javascript/utils/animated/AnimatedShape.js +72 -0
- package/javascript/utils/deprecation.js +25 -0
- package/javascript/utils/filterUtils.js +7 -0
- package/javascript/utils/geoUtils.js +73 -0
- package/javascript/utils/index.js +113 -0
- package/javascript/utils/styleMap.js +1901 -0
- package/maplibre-react-native.podspec +79 -0
- package/package.json +120 -0
- package/plugin/build/withMapbox.d.ts +12 -0
- package/plugin/build/withMapbox.js +119 -0
- package/plugin/install.md +32 -0
- package/react-native.config.js +10 -0
- package/scripts/autogenHelpers/DocJSONBuilder.js +458 -0
- package/scripts/autogenHelpers/JSDocNodeTree.js +131 -0
- package/scripts/autogenHelpers/MarkdownBuilder.js +29 -0
- package/scripts/autogenHelpers/globals.js +507 -0
- package/scripts/autogenerate.js +374 -0
- package/scripts/download-style-spec.sh +15 -0
- package/scripts/templates/RCTMGLStyle.h.ejs +33 -0
- package/scripts/templates/RCTMGLStyle.m.ejs +97 -0
- package/scripts/templates/RCTMGLStyleFactory.java.ejs +107 -0
- package/scripts/templates/component.md.ejs +122 -0
- package/scripts/templates/index.d.ts.ejs +56 -0
- package/scripts/templates/styleMap.js.ejs +115 -0
- package/setup-jest.js +121 -0
- package/style-spec/v8.json +5798 -0
- package/tsconfig.json +65 -0
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
package com.mapbox.rctmgl.events;
|
|
2
|
+
|
|
3
|
+
import android.location.Location;
|
|
4
|
+
import androidx.annotation.NonNull;
|
|
5
|
+
|
|
6
|
+
import com.facebook.react.bridge.Arguments;
|
|
7
|
+
import com.facebook.react.bridge.WritableMap;
|
|
8
|
+
import com.facebook.react.bridge.WritableNativeMap;
|
|
9
|
+
import com.mapbox.rctmgl.components.mapview.RCTMGLMapView;
|
|
10
|
+
import com.mapbox.rctmgl.events.constants.EventKeys;
|
|
11
|
+
import com.mapbox.rctmgl.events.constants.EventTypes;
|
|
12
|
+
|
|
13
|
+
import java.util.UUID;
|
|
14
|
+
|
|
15
|
+
public class LocationEvent implements IEvent {
|
|
16
|
+
private UUID uuid;
|
|
17
|
+
private RCTMGLMapView mapView;
|
|
18
|
+
private Location location;
|
|
19
|
+
|
|
20
|
+
public LocationEvent(@NonNull Location location, RCTMGLMapView mapView) {
|
|
21
|
+
this.mapView = mapView;
|
|
22
|
+
this.location = location;
|
|
23
|
+
this.uuid = UUID.randomUUID();
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
public LocationEvent(Location location) {
|
|
27
|
+
this(location, null);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
@Override
|
|
31
|
+
public int getID() {
|
|
32
|
+
if (mapView != null) {
|
|
33
|
+
return mapView.getId();
|
|
34
|
+
}
|
|
35
|
+
return -1;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
public UUID getUUID() {
|
|
39
|
+
return uuid;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
@Override
|
|
43
|
+
public String getKey() {
|
|
44
|
+
return EventKeys.USER_LOCATION_UPDATE;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
@Override
|
|
48
|
+
public String getType() {
|
|
49
|
+
return EventTypes.USER_LOCATION_UPDATED;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
@Override
|
|
53
|
+
public long getTimestamp() {
|
|
54
|
+
return System.currentTimeMillis();
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
@Override
|
|
58
|
+
public boolean equals(IEvent event) {
|
|
59
|
+
LocationEvent other = (LocationEvent) event;
|
|
60
|
+
return getUUID().equals(other.getUUID());
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
public boolean equals(LocationEvent event) {
|
|
64
|
+
return uuid.equals(event.getUUID());
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
@Override
|
|
68
|
+
public WritableMap getPayload() {
|
|
69
|
+
WritableMap positionProperties = new WritableNativeMap();
|
|
70
|
+
WritableMap coords = new WritableNativeMap();
|
|
71
|
+
|
|
72
|
+
coords.putDouble("longitude", location.getLongitude());
|
|
73
|
+
coords.putDouble("latitude", location.getLatitude());
|
|
74
|
+
coords.putDouble("altitude", location.getAltitude());
|
|
75
|
+
coords.putDouble("accuracy", location.getAccuracy());
|
|
76
|
+
// A better solution will be to pull the heading from the compass engine,
|
|
77
|
+
// unfortunately the api is not publicly available in the mapbox sdk
|
|
78
|
+
coords.putDouble("heading", location.getBearing());
|
|
79
|
+
coords.putDouble("course", location.getBearing());
|
|
80
|
+
coords.putDouble("speed", location.getSpeed());
|
|
81
|
+
|
|
82
|
+
positionProperties.putMap("coords", coords);
|
|
83
|
+
positionProperties.putDouble("timestamp", location.getTime());
|
|
84
|
+
|
|
85
|
+
return positionProperties;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
@Override
|
|
89
|
+
public WritableMap toJSON() {
|
|
90
|
+
WritableMap map = Arguments.createMap();
|
|
91
|
+
map.putString("type", getType());
|
|
92
|
+
map.putMap("payload", getPayload());
|
|
93
|
+
return map;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
@Override
|
|
97
|
+
public boolean canCoalesce() {
|
|
98
|
+
return true;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
package com.mapbox.rctmgl.events;
|
|
2
|
+
|
|
3
|
+
import android.view.View;
|
|
4
|
+
|
|
5
|
+
import com.facebook.react.bridge.Arguments;
|
|
6
|
+
import com.facebook.react.bridge.WritableMap;
|
|
7
|
+
|
|
8
|
+
import com.mapbox.rctmgl.events.constants.EventKeys;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Created by nickitaliano on 8/27/17.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
public class MapChangeEvent extends AbstractEvent {
|
|
15
|
+
private WritableMap mPayload;
|
|
16
|
+
|
|
17
|
+
public MapChangeEvent(View view, String eventType) {
|
|
18
|
+
this(view, eventType, Arguments.createMap());
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
public MapChangeEvent(View view, String eventType, WritableMap payload) {
|
|
22
|
+
super(view, eventType);
|
|
23
|
+
mPayload = payload;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
@Override
|
|
27
|
+
public String getKey() {
|
|
28
|
+
return EventKeys.MAP_ONCHANGE;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
@Override
|
|
32
|
+
public WritableMap getPayload() {
|
|
33
|
+
// FMTODO
|
|
34
|
+
WritableMap payloadClone = Arguments.createMap();
|
|
35
|
+
payloadClone.merge(mPayload);
|
|
36
|
+
return payloadClone;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
@Override
|
|
40
|
+
public boolean canCoalesce() {
|
|
41
|
+
// Make sure EventDispatcher never merges EventKeys.MAP_ONCHANGE events.
|
|
42
|
+
// This event name is used to emit events with different
|
|
43
|
+
// com.mapbox.rctmgl.events.constants.EventTypes which are dispatched separately on
|
|
44
|
+
// the JS side
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
package com.mapbox.rctmgl.events;
|
|
2
|
+
|
|
3
|
+
import android.graphics.PointF;
|
|
4
|
+
import androidx.annotation.NonNull;
|
|
5
|
+
import android.view.View;
|
|
6
|
+
|
|
7
|
+
import com.facebook.react.bridge.WritableMap;
|
|
8
|
+
import com.facebook.react.bridge.WritableNativeMap;
|
|
9
|
+
import com.mapbox.mapboxsdk.geometry.LatLng;
|
|
10
|
+
|
|
11
|
+
import com.mapbox.rctmgl.events.constants.EventKeys;
|
|
12
|
+
import com.mapbox.rctmgl.events.constants.EventTypes;
|
|
13
|
+
import com.mapbox.rctmgl.utils.GeoJSONUtils;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Created by nickitaliano on 8/23/17.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
public class MapClickEvent extends AbstractEvent {
|
|
20
|
+
private LatLng mTouchedLatLng;
|
|
21
|
+
private PointF mScreenPoint;
|
|
22
|
+
|
|
23
|
+
public MapClickEvent(View view, @NonNull LatLng latLng, @NonNull PointF screenPoint) {
|
|
24
|
+
this(view, latLng, screenPoint, EventTypes.MAP_CLICK);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
public MapClickEvent(View view, @NonNull LatLng latLng, @NonNull PointF screenPoint, String eventType) {
|
|
28
|
+
super(view, eventType);
|
|
29
|
+
mTouchedLatLng = latLng;
|
|
30
|
+
mScreenPoint = screenPoint;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
@Override
|
|
34
|
+
public String getKey() {
|
|
35
|
+
String eventType = getType();
|
|
36
|
+
|
|
37
|
+
if (eventType.equals(EventTypes.MAP_LONG_CLICK)) {
|
|
38
|
+
return EventKeys.MAP_LONG_CLICK;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return EventKeys.MAP_CLICK;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
@Override
|
|
45
|
+
public WritableMap getPayload() {
|
|
46
|
+
WritableMap properties = new WritableNativeMap();
|
|
47
|
+
properties.putDouble("screenPointX", mScreenPoint.x);
|
|
48
|
+
properties.putDouble("screenPointY", mScreenPoint.y);
|
|
49
|
+
return GeoJSONUtils.toPointFeature(mTouchedLatLng, properties);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
package com.mapbox.rctmgl.events;
|
|
2
|
+
|
|
3
|
+
import android.view.View;
|
|
4
|
+
|
|
5
|
+
import com.facebook.react.bridge.Arguments;
|
|
6
|
+
import com.facebook.react.bridge.WritableMap;
|
|
7
|
+
import com.mapbox.rctmgl.events.constants.EventKeys;
|
|
8
|
+
import com.mapbox.rctmgl.events.constants.EventTypes;
|
|
9
|
+
import com.mapbox.rctmgl.location.UserTrackingMode;
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Created by nickitaliano on 12/19/17.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
public class MapUserTrackingModeEvent extends AbstractEvent {
|
|
16
|
+
private int mUserTrackingMode;
|
|
17
|
+
|
|
18
|
+
public MapUserTrackingModeEvent(View view, int userTrackingMode) {
|
|
19
|
+
super(view, EventTypes.MAP_USER_TRACKING_MODE_CHANGE);
|
|
20
|
+
mUserTrackingMode = userTrackingMode;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
@Override
|
|
24
|
+
public String getKey() {
|
|
25
|
+
return EventKeys.MAP_USER_TRACKING_MODE_CHANGE;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
@Override
|
|
29
|
+
public WritableMap getPayload() {
|
|
30
|
+
WritableMap payload = Arguments.createMap();
|
|
31
|
+
payload.putBoolean("followUserLocation", mUserTrackingMode != UserTrackingMode.NONE);
|
|
32
|
+
payload.putString("followUserMode", UserTrackingMode.toString(mUserTrackingMode));
|
|
33
|
+
|
|
34
|
+
return payload;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
package com.mapbox.rctmgl.events;
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.bridge.ReadableMap;
|
|
4
|
+
import com.facebook.react.bridge.WritableMap;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Created by nickitaliano on 10/24/17.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
public class OfflineEvent extends AbstractEvent {
|
|
11
|
+
private String mEventKey;
|
|
12
|
+
private WritableMap mPayload;
|
|
13
|
+
|
|
14
|
+
public OfflineEvent(String eventKey, String eventType, WritableMap payload) {
|
|
15
|
+
super(eventType);
|
|
16
|
+
mEventKey = eventKey;
|
|
17
|
+
mPayload = payload;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
@Override
|
|
21
|
+
public String getKey() {
|
|
22
|
+
return mEventKey;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
@Override
|
|
26
|
+
public WritableMap getPayload() {
|
|
27
|
+
return mPayload;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
package com.mapbox.rctmgl.events;
|
|
2
|
+
|
|
3
|
+
import android.graphics.PointF;
|
|
4
|
+
import androidx.annotation.NonNull;
|
|
5
|
+
import android.view.View;
|
|
6
|
+
|
|
7
|
+
import com.facebook.react.bridge.WritableMap;
|
|
8
|
+
import com.facebook.react.bridge.WritableNativeMap;
|
|
9
|
+
import com.mapbox.mapboxsdk.plugins.markerview.MarkerView;
|
|
10
|
+
import com.mapbox.mapboxsdk.geometry.LatLng;
|
|
11
|
+
import com.mapbox.rctmgl.components.annotation.RCTMGLPointAnnotation;
|
|
12
|
+
import com.mapbox.rctmgl.events.constants.EventKeys;
|
|
13
|
+
import com.mapbox.rctmgl.events.constants.EventTypes;
|
|
14
|
+
import com.mapbox.rctmgl.utils.ConvertUtils;
|
|
15
|
+
import com.mapbox.rctmgl.utils.GeoJSONUtils;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Created by nickitaliano on 10/11/17.
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
public class PointAnnotationClickEvent extends MapClickEvent {
|
|
22
|
+
private RCTMGLPointAnnotation mView;
|
|
23
|
+
private LatLng mTouchedLatLng;
|
|
24
|
+
private PointF mScreenPoint;
|
|
25
|
+
|
|
26
|
+
public PointAnnotationClickEvent(RCTMGLPointAnnotation view, @NonNull LatLng latLng, @NonNull PointF screenPoint, String eventType) {
|
|
27
|
+
super(view, latLng, screenPoint, eventType);
|
|
28
|
+
mView = view;
|
|
29
|
+
mTouchedLatLng = latLng;
|
|
30
|
+
mScreenPoint = screenPoint;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
@Override
|
|
34
|
+
public String getKey() {
|
|
35
|
+
return getType().equals(EventTypes.ANNOTATION_SELECTED) ? EventKeys.POINT_ANNOTATION_SELECTED : EventKeys.POINT_ANNOTATION_DESELECTED;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
@Override
|
|
39
|
+
public WritableMap getPayload() {
|
|
40
|
+
WritableMap properties = new WritableNativeMap();
|
|
41
|
+
properties.putString("id", mView.getID());
|
|
42
|
+
properties.putDouble("screenPointX", mScreenPoint.x);
|
|
43
|
+
properties.putDouble("screenPointY", mScreenPoint.y);
|
|
44
|
+
return GeoJSONUtils.toPointFeature(mTouchedLatLng, properties);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
package com.mapbox.rctmgl.events;
|
|
2
|
+
|
|
3
|
+
import android.graphics.PointF;
|
|
4
|
+
import androidx.annotation.NonNull;
|
|
5
|
+
import android.view.View;
|
|
6
|
+
|
|
7
|
+
import com.facebook.react.bridge.WritableMap;
|
|
8
|
+
import com.facebook.react.bridge.WritableNativeMap;
|
|
9
|
+
import com.mapbox.mapboxsdk.plugins.markerview.MarkerView;
|
|
10
|
+
import com.mapbox.mapboxsdk.geometry.LatLng;
|
|
11
|
+
import com.mapbox.rctmgl.components.annotation.RCTMGLPointAnnotation;
|
|
12
|
+
import com.mapbox.rctmgl.events.constants.EventKeys;
|
|
13
|
+
import com.mapbox.rctmgl.events.constants.EventTypes;
|
|
14
|
+
import com.mapbox.rctmgl.utils.ConvertUtils;
|
|
15
|
+
import com.mapbox.rctmgl.utils.GeoJSONUtils;
|
|
16
|
+
|
|
17
|
+
public class PointAnnotationDragEvent extends MapClickEvent {
|
|
18
|
+
RCTMGLPointAnnotation mView;
|
|
19
|
+
private LatLng mTouchedLatLng;
|
|
20
|
+
private PointF mScreenPoint;
|
|
21
|
+
|
|
22
|
+
public PointAnnotationDragEvent(RCTMGLPointAnnotation view, @NonNull LatLng latLng, @NonNull PointF screenPoint, String eventType) {
|
|
23
|
+
super(view, latLng, screenPoint, eventType);
|
|
24
|
+
mView = view;
|
|
25
|
+
mTouchedLatLng = latLng;
|
|
26
|
+
mScreenPoint = screenPoint;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
@Override
|
|
30
|
+
public String getKey() {
|
|
31
|
+
String eventType = getType();
|
|
32
|
+
|
|
33
|
+
if (eventType.equals(EventTypes.ANNOTATION_DRAG_START)) {
|
|
34
|
+
return EventKeys.POINT_ANNOTATION_DRAG_START;
|
|
35
|
+
}
|
|
36
|
+
if (eventType.equals(EventTypes.ANNOTATION_DRAG_END)) {
|
|
37
|
+
return EventKeys.POINT_ANNOTATION_DRAG_END;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
return EventKeys.POINT_ANNOTATION_DRAG;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
@Override
|
|
44
|
+
public WritableMap getPayload() {
|
|
45
|
+
WritableMap properties = new WritableNativeMap();
|
|
46
|
+
properties.putString("id", mView.getID());
|
|
47
|
+
properties.putDouble("screenPointX", mScreenPoint.x);
|
|
48
|
+
properties.putDouble("screenPointY", mScreenPoint.y);
|
|
49
|
+
return GeoJSONUtils.toPointFeature(mTouchedLatLng, properties);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
package com.mapbox.rctmgl.events.constants;
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Created by nickitaliano on 8/27/17.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
public class EventKeys {
|
|
8
|
+
public static final String NAMESPACE = "rct.mapbox";
|
|
9
|
+
|
|
10
|
+
// map events
|
|
11
|
+
public static final String MAP_CLICK = ns("map.press");
|
|
12
|
+
public static final String MAP_LONG_CLICK = ns("map.longpress");
|
|
13
|
+
public static final String MAP_ONCHANGE = ns("map.change");
|
|
14
|
+
public static final String MAP_ON_LOCATION_CHANGE = ns("map.location.change");
|
|
15
|
+
public static final String MAP_ANDROID_CALLBACK = ns("map.androidcallback");
|
|
16
|
+
public static final String MAP_USER_TRACKING_MODE_CHANGE = ns("map.usertrackingmodechange");
|
|
17
|
+
|
|
18
|
+
// point annotation events
|
|
19
|
+
public static final String POINT_ANNOTATION_SELECTED = ns("pointannotation.selected");
|
|
20
|
+
public static final String POINT_ANNOTATION_DESELECTED = ns("pointannotation.deselected");
|
|
21
|
+
public static final String POINT_ANNOTATION_DRAG_START = ns("pointannotation.dragstart");
|
|
22
|
+
public static final String POINT_ANNOTATION_DRAG = ns("pointannotation.drag");
|
|
23
|
+
public static final String POINT_ANNOTATION_DRAG_END = ns("pointannotation.dragend");
|
|
24
|
+
|
|
25
|
+
// source events
|
|
26
|
+
public static final String SHAPE_SOURCE_LAYER_CLICK = ns("shapesource.layer.pressed");
|
|
27
|
+
public static final String VECTOR_SOURCE_LAYER_CLICK = ns("vectorsource.layer.pressed");
|
|
28
|
+
public static final String RASTER_SOURCE_LAYER_CLICK = ns("rastersource.layer.pressed");
|
|
29
|
+
|
|
30
|
+
// images event
|
|
31
|
+
public static final String IMAGES_MISSING = ns("images.missing");
|
|
32
|
+
|
|
33
|
+
// location events
|
|
34
|
+
public static final String USER_LOCATION_UPDATE = ns("user.location.update");
|
|
35
|
+
|
|
36
|
+
private static String ns(String name) {
|
|
37
|
+
return String.format("%s.%s", NAMESPACE, name);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
package com.mapbox.rctmgl.events.constants;
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Created by nickitaliano on 8/24/17.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
public class EventTypes {
|
|
8
|
+
// map event types
|
|
9
|
+
public static final String MAP_CLICK = "press";
|
|
10
|
+
public static final String MAP_LONG_CLICK = "longpress";
|
|
11
|
+
public static final String MAP_USER_TRACKING_MODE_CHANGE = "usertrackingmodechange";
|
|
12
|
+
|
|
13
|
+
public static final String REGION_WILL_CHANGE = "regionwillchange";
|
|
14
|
+
public static final String REGION_IS_CHANGING = "regionischanging";
|
|
15
|
+
public static final String REGION_DID_CHANGE = "regiondidchange";
|
|
16
|
+
public static final String USER_LOCATION_UPDATED = "userlocationdupdated";
|
|
17
|
+
|
|
18
|
+
public static final String WILL_START_LOADING_MAP = "willstartloadingmap";
|
|
19
|
+
public static final String DID_FINISH_LOADING_MAP = "didfinishloadingmap";
|
|
20
|
+
public static final String DID_FAIL_LOADING_MAP = "didfailloadingmap";
|
|
21
|
+
|
|
22
|
+
public static final String WILL_START_RENDERING_FRAME = "willstartrenderingframe";
|
|
23
|
+
public static final String DID_FINISH_RENDERING_FRAME = "didfinishrenderingframe";
|
|
24
|
+
public static final String DID_FINISH_RENDERING_FRAME_FULLY = "didfinishrenderingframefully";
|
|
25
|
+
|
|
26
|
+
public static final String WILL_START_RENDERING_MAP = "willstartrenderingmap";
|
|
27
|
+
public static final String DID_FINISH_RENDERING_MAP = "didfinishrenderingmap";
|
|
28
|
+
public static final String DID_FINISH_RENDERING_MAP_FULLY = "didfinishrenderingmapfully";
|
|
29
|
+
|
|
30
|
+
public static final String DID_FINISH_LOADING_STYLE = "didfinishloadingstyle";
|
|
31
|
+
|
|
32
|
+
// point annotation event types
|
|
33
|
+
public static final String ANNOTATION_SELECTED = "annotationselected";
|
|
34
|
+
public static final String ANNOTATION_DESELECTED = "annotationdeselected";
|
|
35
|
+
public static final String ANNOTATION_DRAG_START = "annotationdragstart";
|
|
36
|
+
public static final String ANNOTATION_DRAG = "annotationdrag";
|
|
37
|
+
public static final String ANNOTATION_DRAG_END = "annotationdragend";
|
|
38
|
+
|
|
39
|
+
// offline event types
|
|
40
|
+
public static final String OFFLINE_ERROR = "offlineerror";
|
|
41
|
+
public static final String OFFLINE_TILE_LIMIT = "offlinetilelimit";
|
|
42
|
+
public static final String OFFLINE_STATUS = "offlinestatus";
|
|
43
|
+
|
|
44
|
+
// shape source event types
|
|
45
|
+
public static final String SHAPE_SOURCE_LAYER_CLICK = "shapesourcelayerpress";
|
|
46
|
+
public static final String VECTOR_SOURCE_LAYER_CLICK = "vectorsourcelayerpress";
|
|
47
|
+
public static final String RASTER_SOURCE_LAYER_CLICK = "rastersourcelayerpress";
|
|
48
|
+
|
|
49
|
+
// image missing event type
|
|
50
|
+
public static final String IMAGES_MISSING = "imagesmissing";
|
|
51
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
package com.mapbox.rctmgl.http;
|
|
2
|
+
|
|
3
|
+
import android.util.Log;
|
|
4
|
+
|
|
5
|
+
import org.jetbrains.annotations.NotNull;
|
|
6
|
+
|
|
7
|
+
import java.io.IOException;
|
|
8
|
+
import java.util.HashMap;
|
|
9
|
+
import java.util.Map;
|
|
10
|
+
|
|
11
|
+
import okhttp3.Interceptor;
|
|
12
|
+
import okhttp3.Request;
|
|
13
|
+
import okhttp3.Response;
|
|
14
|
+
|
|
15
|
+
public class CustomHeadersInterceptor implements Interceptor {
|
|
16
|
+
|
|
17
|
+
public static final CustomHeadersInterceptor INSTANCE = new CustomHeadersInterceptor();
|
|
18
|
+
private Map<String, String> customHeaders = new HashMap<>();
|
|
19
|
+
|
|
20
|
+
public void addHeader(@NotNull final String headerName, @NotNull String headerValue) {
|
|
21
|
+
customHeaders.put(headerName, headerValue);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
public void removeHeader(@NotNull final String headerName) {
|
|
25
|
+
customHeaders.remove(headerName);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
@Override
|
|
29
|
+
public Response intercept(@NotNull Chain chain) throws IOException {
|
|
30
|
+
Request.Builder modifiedHeaderBuilder = chain.request().newBuilder();
|
|
31
|
+
for (Map.Entry<String, String> entry : customHeaders.entrySet()) {
|
|
32
|
+
modifiedHeaderBuilder.addHeader(entry.getKey(), entry.getValue());
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
Request request = modifiedHeaderBuilder.build();
|
|
36
|
+
return chain.proceed(request);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
package com.mapbox.rctmgl.location;
|
|
2
|
+
|
|
3
|
+
import android.content.Context;
|
|
4
|
+
import android.location.Location;
|
|
5
|
+
import android.os.Looper;
|
|
6
|
+
import android.util.Log;
|
|
7
|
+
|
|
8
|
+
import com.mapbox.mapboxsdk.location.engine.LocationEngine;
|
|
9
|
+
import com.mapbox.mapboxsdk.location.engine.LocationEngineCallback;
|
|
10
|
+
|
|
11
|
+
/*
|
|
12
|
+
import com.mapbox.android.core.location.LocationEngineListener;
|
|
13
|
+
import com.mapbox.android.core.location.LocationEnginePriority;
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
import com.mapbox.mapboxsdk.location.engine.LocationEngineProvider;
|
|
17
|
+
import com.mapbox.mapboxsdk.location.engine.LocationEngineRequest;
|
|
18
|
+
import com.mapbox.mapboxsdk.location.engine.LocationEngineResult;
|
|
19
|
+
import com.mapbox.mapboxsdk.location.permissions.PermissionsManager;
|
|
20
|
+
|
|
21
|
+
import java.lang.ref.WeakReference;
|
|
22
|
+
import java.util.ArrayList;
|
|
23
|
+
import java.util.List;
|
|
24
|
+
import java.util.Locale;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Created by nickitaliano on 12/12/17.
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
@SuppressWarnings({"MissingPermission"})
|
|
31
|
+
public class LocationManager implements LocationEngineCallback<LocationEngineResult> {
|
|
32
|
+
static final long DEFAULT_FASTEST_INTERVAL_MILLIS = 1000;
|
|
33
|
+
static final long DEFAULT_INTERVAL_MILLIS = 1000;
|
|
34
|
+
|
|
35
|
+
public static final String LOG_TAG = "LocationManager";
|
|
36
|
+
|
|
37
|
+
private LocationEngine locationEngine;
|
|
38
|
+
private Context context;
|
|
39
|
+
private List<OnUserLocationChange> listeners = new ArrayList<>();
|
|
40
|
+
|
|
41
|
+
private float mMinDisplacement = 0;
|
|
42
|
+
private boolean isActive = false;
|
|
43
|
+
private Location lastLocation = null;
|
|
44
|
+
|
|
45
|
+
private LocationEngineRequest locationEngineRequest = null;
|
|
46
|
+
|
|
47
|
+
private static WeakReference<LocationManager> INSTANCE = null;
|
|
48
|
+
|
|
49
|
+
public static LocationManager getInstance(Context context) {
|
|
50
|
+
if (INSTANCE == null) {
|
|
51
|
+
INSTANCE = new WeakReference<>(new LocationManager(context));
|
|
52
|
+
}
|
|
53
|
+
return INSTANCE.get();
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
public interface OnUserLocationChange {
|
|
57
|
+
void onLocationChange(Location location);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
private LocationManager(Context context) {
|
|
61
|
+
this.context = context;
|
|
62
|
+
this.buildEngineRequest();
|
|
63
|
+
|
|
64
|
+
}
|
|
65
|
+
private void buildEngineRequest() {
|
|
66
|
+
locationEngine = LocationEngineProvider.getBestLocationEngine(this.context.getApplicationContext());
|
|
67
|
+
locationEngineRequest = new LocationEngineRequest.Builder(DEFAULT_INTERVAL_MILLIS)
|
|
68
|
+
.setFastestInterval(DEFAULT_FASTEST_INTERVAL_MILLIS)
|
|
69
|
+
.setPriority(LocationEngineRequest.PRIORITY_HIGH_ACCURACY)
|
|
70
|
+
.setDisplacement(mMinDisplacement)
|
|
71
|
+
.build();
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
public void addLocationListener(OnUserLocationChange listener) {
|
|
75
|
+
if (!listeners.contains(listener)) {
|
|
76
|
+
listeners.add(listener);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
public void removeLocationListener(OnUserLocationChange listener) {
|
|
81
|
+
if (listeners.contains(listener)) {
|
|
82
|
+
listeners.remove(listener);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
public void setMinDisplacement(float minDisplacement) {
|
|
86
|
+
mMinDisplacement = minDisplacement;
|
|
87
|
+
}
|
|
88
|
+
public void enable() {
|
|
89
|
+
if (!PermissionsManager.areLocationPermissionsGranted(context)) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
// remove existing listeners
|
|
94
|
+
locationEngine.removeLocationUpdates(this);
|
|
95
|
+
|
|
96
|
+
// refresh location engine request with new values
|
|
97
|
+
this.buildEngineRequest();
|
|
98
|
+
|
|
99
|
+
// add new listeners
|
|
100
|
+
locationEngine.requestLocationUpdates(
|
|
101
|
+
locationEngineRequest,
|
|
102
|
+
this,
|
|
103
|
+
Looper.getMainLooper()
|
|
104
|
+
);
|
|
105
|
+
isActive = true;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
public void disable() {
|
|
110
|
+
locationEngine.removeLocationUpdates(this);
|
|
111
|
+
isActive = false;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
public void dispose() {
|
|
115
|
+
if (locationEngine == null) {
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
disable();
|
|
119
|
+
locationEngine.removeLocationUpdates(this);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
public boolean isActive() {
|
|
123
|
+
return locationEngine != null && this.isActive;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
public Location getLastKnownLocation() {
|
|
127
|
+
if (locationEngine == null) {
|
|
128
|
+
return null;
|
|
129
|
+
}
|
|
130
|
+
return lastLocation;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
public void getLastKnownLocation(LocationEngineCallback<LocationEngineResult> callback) {
|
|
135
|
+
if (locationEngine == null) {
|
|
136
|
+
callback.onFailure(new Exception("LocationEngine not initialized"));
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
try {
|
|
140
|
+
locationEngine.getLastLocation(callback);
|
|
141
|
+
}
|
|
142
|
+
catch(Exception exception) {
|
|
143
|
+
Log.w(LOG_TAG, exception);
|
|
144
|
+
callback.onFailure(exception);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
public LocationEngine getEngine() {
|
|
149
|
+
return locationEngine;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
public void onLocationChanged(Location location) {
|
|
153
|
+
lastLocation = location;
|
|
154
|
+
for (OnUserLocationChange listener : listeners) {
|
|
155
|
+
listener.onLocationChange(location);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
@Override
|
|
160
|
+
public void onFailure(Exception exception) {
|
|
161
|
+
// FMTODO handle this.
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
@Override
|
|
165
|
+
public void onSuccess(LocationEngineResult result) {
|
|
166
|
+
onLocationChanged(result.getLastLocation());
|
|
167
|
+
}
|
|
168
|
+
}
|