@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,30 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RCTMGLLocationManager.h
|
|
3
|
+
// RCTMGL
|
|
4
|
+
//
|
|
5
|
+
// Created by Nick Italiano on 6/21/18.
|
|
6
|
+
// Copyright © 2018 Mapbox Inc. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import <Foundation/Foundation.h>
|
|
10
|
+
|
|
11
|
+
#import "RCTMGLLocation.h"
|
|
12
|
+
#import "RCTMGLLocationManagerDelegate.h"
|
|
13
|
+
|
|
14
|
+
typedef void (^RCTMGLLocationBlock)(RCTMGLLocation *location);
|
|
15
|
+
|
|
16
|
+
@interface RCTMGLLocationManager : NSObject
|
|
17
|
+
|
|
18
|
+
@property (nonatomic, strong) id<RCTMGLLocationManagerDelegate> delegate;
|
|
19
|
+
|
|
20
|
+
+ (id)sharedInstance;
|
|
21
|
+
|
|
22
|
+
- (void)start:(CLLocationDistance)minDisplacement;
|
|
23
|
+
- (void)stop;
|
|
24
|
+
- (void)setMinDisplacement:(CLLocationDistance)minDisplacement;
|
|
25
|
+
- (BOOL)isEnabled;
|
|
26
|
+
- (RCTMGLLocation *)getLastKnownLocation;
|
|
27
|
+
- (void)addListener:(RCTMGLLocationBlock)listener;
|
|
28
|
+
- (void)removeListener:(RCTMGLLocationBlock)listener;
|
|
29
|
+
|
|
30
|
+
@end
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RCTMGLLocationManager.m
|
|
3
|
+
// RCTMGL
|
|
4
|
+
//
|
|
5
|
+
// Created by Nick Italiano on 6/21/18.
|
|
6
|
+
// Copyright © 2018 Mapbox Inc. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import <CoreLocation/CoreLocation.h>
|
|
10
|
+
#import "RCTMGLLocationManager.h"
|
|
11
|
+
|
|
12
|
+
@interface RCTMGLLocationManager()<CLLocationManagerDelegate>
|
|
13
|
+
@end
|
|
14
|
+
|
|
15
|
+
@implementation RCTMGLLocationManager
|
|
16
|
+
{
|
|
17
|
+
CLLocationManager *locationManager;
|
|
18
|
+
CLLocation *lastKnownLocation;
|
|
19
|
+
CLHeading *lastKnownHeading;
|
|
20
|
+
CLLocationDistance displacement;
|
|
21
|
+
NSMutableArray<RCTMGLLocationBlock> *listeners;
|
|
22
|
+
BOOL isListening;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
+ (id)sharedInstance
|
|
26
|
+
{
|
|
27
|
+
static RCTMGLLocationManager *manager = nil;
|
|
28
|
+
static dispatch_once_t onceToken;
|
|
29
|
+
dispatch_once(&onceToken, ^{ manager = [[self alloc] init]; });
|
|
30
|
+
return manager;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
- (instancetype)init
|
|
34
|
+
{
|
|
35
|
+
if (self = [super init]) {
|
|
36
|
+
[self _setupLocationManager];
|
|
37
|
+
listeners = [[NSMutableArray alloc] init];
|
|
38
|
+
displacement = 0.0;
|
|
39
|
+
}
|
|
40
|
+
return self;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
- (void)dealloc
|
|
44
|
+
{
|
|
45
|
+
locationManager.delegate = nil;
|
|
46
|
+
[self stop];
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
- (void)start:(CLLocationDistance)minDisplacement
|
|
50
|
+
{
|
|
51
|
+
|
|
52
|
+
displacement = minDisplacement;
|
|
53
|
+
|
|
54
|
+
if ([self isEnabled]) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
dispatch_async(dispatch_get_main_queue(), ^{
|
|
59
|
+
[self->locationManager requestWhenInUseAuthorization];
|
|
60
|
+
[self->locationManager startUpdatingLocation];
|
|
61
|
+
[self->locationManager startUpdatingHeading];
|
|
62
|
+
[self->locationManager setDistanceFilter:(minDisplacement)];
|
|
63
|
+
self->isListening = YES;
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
- (void)setMinDisplacement:(CLLocationDistance)minDisplacement
|
|
68
|
+
{
|
|
69
|
+
|
|
70
|
+
displacement = minDisplacement;
|
|
71
|
+
|
|
72
|
+
dispatch_async(dispatch_get_main_queue(), ^{
|
|
73
|
+
[self->locationManager setDistanceFilter:(minDisplacement)];
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
- (void)stop
|
|
78
|
+
{
|
|
79
|
+
if (![self isEnabled]) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
dispatch_async(dispatch_get_main_queue(), ^{
|
|
84
|
+
[self->locationManager stopUpdatingLocation];
|
|
85
|
+
[self->locationManager stopUpdatingHeading];
|
|
86
|
+
self->isListening = NO;
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
- (BOOL)isEnabled
|
|
91
|
+
{
|
|
92
|
+
return isListening;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
- (RCTMGLLocation *)getLastKnownLocation
|
|
96
|
+
{
|
|
97
|
+
CLLocation* newLastLocation = locationManager.location;
|
|
98
|
+
if (newLastLocation) {
|
|
99
|
+
lastKnownLocation = newLastLocation;
|
|
100
|
+
}
|
|
101
|
+
RCTMGLLocation *location = [self _convertToMapboxLocation:lastKnownLocation];
|
|
102
|
+
return location;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
- (void)addListener:(RCTMGLLocationBlock)listener
|
|
106
|
+
{
|
|
107
|
+
if (![listeners containsObject:listener]) {
|
|
108
|
+
[listeners addObject:listener];
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
- (void)removeListener:(RCTMGLLocationBlock)listener
|
|
113
|
+
{
|
|
114
|
+
NSUInteger indexOf = [listeners indexOfObject:listener];
|
|
115
|
+
|
|
116
|
+
if (indexOf == NSNotFound) {
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
[listeners removeObjectAtIndex:indexOf];
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
- (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)heading
|
|
124
|
+
{
|
|
125
|
+
lastKnownHeading = heading;
|
|
126
|
+
|
|
127
|
+
if (displacement > 0) {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
[self _updateDelegate];
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray<CLLocation *> *)locations
|
|
135
|
+
{
|
|
136
|
+
lastKnownLocation = [locations lastObject];
|
|
137
|
+
[self _updateDelegate];
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
- (void)_setupLocationManager
|
|
141
|
+
{
|
|
142
|
+
__weak RCTMGLLocationManager *weakSelf = self;
|
|
143
|
+
|
|
144
|
+
dispatch_async(dispatch_get_main_queue(), ^{
|
|
145
|
+
self->locationManager = [[CLLocationManager alloc] init];
|
|
146
|
+
self->locationManager.delegate = weakSelf;
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
- (void)_updateDelegate
|
|
151
|
+
{
|
|
152
|
+
if (_delegate == nil) {
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
RCTMGLLocation *userLocation = [self _convertToMapboxLocation:lastKnownLocation];
|
|
157
|
+
|
|
158
|
+
if (listeners.count > 0) {
|
|
159
|
+
for (int i = 0; i < listeners.count; i++) {
|
|
160
|
+
RCTMGLLocationBlock listener = listeners[i];
|
|
161
|
+
listener(userLocation);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
[_delegate locationManager:self didUpdateLocation:userLocation];
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
- (RCTMGLLocation *)_convertToMapboxLocation:(CLLocation *)location
|
|
169
|
+
{
|
|
170
|
+
if (location == nil) {
|
|
171
|
+
return nil;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
RCTMGLLocation *userLocation = [[RCTMGLLocation alloc] init];
|
|
175
|
+
userLocation.location = location;
|
|
176
|
+
userLocation.heading = lastKnownHeading;
|
|
177
|
+
return userLocation;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
@end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RCTMGLLocationManagerDelegate.h
|
|
3
|
+
// RCTMGL
|
|
4
|
+
//
|
|
5
|
+
// Created by Nick Italiano on 6/21/18.
|
|
6
|
+
// Copyright © 2018 Mapbox Inc. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import <CoreLocation/CoreLocation.h>
|
|
10
|
+
|
|
11
|
+
#import "RCTMGLLocation.h"
|
|
12
|
+
|
|
13
|
+
@class RCTMGLLocationManager;
|
|
14
|
+
|
|
15
|
+
@protocol RCTMGLLocationManagerDelegate<NSObject>
|
|
16
|
+
|
|
17
|
+
- (void)locationManager:(RCTMGLLocationManager *)locationManager didUpdateLocation:(RCTMGLLocation *)location;
|
|
18
|
+
|
|
19
|
+
@end
|
|
20
|
+
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RCTMGLLocationManager.h
|
|
3
|
+
// RCTMGL
|
|
4
|
+
//
|
|
5
|
+
// Created by Nick Italiano on 6/21/18.
|
|
6
|
+
// Copyright © 2018 Mapbox Inc. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import <Foundation/Foundation.h>
|
|
10
|
+
#import <React/RCTBridgeModule.h>
|
|
11
|
+
#import <React/RCTEventEmitter.h>
|
|
12
|
+
|
|
13
|
+
@interface RCTMGLLocationModule : RCTEventEmitter<RCTBridgeModule>
|
|
14
|
+
|
|
15
|
+
@end
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RCTMGLLocationManager.m
|
|
3
|
+
// RCTMGL
|
|
4
|
+
//
|
|
5
|
+
// Created by Nick Italiano on 6/21/18.
|
|
6
|
+
// Copyright © 2018 Mapbox Inc. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import <CoreLocation/CoreLocation.h>
|
|
10
|
+
|
|
11
|
+
#import "RCTMGLLocation.h"
|
|
12
|
+
#import "RCTMGLLocationModule.h"
|
|
13
|
+
#import "RCTMGLLocationManager.h"
|
|
14
|
+
#import "RCTMGLLocationManagerDelegate.h"
|
|
15
|
+
#import "RCTMGLEventTypes.h"
|
|
16
|
+
|
|
17
|
+
@interface RCTMGLLocationModule() <RCTMGLLocationManagerDelegate>
|
|
18
|
+
@end
|
|
19
|
+
|
|
20
|
+
@implementation RCTMGLLocationModule
|
|
21
|
+
{
|
|
22
|
+
RCTMGLLocationManager *locationManager;
|
|
23
|
+
BOOL hasListeners;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
RCT_EXPORT_MODULE();
|
|
27
|
+
|
|
28
|
+
+ (BOOL)requiresMainQueueSetup
|
|
29
|
+
{
|
|
30
|
+
return NO;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
- (instancetype)init
|
|
34
|
+
{
|
|
35
|
+
if (self = [super init]) {
|
|
36
|
+
locationManager = [[RCTMGLLocationManager alloc] init];
|
|
37
|
+
locationManager.delegate = self;
|
|
38
|
+
}
|
|
39
|
+
return self;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
- (void)startObserving
|
|
43
|
+
{
|
|
44
|
+
[super startObserving];
|
|
45
|
+
hasListeners = YES;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
- (void)stopObserving
|
|
49
|
+
{
|
|
50
|
+
[super stopObserving];
|
|
51
|
+
hasListeners = NO;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
- (NSArray<NSString *> *)supportedEvents
|
|
55
|
+
{
|
|
56
|
+
return @[RCT_MAPBOX_USER_LOCATION_UPDATE];
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
RCT_EXPORT_METHOD(start:(CLLocationDistance)minDisplacement)
|
|
60
|
+
{
|
|
61
|
+
[locationManager start:minDisplacement];
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
RCT_EXPORT_METHOD(pause)
|
|
65
|
+
{
|
|
66
|
+
[locationManager stop];
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
RCT_EXPORT_METHOD(stop)
|
|
70
|
+
{
|
|
71
|
+
[locationManager stop];
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
RCT_EXPORT_METHOD(setMinDisplacement:(CLLocationDistance)minDisplacement)
|
|
75
|
+
{
|
|
76
|
+
[locationManager setMinDisplacement:minDisplacement];
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
RCT_EXPORT_METHOD(getLastKnownLocation:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
|
|
80
|
+
{
|
|
81
|
+
RCTMGLLocation *lastKnownLocation = [locationManager getLastKnownLocation];
|
|
82
|
+
resolve(lastKnownLocation);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
- (void)locationManager:(RCTMGLLocationManager *)locationManager didUpdateLocation:(RCTMGLLocation *)location
|
|
86
|
+
{
|
|
87
|
+
if (!hasListeners) {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
if (self.bridge == nil) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
[self sendEventWithName:RCT_MAPBOX_USER_LOCATION_UPDATE body:[location toJSON]];
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
@end
|
|
99
|
+
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
#ifndef RCTMGLLogging_h
|
|
2
|
+
#define RCTMGLLogging_h
|
|
3
|
+
|
|
4
|
+
#import <Foundation/Foundation.h>
|
|
5
|
+
#import <React/RCTEventEmitter.h>
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
@class MGLLoggingConfiguration;
|
|
9
|
+
|
|
10
|
+
@interface RCTMGLLogging : RCTEventEmitter <RCTBridgeModule>
|
|
11
|
+
|
|
12
|
+
@property (nonatomic, nonnull) MGLLoggingConfiguration* loggingConfiguration;
|
|
13
|
+
|
|
14
|
+
- (void)setLoggingLevel:(nonnull NSString*) logLevel;
|
|
15
|
+
|
|
16
|
+
@end
|
|
17
|
+
|
|
18
|
+
#endif /* RCTMGLLogging_h */
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
#import "RCTMGLLogging.h"
|
|
2
|
+
|
|
3
|
+
@import Mapbox;
|
|
4
|
+
|
|
5
|
+
@interface RCTMGLLogging()
|
|
6
|
+
@property (nonatomic) BOOL hasListeners;
|
|
7
|
+
@end
|
|
8
|
+
|
|
9
|
+
@implementation RCTMGLLogging
|
|
10
|
+
|
|
11
|
+
+ (id)allocWithZone:(NSZone *)zone {
|
|
12
|
+
static RCTMGLLogging *sharedInstance = nil;
|
|
13
|
+
static dispatch_once_t onceToken;
|
|
14
|
+
dispatch_once(&onceToken, ^{
|
|
15
|
+
sharedInstance = [super allocWithZone:zone];
|
|
16
|
+
});
|
|
17
|
+
return sharedInstance;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
-(id)init {
|
|
21
|
+
if ( self = [super init] ) {
|
|
22
|
+
self.loggingConfiguration = [MGLLoggingConfiguration sharedConfiguration];
|
|
23
|
+
[self.loggingConfiguration setLoggingLevel:MGLLoggingLevelWarning];
|
|
24
|
+
__weak typeof(self) weakSelf = self;
|
|
25
|
+
self.loggingConfiguration.handler = ^(MGLLoggingLevel loggingLevel, NSString *filePath, NSUInteger line, NSString *message) {
|
|
26
|
+
[weakSelf sendLogWithLevel:loggingLevel filePath: filePath line: line message: message];
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
return self;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
RCT_EXPORT_MODULE();
|
|
33
|
+
|
|
34
|
+
+ (BOOL)requiresMainQueueSetup
|
|
35
|
+
{
|
|
36
|
+
return YES;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
- (NSArray<NSString *> *)supportedEvents
|
|
40
|
+
{
|
|
41
|
+
return @[@"LogEvent"];
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
- (void)startObserving
|
|
45
|
+
{
|
|
46
|
+
[super startObserving];
|
|
47
|
+
self.hasListeners = true;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
- (void)stopObserving
|
|
51
|
+
{
|
|
52
|
+
[super stopObserving];
|
|
53
|
+
self.hasListeners = false;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
- (void)sendLogWithLevel:(MGLLoggingLevel)loggingLevel filePath:(NSString*)filePath line:(NSUInteger)line message:(NSString*)message
|
|
57
|
+
{
|
|
58
|
+
if (!self.hasListeners) return;
|
|
59
|
+
|
|
60
|
+
NSString* level = @"n/a";
|
|
61
|
+
switch (loggingLevel) {
|
|
62
|
+
case MGLLoggingLevelInfo:
|
|
63
|
+
level = @"info";
|
|
64
|
+
break;
|
|
65
|
+
case MGLLoggingLevelError:
|
|
66
|
+
level = @"error";
|
|
67
|
+
break;
|
|
68
|
+
#if MGL_LOGGING_ENABLE_DEBUG
|
|
69
|
+
case MGLLoggingLevelDebug:
|
|
70
|
+
level = @"debug";
|
|
71
|
+
break;
|
|
72
|
+
#endif
|
|
73
|
+
case MGLLoggingLevelWarning:
|
|
74
|
+
level = @"warning";
|
|
75
|
+
break;
|
|
76
|
+
case MGLLoggingLevelNone:
|
|
77
|
+
level = @"none";
|
|
78
|
+
break;
|
|
79
|
+
case MGLLoggingLevelFault:
|
|
80
|
+
level = @"fault";
|
|
81
|
+
break;
|
|
82
|
+
case MGLLoggingLevelVerbose:
|
|
83
|
+
level = @"verbose";
|
|
84
|
+
break;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
NSString* type = nil;
|
|
88
|
+
if ([message hasPrefix:@"Failed to load glyph range"]) {
|
|
89
|
+
type = @"missing_font";
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
NSMutableDictionary* body = [@{
|
|
93
|
+
@"level": level,
|
|
94
|
+
@"message": message,
|
|
95
|
+
@"filePath": filePath,
|
|
96
|
+
@"line": @(line)
|
|
97
|
+
} mutableCopy];
|
|
98
|
+
|
|
99
|
+
if (type != nil) {
|
|
100
|
+
body[@"type"] = type;
|
|
101
|
+
}
|
|
102
|
+
[self sendEventWithName:@"LogEvent" body:body];
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
RCT_EXPORT_METHOD(setLogLevel: (nonnull NSString*)logLevel)
|
|
106
|
+
{
|
|
107
|
+
MGLLoggingLevel mglLogLevel = MGLLoggingLevelNone;
|
|
108
|
+
if ([logLevel isEqualToString:@"none"]) {
|
|
109
|
+
mglLogLevel = MGLLoggingLevelNone;
|
|
110
|
+
} else if ([logLevel isEqualToString:@"debug"]) {
|
|
111
|
+
mglLogLevel = MGLLoggingLevelInfo;
|
|
112
|
+
} else if ([logLevel isEqualToString:@"fault"]) {
|
|
113
|
+
mglLogLevel = MGLLoggingLevelFault;
|
|
114
|
+
} else if ([logLevel isEqualToString:@"error"]) {
|
|
115
|
+
mglLogLevel = MGLLoggingLevelError;
|
|
116
|
+
} else if ([logLevel isEqualToString:@"warning"]) {
|
|
117
|
+
mglLogLevel = MGLLoggingLevelWarning;
|
|
118
|
+
} else if ([logLevel isEqualToString:@"info"]) {
|
|
119
|
+
mglLogLevel = MGLLoggingLevelInfo;
|
|
120
|
+
} else if ([logLevel isEqualToString:@"debug"]) {
|
|
121
|
+
#if MGL_LOGGING_ENABLE_DEBUG
|
|
122
|
+
mglLogLevel = MGLLoggingLevelDebug;
|
|
123
|
+
#else
|
|
124
|
+
mglLogLevel = MGLLoggingLevelVerbose;
|
|
125
|
+
#endif
|
|
126
|
+
} else if ([logLevel isEqualToString:@"verbose"]) {
|
|
127
|
+
mglLogLevel = MGLLoggingLevelVerbose;
|
|
128
|
+
}
|
|
129
|
+
self.loggingConfiguration.loggingLevel = mglLogLevel;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
@end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RCTMGLTouchEvent.h
|
|
3
|
+
// RCTMGL
|
|
4
|
+
//
|
|
5
|
+
// Created by Nick Italiano on 8/25/17.
|
|
6
|
+
// Copyright © 2017 Mapbox Inc. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import <Foundation/Foundation.h>
|
|
10
|
+
#import "RCTMGLEvent.h"
|
|
11
|
+
#import "RCTMGLPointAnnotation.h"
|
|
12
|
+
@import Mapbox;
|
|
13
|
+
|
|
14
|
+
@interface RCTMGLMapTouchEvent : RCTMGLEvent
|
|
15
|
+
|
|
16
|
+
@property (nonatomic, copy) NSString *id;
|
|
17
|
+
@property (nonatomic, assign) CLLocationCoordinate2D coordinate;
|
|
18
|
+
@property (nonatomic, assign) CGPoint screenPoint;
|
|
19
|
+
|
|
20
|
+
+ (RCTMGLMapTouchEvent*)makeTapEvent:(MGLMapView*)mapView withPoint:(CGPoint)point;
|
|
21
|
+
+ (RCTMGLMapTouchEvent*)makeLongPressEvent:(MGLMapView*)mapView withPoint:(CGPoint)point;
|
|
22
|
+
+ (RCTMGLMapTouchEvent *)makeAnnotationTapEvent:(RCTMGLPointAnnotation *)pointAnnotation;
|
|
23
|
+
+ (RCTMGLMapTouchEvent *)makeAnnotationTapEventOnDrag:(RCTMGLPointAnnotation *)pointAnnotation;
|
|
24
|
+
|
|
25
|
+
@end
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RCTMGLTouchEvent.m
|
|
3
|
+
// RCTMGL
|
|
4
|
+
//
|
|
5
|
+
// Created by Nick Italiano on 8/25/17.
|
|
6
|
+
// Copyright © 2017 Mapbox Inc. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import "RCTMGLMapTouchEvent.h"
|
|
10
|
+
#import "RCTMGLEventTypes.h"
|
|
11
|
+
#import "RCTMGLPointAnnotation.h"
|
|
12
|
+
@import Mapbox;
|
|
13
|
+
|
|
14
|
+
@implementation RCTMGLMapTouchEvent
|
|
15
|
+
|
|
16
|
+
- (NSDictionary*)payload
|
|
17
|
+
{
|
|
18
|
+
MGLPointFeature *feature = [[MGLPointFeature alloc] init];
|
|
19
|
+
feature.coordinate = _coordinate;
|
|
20
|
+
if (_id == nil) {
|
|
21
|
+
feature.attributes = @{
|
|
22
|
+
@"screenPointX": [NSNumber numberWithDouble:_screenPoint.x],
|
|
23
|
+
@"screenPointY":[NSNumber numberWithDouble:_screenPoint.y]
|
|
24
|
+
};
|
|
25
|
+
} else {
|
|
26
|
+
feature.attributes = @{
|
|
27
|
+
@"id": _id,
|
|
28
|
+
@"screenPointX": [NSNumber numberWithDouble:_screenPoint.x],
|
|
29
|
+
@"screenPointY":[NSNumber numberWithDouble:_screenPoint.y]
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
return [feature geoJSONDictionary];
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
+ (RCTMGLMapTouchEvent*)makeTapEvent:(MGLMapView*)mapView withPoint:(CGPoint)point
|
|
36
|
+
{
|
|
37
|
+
return [RCTMGLMapTouchEvent _fromPoint:point withMapView:mapView andEventType:RCT_MAPBOX_EVENT_TAP];
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
+ (RCTMGLMapTouchEvent*)makeLongPressEvent:(MGLMapView*)mapView withPoint:(CGPoint)point
|
|
41
|
+
{
|
|
42
|
+
return [RCTMGLMapTouchEvent _fromPoint:point withMapView:mapView andEventType:RCT_MAPBOX_EVENT_LONGPRESS];
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
+ (RCTMGLMapTouchEvent *)makeAnnotationTapEvent:(RCTMGLPointAnnotation *)pointAnnotation
|
|
46
|
+
{
|
|
47
|
+
RCTMGLMapTouchEvent *event = [[RCTMGLMapTouchEvent alloc] init];
|
|
48
|
+
event.type = RCT_MAPBOX_ANNOTATION_TAP;
|
|
49
|
+
event.id = pointAnnotation.id;
|
|
50
|
+
event.coordinate = pointAnnotation.coordinate;
|
|
51
|
+
event.screenPoint = [pointAnnotation.superview convertPoint:pointAnnotation.frame.origin toView:nil];
|
|
52
|
+
return event;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
+ (RCTMGLMapTouchEvent *)makeAnnotationTapEventOnDrag:(RCTMGLPointAnnotation *)pointAnnotation
|
|
56
|
+
{
|
|
57
|
+
RCTMGLMapTouchEvent *event = [[RCTMGLMapTouchEvent alloc] init];
|
|
58
|
+
event.type = RCT_MAPBOX_ANNOTATION_TAP;
|
|
59
|
+
event.id = pointAnnotation.id;
|
|
60
|
+
CGPoint screenPoint = [pointAnnotation.superview convertPoint:pointAnnotation.layer.position toView:nil];
|
|
61
|
+
screenPoint.x -= (pointAnnotation.layer.bounds.size.width * pointAnnotation.layer.anchorPoint.x);
|
|
62
|
+
screenPoint.y -= (pointAnnotation.layer.bounds.size.height * pointAnnotation.layer.anchorPoint.y);
|
|
63
|
+
event.screenPoint = screenPoint;
|
|
64
|
+
event.coordinate = [pointAnnotation.map convertPoint:pointAnnotation.layer.position toCoordinateFromView:pointAnnotation.map];
|
|
65
|
+
return event;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
+ (RCTMGLMapTouchEvent*)_fromPoint:(CGPoint)point withMapView:(MGLMapView *)mapView andEventType:(NSString*)eventType
|
|
69
|
+
{
|
|
70
|
+
RCTMGLMapTouchEvent *event = [[RCTMGLMapTouchEvent alloc] init];
|
|
71
|
+
event.type = eventType;
|
|
72
|
+
event.coordinate = [mapView convertPoint:point toCoordinateFromView:mapView];
|
|
73
|
+
event.screenPoint = point;
|
|
74
|
+
return event;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
@end
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RCTMGLMapView.h
|
|
3
|
+
// RCTMGL
|
|
4
|
+
//
|
|
5
|
+
// Created by Nick Italiano on 8/23/17.
|
|
6
|
+
// Copyright © 2017 Mapbox Inc. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import <React/RCTComponent.h>
|
|
10
|
+
#import "RCTMGLSource.h"
|
|
11
|
+
#import "RCTMGLShapeSource.h"
|
|
12
|
+
#import "RCTMGLPointAnnotation.h"
|
|
13
|
+
#import "RCTMGLLight.h"
|
|
14
|
+
|
|
15
|
+
@import Mapbox;
|
|
16
|
+
|
|
17
|
+
@class CameraUpdateQueue;
|
|
18
|
+
@class RCTMGLImages;
|
|
19
|
+
@class RCTMGLLogging;
|
|
20
|
+
|
|
21
|
+
@protocol RCTMGLMapViewCamera<NSObject>
|
|
22
|
+
- (void)initialLayout;
|
|
23
|
+
- (void)didChangeUserTrackingMode:(MGLUserTrackingMode)mode animated:(BOOL)animated;
|
|
24
|
+
@end
|
|
25
|
+
|
|
26
|
+
typedef void (^FoundLayerBlock) (MGLStyleLayer* __nonnull layer);
|
|
27
|
+
typedef void (^StyleLoadedBlock) (MGLStyle* __nonnull style);
|
|
28
|
+
|
|
29
|
+
@interface RCTMGLMapView : MGLMapView<RCTInvalidating>
|
|
30
|
+
|
|
31
|
+
@property (nonatomic, strong, nonnull) RCTMGLLogging* logging;
|
|
32
|
+
@property (nonatomic, strong) CameraUpdateQueue *cameraUpdateQueue;
|
|
33
|
+
@property (nonatomic, weak) id<RCTMGLMapViewCamera> reactCamera;
|
|
34
|
+
@property (nonatomic, strong) NSMutableArray<id<RCTComponent>> *reactSubviews;
|
|
35
|
+
@property (nonatomic, strong) NSMutableArray<RCTMGLSource*> *sources;
|
|
36
|
+
@property (nonatomic, strong) NSMutableArray<RCTMGLImages*> *images;
|
|
37
|
+
@property (nonatomic, strong) NSMutableArray<RCTMGLLayer*> *layers;
|
|
38
|
+
@property (nonatomic, strong) NSMutableArray<RCTMGLPointAnnotation*> *pointAnnotations;
|
|
39
|
+
@property (nonatomic, strong) RCTMGLLight *light;
|
|
40
|
+
@property (nonatomic, copy) NSArray<NSNumber *> *reactContentInset;
|
|
41
|
+
|
|
42
|
+
@property (nonatomic, strong) NSMutableDictionary<NSString*, NSMutableArray<FoundLayerBlock>*> *layerWaiters;
|
|
43
|
+
@property (nonatomic, strong) NSMutableArray<StyleLoadedBlock> *styleWaiters;
|
|
44
|
+
|
|
45
|
+
@property (nonatomic, assign) BOOL reactLocalizeLabels;
|
|
46
|
+
@property (nonatomic, assign) BOOL reactScrollEnabled;
|
|
47
|
+
@property (nonatomic, assign) BOOL reactPitchEnabled;
|
|
48
|
+
@property (nonatomic, assign) BOOL reactRotateEnabled;
|
|
49
|
+
@property (nonatomic, assign) BOOL reactAttributionEnabled;
|
|
50
|
+
@property (nonatomic, strong) NSDictionary<NSString *, NSNumber *> *reactAttributionPosition;
|
|
51
|
+
@property (nonatomic, assign) BOOL reactLogoEnabled;
|
|
52
|
+
@property (nonatomic, assign) BOOL reactCompassEnabled;
|
|
53
|
+
@property (nonatomic, assign) BOOL reactZoomEnabled;
|
|
54
|
+
|
|
55
|
+
@property (nonatomic, assign) NSInteger *reactCompassViewPosition;
|
|
56
|
+
@property (nonatomic, assign) CGPoint reactCompassViewMargins;
|
|
57
|
+
|
|
58
|
+
@property (nonatomic, copy) NSString *reactStyleURL;
|
|
59
|
+
@property (nonatomic, assign) NSInteger reactPreferredFramesPerSecond;
|
|
60
|
+
|
|
61
|
+
@property (nonatomic, assign) MGLCoordinateBounds maxBounds;
|
|
62
|
+
|
|
63
|
+
@property (nonatomic, assign) BOOL isUserInteraction;
|
|
64
|
+
@property (nonatomic, assign) BOOL useNativeUserLocationAnnotationView;
|
|
65
|
+
|
|
66
|
+
@property (nonatomic, copy) RCTBubblingEventBlock onPress;
|
|
67
|
+
@property (nonatomic, copy) RCTBubblingEventBlock onLongPress;
|
|
68
|
+
@property (nonatomic, copy) RCTBubblingEventBlock onMapChange;
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
- (void)layerAdded:(MGLStyleLayer*) layer;
|
|
72
|
+
|
|
73
|
+
- (CLLocationDistance)getMetersPerPixelAtLatitude:(double)latitude withZoom:(double)zoomLevel;
|
|
74
|
+
- (CLLocationDistance)altitudeFromZoom:(double)zoomLevel;
|
|
75
|
+
- (CLLocationDistance)altitudeFromZoom:(double)zoomLevel atLatitude:(CLLocationDegrees)latitude;
|
|
76
|
+
- (CLLocationDistance)altitudeFromZoom:(double)zoomLevel atLatitude:(CLLocationDegrees)latitude atPitch:(CGFloat)pitch;
|
|
77
|
+
- (RCTMGLPointAnnotation*)getRCTPointAnnotation:(MGLPointAnnotation*)mglAnnotation;
|
|
78
|
+
- (NSArray<RCTMGLSource *> *)getAllTouchableSources;
|
|
79
|
+
- (NSArray<RCTMGLSource *> *)getAllShapeSources;
|
|
80
|
+
- (NSArray<RCTMGLImages *> *)getAllImages;
|
|
81
|
+
- (RCTMGLSource *)getTouchableSourceWithHighestZIndex:(NSArray<RCTMGLSource *> *)touchableSources;
|
|
82
|
+
- (NSString *)takeSnap:(BOOL)writeToDisk;
|
|
83
|
+
- (void)didChangeUserTrackingMode:(MGLUserTrackingMode)mode animated:(BOOL)animated;
|
|
84
|
+
|
|
85
|
+
- (void)waitForLayerWithID:(nonnull NSString*)layerID then:(void (^ _Nonnull)(MGLStyleLayer* _Nonnull layer))foundLayer;
|
|
86
|
+
|
|
87
|
+
- (void)setSourceVisibility:(BOOL)visiblity sourceId:(nonnull NSString*)sourceId sourceLayerId:(nullable NSString*)sourceLayerId;
|
|
88
|
+
|
|
89
|
+
- (void)notifyStyleLoaded;
|
|
90
|
+
|
|
91
|
+
@end
|