@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,126 @@
|
|
|
1
|
+
#import "RCTMGLImages.h"
|
|
2
|
+
#import <React/UIView+React.h>
|
|
3
|
+
#import "RCTMGLMapView.h"
|
|
4
|
+
#import "RCTMGLUtils.h"
|
|
5
|
+
#import "RCTMGLEvent.h"
|
|
6
|
+
#import "RCTMGLEventTypes.h"
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
@implementation RCTMGLImages : UIView
|
|
10
|
+
|
|
11
|
+
static UIImage * _placeHolderImage;
|
|
12
|
+
|
|
13
|
+
- (void)addToMap
|
|
14
|
+
{
|
|
15
|
+
if (self.map.style == nil) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
[self _addNativeImages:_nativeImages];
|
|
19
|
+
[self _addRemoteImages:_images];
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
- (void)removeFromMap
|
|
23
|
+
{
|
|
24
|
+
if (self.map.style == nil) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
[self _removeImages];
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
- (void)_removeImages
|
|
32
|
+
{
|
|
33
|
+
if ([self _hasImages]) {
|
|
34
|
+
NSArray<NSString *> *imageNames = _images.allKeys;
|
|
35
|
+
|
|
36
|
+
for (NSString *imageName in imageNames) {
|
|
37
|
+
[self.map.style removeImageForName:imageName];
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
if ([self _hasNativeImages]) {
|
|
42
|
+
for (NSString *imageName in _nativeImages) {
|
|
43
|
+
[self.map.style removeImageForName:imageName];
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
-(BOOL)addMissingImageToStyle:(NSString *)imageName {
|
|
49
|
+
if (_nativeImages && [_nativeImages containsObject:imageName]) {
|
|
50
|
+
[self _addNativeImages:@[imageName]];
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
NSString *remoteImage = _images != nil ? [_images objectForKey:imageName] : nil;
|
|
55
|
+
if (remoteImage) {
|
|
56
|
+
[self _addRemoteImages:@{imageName: remoteImage}];
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
- (void) sendImageMissingEvent:(NSString *)imageName {
|
|
63
|
+
NSDictionary *payload = @{ @"imageKey": imageName };
|
|
64
|
+
RCTMGLEvent *event = [RCTMGLEvent makeEvent:RCT_MAPBOX_IMAGES_MISSING_IMAGE withPayload:payload];
|
|
65
|
+
if (_onImageMissing) {
|
|
66
|
+
_onImageMissing([event toJSON]);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
- (void)_addNativeImages:(NSArray<NSString *>*)nativeImages
|
|
71
|
+
{
|
|
72
|
+
if (!nativeImages) return;
|
|
73
|
+
|
|
74
|
+
for (NSString *imageName in nativeImages) {
|
|
75
|
+
// only add native images if they are not in the style yet (similar to [RCTMGLUtils fetchImages: style:])
|
|
76
|
+
if (![self.map.style imageForName:imageName]) {
|
|
77
|
+
UIImage *image = [UIImage imageNamed:imageName];
|
|
78
|
+
[self.map.style setImage:image forName:imageName];
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
- (void)_addRemoteImages:(NSDictionary<NSString *, NSString *>*)remoteImages
|
|
84
|
+
{
|
|
85
|
+
if (!remoteImages) return;
|
|
86
|
+
NSDictionary<NSString *, NSString *> *missingImages = [NSMutableDictionary new];
|
|
87
|
+
|
|
88
|
+
// Add image placeholder for images that are not yet available in the style. This way
|
|
89
|
+
// we can load the images asynchronously and add the ShapeSource to the map without delay.
|
|
90
|
+
// The same is required when this ShapeSource is updated with new/added images and the
|
|
91
|
+
// data references them. In which case addMissingImageToStyle will take care of loading
|
|
92
|
+
// them in a similar way.
|
|
93
|
+
//
|
|
94
|
+
// See also: https://github.com/mapbox/mapbox-gl-native/pull/14253#issuecomment-478827792
|
|
95
|
+
for (NSString *imageName in remoteImages.allKeys) {
|
|
96
|
+
if (![self.map.style imageForName:imageName]) {
|
|
97
|
+
[self.map.style setImage:[RCTMGLImages placeholderImage] forName:imageName];
|
|
98
|
+
[missingImages setValue:_images[imageName] forKey:imageName];
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
if (missingImages.count > 0) {
|
|
103
|
+
// forceUpdate to ensure the placeholder images are updated
|
|
104
|
+
[RCTMGLUtils fetchImages:_bridge style:self.map.style objects:_images forceUpdate:true callback:^{ }];
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
- (BOOL)_hasImages
|
|
109
|
+
{
|
|
110
|
+
return _images != nil && _images.count > 0;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
- (BOOL)_hasNativeImages
|
|
114
|
+
{
|
|
115
|
+
return _nativeImages != nil && _nativeImages.count > 0;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
+ (UIImage *)placeholderImage {
|
|
119
|
+
if (_placeHolderImage) return _placeHolderImage;
|
|
120
|
+
UIGraphicsBeginImageContextWithOptions(CGSizeMake(1, 1), NO, 0.0);
|
|
121
|
+
_placeHolderImage = UIGraphicsGetImageFromCurrentImageContext();
|
|
122
|
+
UIGraphicsEndImageContext();
|
|
123
|
+
return _placeHolderImage;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
@end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#import "RCTMGLImagesManager.h"
|
|
2
|
+
#import "RCTMGLImages.h"
|
|
3
|
+
|
|
4
|
+
@implementation RCTMGLImagesManager
|
|
5
|
+
|
|
6
|
+
RCT_EXPORT_MODULE()
|
|
7
|
+
|
|
8
|
+
RCT_EXPORT_VIEW_PROPERTY(id, NSString)
|
|
9
|
+
RCT_EXPORT_VIEW_PROPERTY(images, NSDictionary)
|
|
10
|
+
RCT_EXPORT_VIEW_PROPERTY(nativeImages, NSArray)
|
|
11
|
+
|
|
12
|
+
RCT_REMAP_VIEW_PROPERTY(onImageMissing, onImageMissing, RCTBubblingEventBlock)
|
|
13
|
+
|
|
14
|
+
- (UIView*)view
|
|
15
|
+
{
|
|
16
|
+
RCTMGLImages *images = [RCTMGLImages new];
|
|
17
|
+
images.bridge = self.bridge;
|
|
18
|
+
return images;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
@end
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
//
|
|
2
|
+
// BaseLayer.h
|
|
3
|
+
// RCTMGL
|
|
4
|
+
//
|
|
5
|
+
// Created by Nick Italiano on 9/8/17.
|
|
6
|
+
// Copyright © 2017 Mapbox Inc. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import <UIKit/UIKit.h>
|
|
10
|
+
#import <React/RCTBridge.h>
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
@class RCTMGLMapView;
|
|
14
|
+
|
|
15
|
+
@import Mapbox;
|
|
16
|
+
|
|
17
|
+
@interface RCTMGLLayer<T> : UIView
|
|
18
|
+
|
|
19
|
+
@property (nonatomic, weak, nullable) RCTBridge* bridge;
|
|
20
|
+
|
|
21
|
+
@property (nonatomic, strong, nullable) MGLStyleLayer *styleLayer;
|
|
22
|
+
@property (nonatomic, strong, nullable) MGLStyle *style;
|
|
23
|
+
@property (nonatomic, weak, nullable) RCTMGLMapView* map;
|
|
24
|
+
@property (nonatomic, strong, nullable) NSDictionary *reactStyle;
|
|
25
|
+
@property (nonatomic, strong, nullable) NSArray *filter;
|
|
26
|
+
|
|
27
|
+
@property (nonatomic, copy, nullable) NSString *id;
|
|
28
|
+
@property (nonatomic, copy, nullable) NSString *sourceID;
|
|
29
|
+
|
|
30
|
+
@property (nonatomic, copy, nullable) NSString *aboveLayerID;
|
|
31
|
+
@property (nonatomic, copy, nullable) NSString *belowLayerID;
|
|
32
|
+
@property (nonatomic, copy, nullable) NSNumber *layerIndex;
|
|
33
|
+
|
|
34
|
+
@property (nonatomic, copy, nullable) NSNumber *maxZoomLevel;
|
|
35
|
+
@property (nonatomic, copy, nullable) NSNumber *minZoomLevel;
|
|
36
|
+
|
|
37
|
+
- (void)addToMap:(nonnull RCTMGLMapView*)map style:(nonnull MGLStyle*)style;
|
|
38
|
+
- (void)addedToMap;
|
|
39
|
+
- (void)removeFromMap:(nonnull MGLStyle*)style;
|
|
40
|
+
- (nullable T)makeLayer:(nonnull MGLStyle*)style;
|
|
41
|
+
- (void)addStyles;
|
|
42
|
+
- (void)insertAbove:(nonnull NSString*)layer;
|
|
43
|
+
- (void)insertBelow:(nonnull NSString*)layer;
|
|
44
|
+
- (void)insertAtIndex:(NSUInteger)index;
|
|
45
|
+
- (void)insertLayer;
|
|
46
|
+
- (void)setZoomBounds;
|
|
47
|
+
|
|
48
|
+
- (BOOL)isAddedToMap;
|
|
49
|
+
|
|
50
|
+
- (nullable MGLSource*)layerWithSourceIDInStyle:(nonnull MGLStyle*) style;
|
|
51
|
+
|
|
52
|
+
@end
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
//
|
|
2
|
+
// BaseLayer.m
|
|
3
|
+
// RCTMGL
|
|
4
|
+
//
|
|
5
|
+
// Created by Nick Italiano on 9/8/17.
|
|
6
|
+
// Copyright © 2017 Mapbox Inc. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import "RCTMGLLayer.h"
|
|
10
|
+
#import "RCTMGLSource.h"
|
|
11
|
+
#import "RCTMGLStyleValue.h"
|
|
12
|
+
#import "RCTMGLUtils.h"
|
|
13
|
+
#import "RCTMGLMapView.h"
|
|
14
|
+
|
|
15
|
+
@implementation RCTMGLLayer
|
|
16
|
+
|
|
17
|
+
- (void)setMinZoomLevel:(NSNumber*)minZoomLevel
|
|
18
|
+
{
|
|
19
|
+
_minZoomLevel = minZoomLevel;
|
|
20
|
+
|
|
21
|
+
if (_styleLayer != nil) {
|
|
22
|
+
_styleLayer.minimumZoomLevel = [_minZoomLevel doubleValue];
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
- (void)setMaxZoomLevel:(NSNumber*)maxZoomLevel
|
|
27
|
+
{
|
|
28
|
+
_maxZoomLevel = maxZoomLevel;
|
|
29
|
+
|
|
30
|
+
if (_styleLayer != nil) {
|
|
31
|
+
_styleLayer.maximumZoomLevel = [_maxZoomLevel doubleValue];
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
- (void)setAboveLayerID:(NSString *)aboveLayerID
|
|
36
|
+
{
|
|
37
|
+
if (_aboveLayerID != nil && _aboveLayerID == aboveLayerID) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
_aboveLayerID = aboveLayerID;
|
|
42
|
+
if (_styleLayer != nil) {
|
|
43
|
+
[self removeFromMap:_style];
|
|
44
|
+
[self insertAbove:aboveLayerID];
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
- (void)setBelowLayerID:(NSString *)belowLayerID
|
|
49
|
+
{
|
|
50
|
+
if (_belowLayerID != nil && _belowLayerID == belowLayerID) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
_belowLayerID = belowLayerID;
|
|
55
|
+
if (_styleLayer != nil) {
|
|
56
|
+
[self removeFromMap:_style];
|
|
57
|
+
[self insertBelow:_belowLayerID];
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
- (void)setLayerIndex:(NSNumber *)layerIndex
|
|
62
|
+
{
|
|
63
|
+
if (_layerIndex != nil && _layerIndex == layerIndex) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
_layerIndex = layerIndex;
|
|
68
|
+
if (_styleLayer != nil) {
|
|
69
|
+
[self removeFromMap:_style];
|
|
70
|
+
[self insertAtIndex:_layerIndex.unsignedIntegerValue];
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
- (void)setMap:(RCTMGLMapView *)map {
|
|
75
|
+
if (map == nil) {
|
|
76
|
+
[self removeFromMap:_map.style];
|
|
77
|
+
_map = nil;
|
|
78
|
+
} else {
|
|
79
|
+
_map = map;
|
|
80
|
+
[self addToMap:map style:map.style];
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
-(void)setReactStyle:(NSDictionary *)reactStyle
|
|
85
|
+
{
|
|
86
|
+
_reactStyle = reactStyle;
|
|
87
|
+
|
|
88
|
+
if (_styleLayer != nil) {
|
|
89
|
+
dispatch_async(dispatch_get_main_queue(), ^{
|
|
90
|
+
[self addStyles];
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
- (void)addToMap:(RCTMGLMapView*) map style:(MGLStyle *)style
|
|
96
|
+
{
|
|
97
|
+
if (style == nil) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
_map = map;
|
|
101
|
+
_style = style;
|
|
102
|
+
if (_id == nil) {
|
|
103
|
+
RCTLogError(@"Cannot add a layer without id to the map: %@", self);
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
MGLStyleLayer *existingLayer = [style layerWithIdentifier:_id];
|
|
107
|
+
if (existingLayer != nil) {
|
|
108
|
+
_styleLayer = existingLayer;
|
|
109
|
+
} else {
|
|
110
|
+
_styleLayer = [self makeLayer:style];
|
|
111
|
+
if (_styleLayer == nil) {
|
|
112
|
+
RCTLogError(@"Failed to make layer: %@", _id);
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
[self insertLayer: map];
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
[self addStyles];
|
|
119
|
+
[self addedToMap];
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
- (nullable MGLSource*)layerWithSourceIDInStyle:(nonnull MGLStyle*) style
|
|
123
|
+
{
|
|
124
|
+
MGLSource* result = [style sourceWithIdentifier: self.sourceID];
|
|
125
|
+
if (result == NULL) {
|
|
126
|
+
RCTLogError(@"Cannot find layer with id: %@ referenced by layer:%@", self.sourceID, _id);
|
|
127
|
+
}
|
|
128
|
+
return result;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
- (void)removeFromMap:(MGLStyle *)style
|
|
132
|
+
{
|
|
133
|
+
if (_styleLayer != nil) {
|
|
134
|
+
[style removeLayer:_styleLayer];
|
|
135
|
+
}
|
|
136
|
+
_style = nil;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
- (BOOL)isAddedToMap
|
|
140
|
+
{
|
|
141
|
+
return (_style != nil);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
- (nullable MGLStyleLayer*)makeLayer:(MGLStyle*)style
|
|
145
|
+
{
|
|
146
|
+
@throw [NSException exceptionWithName:NSInternalInconsistencyException
|
|
147
|
+
reason:[NSString stringWithFormat:@"You must override %@ in a subclass", NSStringFromSelector(_cmd)]
|
|
148
|
+
userInfo:nil];
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
- (void)addStyles
|
|
152
|
+
{
|
|
153
|
+
@throw [NSException exceptionWithName:NSInternalInconsistencyException
|
|
154
|
+
reason:[NSString stringWithFormat:@"You must override %@ in a subclass", NSStringFromSelector(_cmd)]
|
|
155
|
+
userInfo:nil];
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
- (void)addedToMap
|
|
159
|
+
{
|
|
160
|
+
// override if you want
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
- (void)insertLayer: (RCTMGLMapView*) map
|
|
164
|
+
{
|
|
165
|
+
if ([_style layerWithIdentifier:_id] != nil) {
|
|
166
|
+
return; // prevent layer from being added twice
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
if (_aboveLayerID != nil) {
|
|
170
|
+
[self insertAbove:_aboveLayerID];
|
|
171
|
+
} else if (_belowLayerID != nil) {
|
|
172
|
+
[self insertBelow:_belowLayerID];
|
|
173
|
+
} else if (_layerIndex != nil) {
|
|
174
|
+
[self insertAtIndex:_layerIndex.unsignedIntegerValue];
|
|
175
|
+
} else {
|
|
176
|
+
[_style addLayer:_styleLayer];
|
|
177
|
+
[_map layerAdded:_styleLayer];
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
[self setZoomBounds];
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
- (void)setZoomBounds
|
|
184
|
+
{
|
|
185
|
+
if (_maxZoomLevel != nil) {
|
|
186
|
+
_styleLayer.maximumZoomLevel = [_maxZoomLevel doubleValue];
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
if (_minZoomLevel != nil) {
|
|
190
|
+
_styleLayer.minimumZoomLevel = [_minZoomLevel doubleValue];
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
-(void)insertAbove:(NSString*)aboveLayerIDs
|
|
195
|
+
{
|
|
196
|
+
[_map waitForLayerWithID: aboveLayerIDs then:^void (MGLStyleLayer* layer) {
|
|
197
|
+
if (![self _hasInitialized]) {
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
[self->_style insertLayer:self->_styleLayer aboveLayer:layer];
|
|
201
|
+
[self->_map layerAdded:self->_styleLayer];
|
|
202
|
+
}];
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
-(void)insertBelow:(NSString*)belowLayerID
|
|
206
|
+
{
|
|
207
|
+
[_map waitForLayerWithID: belowLayerID then:^void (MGLStyleLayer* layer) {
|
|
208
|
+
if (![self _hasInitialized]) {
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
[self->_style insertLayer:self->_styleLayer belowLayer:layer];
|
|
213
|
+
[self->_map layerAdded:self->_styleLayer];
|
|
214
|
+
}];
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
-(void)insertAtIndex:(NSUInteger)index
|
|
218
|
+
{
|
|
219
|
+
if (![self _hasInitialized]) {
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
222
|
+
NSArray *layers = _style.layers;
|
|
223
|
+
if (index >= layers.count) {
|
|
224
|
+
RCTLogWarn(@"Layer index is greater than number of layers on map. Layer inserted at end of layer stack.");
|
|
225
|
+
index = layers.count - 1;
|
|
226
|
+
}
|
|
227
|
+
[_style insertLayer:self->_styleLayer atIndex:index];
|
|
228
|
+
[_map layerAdded:self->_styleLayer];
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
- (BOOL)_hasInitialized
|
|
232
|
+
{
|
|
233
|
+
return _style != nil && _styleLayer != nil;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
@end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RCTMGLLight.h
|
|
3
|
+
// RCTMGL
|
|
4
|
+
//
|
|
5
|
+
// Created by Nick Italiano on 9/26/17.
|
|
6
|
+
// Copyright © 2017 Mapbox Inc. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import <UIKit/UIKit.h>
|
|
10
|
+
@import Mapbox;
|
|
11
|
+
|
|
12
|
+
@interface RCTMGLLight : UIView
|
|
13
|
+
|
|
14
|
+
@property (nonatomic, strong) MGLMapView *map;
|
|
15
|
+
@property (nonatomic, strong) NSDictionary *reactStyle;
|
|
16
|
+
|
|
17
|
+
@end
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RCTMGLLight.m
|
|
3
|
+
// RCTMGL
|
|
4
|
+
//
|
|
5
|
+
// Created by Nick Italiano on 9/26/17.
|
|
6
|
+
// Copyright © 2017 Mapbox Inc. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import "RCTMGLLight.h"
|
|
10
|
+
#import "RCTMGLStyle.h"
|
|
11
|
+
|
|
12
|
+
@implementation RCTMGLLight
|
|
13
|
+
{
|
|
14
|
+
MGLLight *internalLight;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
- (void)setReactStyle:(NSDictionary *)reactStyle
|
|
18
|
+
{
|
|
19
|
+
_reactStyle = reactStyle;
|
|
20
|
+
|
|
21
|
+
if (_map != nil) {
|
|
22
|
+
[self addStyles];
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
- (void)setMap:(MGLMapView *)map
|
|
27
|
+
{
|
|
28
|
+
_map = map;
|
|
29
|
+
[self addStyles];
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
- (BOOL)isAddedToMap {
|
|
33
|
+
return _map != NULL;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
- (void)addStyles
|
|
37
|
+
{
|
|
38
|
+
MGLLight *light = [[MGLLight alloc] init];
|
|
39
|
+
RCTMGLStyle *style = [[RCTMGLStyle alloc] init];
|
|
40
|
+
[style lightLayer:light withReactStyle:_reactStyle isValid:^{
|
|
41
|
+
return [self isAddedToMap];
|
|
42
|
+
}];
|
|
43
|
+
_map.style.light = light;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
@end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RCTMGLLightManager.m
|
|
3
|
+
// RCTMGL
|
|
4
|
+
//
|
|
5
|
+
// Created by Nick Italiano on 9/26/17.
|
|
6
|
+
// Copyright © 2017 Mapbox Inc. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import "RCTMGLLightManager.h"
|
|
10
|
+
#import "RCTMGLLight.h"
|
|
11
|
+
|
|
12
|
+
@implementation RCTMGLLightManager
|
|
13
|
+
|
|
14
|
+
RCT_EXPORT_MODULE()
|
|
15
|
+
|
|
16
|
+
RCT_EXPORT_VIEW_PROPERTY(reactStyle, NSDictionary);
|
|
17
|
+
|
|
18
|
+
- (UIView*)view
|
|
19
|
+
{
|
|
20
|
+
return [RCTMGLLight new];
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
@end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RCTMGLLineLayer.h
|
|
3
|
+
// RCTMGL
|
|
4
|
+
//
|
|
5
|
+
// Created by Nick Italiano on 9/18/17.
|
|
6
|
+
// Copyright © 2017 Mapbox Inc. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import "RCTMGLVectorLayer.h"
|
|
10
|
+
@import Mapbox;
|
|
11
|
+
|
|
12
|
+
@interface RCTMGLLineLayer : RCTMGLVectorLayer
|
|
13
|
+
|
|
14
|
+
@end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RCTMGLLineLayer.m
|
|
3
|
+
// RCTMGL
|
|
4
|
+
//
|
|
5
|
+
// Created by Nick Italiano on 9/18/17.
|
|
6
|
+
// Copyright © 2017 Mapbox Inc. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import "RCTMGLLineLayer.h"
|
|
10
|
+
#import "RCTMGLStyle.h"
|
|
11
|
+
#import <React/RCTLog.h>
|
|
12
|
+
|
|
13
|
+
@implementation RCTMGLLineLayer
|
|
14
|
+
|
|
15
|
+
- (MGLLineStyleLayer*)makeLayer:(MGLStyle*)style
|
|
16
|
+
{
|
|
17
|
+
MGLSource *source = [self layerWithSourceIDInStyle:style];
|
|
18
|
+
if (source == nil) { return nil; }
|
|
19
|
+
MGLLineStyleLayer *layer = [[MGLLineStyleLayer alloc] initWithIdentifier:self.id source:source];
|
|
20
|
+
layer.sourceLayerIdentifier = self.sourceLayerID;
|
|
21
|
+
return layer;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
- (void)addStyles
|
|
25
|
+
{
|
|
26
|
+
RCTMGLStyle *style = [[RCTMGLStyle alloc] initWithMGLStyle:self.style];
|
|
27
|
+
style.bridge = self.bridge;
|
|
28
|
+
[style lineLayer:(MGLLineStyleLayer *)self.styleLayer withReactStyle:self.reactStyle isValid:^{
|
|
29
|
+
return [self isAddedToMap];
|
|
30
|
+
}];
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
@end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RCTMGLLineLayerManager.m
|
|
3
|
+
// RCTMGL
|
|
4
|
+
//
|
|
5
|
+
// Created by Nick Italiano on 9/18/17.
|
|
6
|
+
// Copyright © 2017 Mapbox Inc. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import "RCTMGLLineLayerManager.h"
|
|
10
|
+
#import "RCTMGLLineLayer.h"
|
|
11
|
+
|
|
12
|
+
@implementation RCTMGLLineLayerManager
|
|
13
|
+
|
|
14
|
+
RCT_EXPORT_MODULE()
|
|
15
|
+
|
|
16
|
+
// line layer props
|
|
17
|
+
RCT_EXPORT_VIEW_PROPERTY(sourceLayerID, NSString);
|
|
18
|
+
|
|
19
|
+
// standard layer props
|
|
20
|
+
RCT_EXPORT_VIEW_PROPERTY(id, NSString);
|
|
21
|
+
RCT_EXPORT_VIEW_PROPERTY(sourceID, NSString);
|
|
22
|
+
RCT_EXPORT_VIEW_PROPERTY(filter, NSArray);
|
|
23
|
+
|
|
24
|
+
RCT_EXPORT_VIEW_PROPERTY(aboveLayerID, NSString);
|
|
25
|
+
RCT_EXPORT_VIEW_PROPERTY(belowLayerID, NSString);
|
|
26
|
+
RCT_EXPORT_VIEW_PROPERTY(layerIndex, NSNumber);
|
|
27
|
+
RCT_EXPORT_VIEW_PROPERTY(reactStyle, NSDictionary);
|
|
28
|
+
|
|
29
|
+
RCT_EXPORT_VIEW_PROPERTY(maxZoomLevel, NSNumber);
|
|
30
|
+
RCT_EXPORT_VIEW_PROPERTY(minZoomLevel, NSNumber);
|
|
31
|
+
|
|
32
|
+
- (UIView*)view
|
|
33
|
+
{
|
|
34
|
+
RCTMGLLineLayer *layer = [RCTMGLLineLayer new];
|
|
35
|
+
layer.bridge = self.bridge;
|
|
36
|
+
return layer;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
@end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RCTMGLLocation.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 <CoreLocation/CoreLocation.h>
|
|
11
|
+
|
|
12
|
+
@interface RCTMGLLocation : NSObject
|
|
13
|
+
|
|
14
|
+
@property (nonatomic, strong) CLLocation *location;
|
|
15
|
+
@property (nonatomic, strong) CLHeading *heading;
|
|
16
|
+
|
|
17
|
+
- (NSDictionary<NSString *, id> *)toJSON;
|
|
18
|
+
|
|
19
|
+
@end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RCTMGLLocation.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 "RCTMGLLocation.h"
|
|
10
|
+
|
|
11
|
+
@implementation RCTMGLLocation
|
|
12
|
+
|
|
13
|
+
- (NSDictionary<NSString *, id> *)toJSON
|
|
14
|
+
{
|
|
15
|
+
NSMutableDictionary<NSString *, id> *json = [[NSMutableDictionary alloc] init];
|
|
16
|
+
|
|
17
|
+
NSMutableDictionary<NSString *, NSNumber *> *coords = [[NSMutableDictionary alloc] init];
|
|
18
|
+
coords[@"longitude"] = @(_location.coordinate.longitude);
|
|
19
|
+
coords[@"latitude"] = @(_location.coordinate.latitude);
|
|
20
|
+
coords[@"altitude"] = @(_location.altitude);
|
|
21
|
+
coords[@"accuracy"] = @(_location.horizontalAccuracy);
|
|
22
|
+
coords[@"heading"] = @(_heading.trueHeading);
|
|
23
|
+
coords[@"course"] = @(_location.course);
|
|
24
|
+
coords[@"speed"] = @(_location.speed);
|
|
25
|
+
|
|
26
|
+
json[@"coords"] = coords;
|
|
27
|
+
json[@"timestamp"] = @([_location.timestamp timeIntervalSince1970]);
|
|
28
|
+
|
|
29
|
+
return json;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
@end
|