@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,101 @@
|
|
|
1
|
+
import {viewPropTypes} from '../utils';
|
|
2
|
+
import {CircleLayerStyleProp} from '../utils/styleMap';
|
|
3
|
+
|
|
4
|
+
import AbstractLayer from './AbstractLayer';
|
|
5
|
+
|
|
6
|
+
import PropTypes from 'prop-types';
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import {NativeModules, requireNativeComponent} from 'react-native';
|
|
9
|
+
|
|
10
|
+
const MapboxGL = NativeModules.MGLModule;
|
|
11
|
+
|
|
12
|
+
export const NATIVE_MODULE_NAME = 'RCTMGLCircleLayer';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* CircleLayer is a style layer that renders one or more filled circles on the map.
|
|
16
|
+
*/
|
|
17
|
+
class CircleLayer extends AbstractLayer {
|
|
18
|
+
static propTypes = {
|
|
19
|
+
...viewPropTypes,
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* A string that uniquely identifies the source in the style to which it is added.
|
|
23
|
+
*/
|
|
24
|
+
id: PropTypes.string.isRequired,
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* The source from which to obtain the data to style.
|
|
28
|
+
* If the source has not yet been added to the current style, the behavior is undefined.
|
|
29
|
+
* Inferred from parent source only if the layer is a direct child to it.
|
|
30
|
+
*/
|
|
31
|
+
sourceID: PropTypes.string,
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Identifier of the layer within the source identified by the sourceID property
|
|
35
|
+
* from which the receiver obtains the data to style.
|
|
36
|
+
*/
|
|
37
|
+
sourceLayerID: PropTypes.string,
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Inserts a layer above aboveLayerID.
|
|
41
|
+
*/
|
|
42
|
+
aboveLayerID: PropTypes.string,
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Inserts a layer below belowLayerID
|
|
46
|
+
*/
|
|
47
|
+
belowLayerID: PropTypes.string,
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Inserts a layer at a specified index
|
|
51
|
+
*/
|
|
52
|
+
layerIndex: PropTypes.number,
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Filter only the features in the source layer that satisfy a condition that you define
|
|
56
|
+
*/
|
|
57
|
+
filter: PropTypes.array,
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* The minimum zoom level at which the layer gets parsed and appears.
|
|
61
|
+
*/
|
|
62
|
+
minZoomLevel: PropTypes.number,
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* The maximum zoom level at which the layer gets parsed and appears.
|
|
66
|
+
*/
|
|
67
|
+
maxZoomLevel: PropTypes.number,
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Customizable style attributes
|
|
71
|
+
*/
|
|
72
|
+
style: PropTypes.oneOfType([
|
|
73
|
+
CircleLayerStyleProp,
|
|
74
|
+
PropTypes.arrayOf(CircleLayerStyleProp),
|
|
75
|
+
]),
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
static defaultProps = {
|
|
79
|
+
sourceID: MapboxGL.StyleSource.DefaultSourceID,
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
render() {
|
|
83
|
+
return (
|
|
84
|
+
<RCTMGLCircleLayer
|
|
85
|
+
testID="rctmglCircleLayer"
|
|
86
|
+
ref="nativeLayer"
|
|
87
|
+
{...this.baseProps}
|
|
88
|
+
/>
|
|
89
|
+
);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
const RCTMGLCircleLayer = requireNativeComponent(
|
|
94
|
+
NATIVE_MODULE_NAME,
|
|
95
|
+
CircleLayer,
|
|
96
|
+
{
|
|
97
|
+
nativeOnly: {reactStyle: true},
|
|
98
|
+
},
|
|
99
|
+
);
|
|
100
|
+
|
|
101
|
+
export default CircleLayer;
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import {viewPropTypes} from '../utils';
|
|
2
|
+
import {FillExtrusionLayerStyleProp} from '../utils/styleMap';
|
|
3
|
+
|
|
4
|
+
import AbstractLayer from './AbstractLayer';
|
|
5
|
+
|
|
6
|
+
import PropTypes from 'prop-types';
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import {NativeModules, requireNativeComponent} from 'react-native';
|
|
9
|
+
|
|
10
|
+
const MapboxGL = NativeModules.MGLModule;
|
|
11
|
+
|
|
12
|
+
export const NATIVE_MODULE_NAME = 'RCTMGLFillExtrusionLayer';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* FillExtrusionLayer is a style layer that renders one or more 3D extruded polygons on the map.
|
|
16
|
+
*/
|
|
17
|
+
class FillExtrusionLayer extends AbstractLayer {
|
|
18
|
+
static propTypes = {
|
|
19
|
+
...viewPropTypes,
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* A string that uniquely identifies the source in the style to which it is added.
|
|
23
|
+
*/
|
|
24
|
+
id: PropTypes.string.isRequired,
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* The source from which to obtain the data to style.
|
|
28
|
+
* If the source has not yet been added to the current style, the behavior is undefined.
|
|
29
|
+
* Inferred from parent source only if the layer is a direct child to it.
|
|
30
|
+
*/
|
|
31
|
+
sourceID: PropTypes.string,
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Identifier of the layer within the source identified by the sourceID property from which the receiver obtains the data to style.
|
|
35
|
+
*/
|
|
36
|
+
sourceLayerID: PropTypes.string,
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Inserts a layer above aboveLayerID.
|
|
40
|
+
*/
|
|
41
|
+
aboveLayerID: PropTypes.string,
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Inserts a layer below belowLayerID
|
|
45
|
+
*/
|
|
46
|
+
belowLayerID: PropTypes.string,
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Inserts a layer at a specified index
|
|
50
|
+
*/
|
|
51
|
+
layerIndex: PropTypes.number,
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Filter only the features in the source layer that satisfy a condition that you define
|
|
55
|
+
*/
|
|
56
|
+
filter: PropTypes.array,
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* The minimum zoom level at which the layer gets parsed and appears.
|
|
60
|
+
*/
|
|
61
|
+
minZoomLevel: PropTypes.number,
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* The maximum zoom level at which the layer gets parsed and appears.
|
|
65
|
+
*/
|
|
66
|
+
maxZoomLevel: PropTypes.number,
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Customizable style attributes
|
|
70
|
+
*/
|
|
71
|
+
style: PropTypes.oneOfType([
|
|
72
|
+
FillExtrusionLayerStyleProp,
|
|
73
|
+
PropTypes.arrayOf(FillExtrusionLayerStyleProp),
|
|
74
|
+
]),
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
static defaultProps = {
|
|
78
|
+
sourceID: MapboxGL.StyleSource.DefaultSourceID,
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
render() {
|
|
82
|
+
const props = {
|
|
83
|
+
...this.baseProps,
|
|
84
|
+
sourceLayerID: this.props.sourceLayerID,
|
|
85
|
+
};
|
|
86
|
+
return <RCTMGLFillExtrusionLayer ref="nativeLayer" {...props} />;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
const RCTMGLFillExtrusionLayer = requireNativeComponent(
|
|
91
|
+
NATIVE_MODULE_NAME,
|
|
92
|
+
FillExtrusionLayer,
|
|
93
|
+
{
|
|
94
|
+
nativeOnly: {reactStyle: true},
|
|
95
|
+
},
|
|
96
|
+
);
|
|
97
|
+
|
|
98
|
+
export default FillExtrusionLayer;
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import {viewPropTypes} from '../utils';
|
|
2
|
+
import {FillLayerStyleProp} from '../utils/styleMap';
|
|
3
|
+
|
|
4
|
+
import AbstractLayer from './AbstractLayer';
|
|
5
|
+
|
|
6
|
+
import PropTypes from 'prop-types';
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import {NativeModules, requireNativeComponent} from 'react-native';
|
|
9
|
+
|
|
10
|
+
const MapboxGL = NativeModules.MGLModule;
|
|
11
|
+
|
|
12
|
+
export const NATIVE_MODULE_NAME = 'RCTMGLFillLayer';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* FillLayer is a style layer that renders one or more filled (and optionally stroked) polygons on the map.
|
|
16
|
+
*/
|
|
17
|
+
class FillLayer extends AbstractLayer {
|
|
18
|
+
static propTypes = {
|
|
19
|
+
...viewPropTypes,
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* A string that uniquely identifies the source in the style to which it is added.
|
|
23
|
+
*/
|
|
24
|
+
id: PropTypes.string.isRequired,
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* The source from which to obtain the data to style.
|
|
28
|
+
* If the source has not yet been added to the current style, the behavior is undefined.
|
|
29
|
+
* Inferred from parent source only if the layer is a direct child to it.
|
|
30
|
+
*/
|
|
31
|
+
sourceID: PropTypes.string,
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Identifier of the layer within the source identified by the sourceID property from which the receiver obtains the data to style.
|
|
35
|
+
*/
|
|
36
|
+
sourceLayerID: PropTypes.string,
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Inserts a layer above aboveLayerID.
|
|
40
|
+
*/
|
|
41
|
+
aboveLayerID: PropTypes.string,
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Inserts a layer below belowLayerID
|
|
45
|
+
*/
|
|
46
|
+
belowLayerID: PropTypes.string,
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Inserts a layer at a specified index
|
|
50
|
+
*/
|
|
51
|
+
layerIndex: PropTypes.number,
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Filter only the features in the source layer that satisfy a condition that you define
|
|
55
|
+
*/
|
|
56
|
+
filter: PropTypes.array,
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* The minimum zoom level at which the layer gets parsed and appears.
|
|
60
|
+
*/
|
|
61
|
+
minZoomLevel: PropTypes.number,
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* The maximum zoom level at which the layer gets parsed and appears.
|
|
65
|
+
*/
|
|
66
|
+
maxZoomLevel: PropTypes.number,
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Customizable style attributes
|
|
70
|
+
*/
|
|
71
|
+
style: PropTypes.oneOfType([
|
|
72
|
+
FillLayerStyleProp,
|
|
73
|
+
PropTypes.arrayOf(FillLayerStyleProp),
|
|
74
|
+
]),
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
static defaultProps = {
|
|
78
|
+
sourceID: MapboxGL.StyleSource.DefaultSourceID,
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
render() {
|
|
82
|
+
const props = {
|
|
83
|
+
...this.baseProps,
|
|
84
|
+
sourceLayerID: this.props.sourceLayerID,
|
|
85
|
+
};
|
|
86
|
+
return <RCTMGLFillLayer ref="nativeLayer" {...props} />;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
const RCTMGLFillLayer = requireNativeComponent(NATIVE_MODULE_NAME, FillLayer, {
|
|
91
|
+
nativeOnly: {reactStyle: true},
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
export default FillLayer;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import headingIcon from '../../assets/heading.png';
|
|
2
|
+
|
|
3
|
+
import SymbolLayer from './SymbolLayer';
|
|
4
|
+
|
|
5
|
+
import PropTypes from 'prop-types';
|
|
6
|
+
import React from 'react';
|
|
7
|
+
|
|
8
|
+
const style = {
|
|
9
|
+
iconImage: headingIcon,
|
|
10
|
+
iconAllowOverlap: true,
|
|
11
|
+
iconPitchAlignment: 'map',
|
|
12
|
+
iconRotationAlignment: 'map',
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
const HeadingIndicator = heading => (
|
|
16
|
+
<SymbolLayer
|
|
17
|
+
key="mapboxUserLocationHeadingIndicator"
|
|
18
|
+
id="mapboxUserLocationHeadingIndicator"
|
|
19
|
+
belowLayerID="mapboxUserLocationWhiteCircle"
|
|
20
|
+
style={{
|
|
21
|
+
iconRotate: heading,
|
|
22
|
+
...style,
|
|
23
|
+
}}
|
|
24
|
+
/>
|
|
25
|
+
);
|
|
26
|
+
|
|
27
|
+
HeadingIndicator.propTypes = {
|
|
28
|
+
heading: PropTypes.number,
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export default HeadingIndicator;
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import {viewPropTypes} from '../utils';
|
|
2
|
+
import {HeatmapLayerStyleProp} from '../utils/styleMap';
|
|
3
|
+
|
|
4
|
+
import AbstractLayer from './AbstractLayer';
|
|
5
|
+
|
|
6
|
+
import PropTypes from 'prop-types';
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import {NativeModules, requireNativeComponent} from 'react-native';
|
|
9
|
+
|
|
10
|
+
const MapboxGL = NativeModules.MGLModule;
|
|
11
|
+
|
|
12
|
+
export const NATIVE_MODULE_NAME = 'RCTMGLHeatmapLayer';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* HeatmapLayer is a style layer that renders one or more filled circles on the map.
|
|
16
|
+
*/
|
|
17
|
+
class HeatmapLayer extends AbstractLayer {
|
|
18
|
+
static propTypes = {
|
|
19
|
+
...viewPropTypes,
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* A string that uniquely identifies the source in the style to which it is added.
|
|
23
|
+
*/
|
|
24
|
+
id: PropTypes.string.isRequired,
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* The source from which to obtain the data to style.
|
|
28
|
+
* If the source has not yet been added to the current style, the behavior is undefined.
|
|
29
|
+
* Inferred from parent source only if the layer is a direct child to it.
|
|
30
|
+
*/
|
|
31
|
+
sourceID: PropTypes.string,
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Identifier of the layer within the source identified by the sourceID property
|
|
35
|
+
* from which the receiver obtains the data to style.
|
|
36
|
+
*/
|
|
37
|
+
sourceLayerID: PropTypes.string,
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Inserts a layer above aboveLayerID.
|
|
41
|
+
*/
|
|
42
|
+
aboveLayerID: PropTypes.string,
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Inserts a layer below belowLayerID
|
|
46
|
+
*/
|
|
47
|
+
belowLayerID: PropTypes.string,
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Inserts a layer at a specified index
|
|
51
|
+
*/
|
|
52
|
+
layerIndex: PropTypes.number,
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Filter only the features in the source layer that satisfy a condition that you define
|
|
56
|
+
*/
|
|
57
|
+
filter: PropTypes.array,
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* The minimum zoom level at which the layer gets parsed and appears.
|
|
61
|
+
*/
|
|
62
|
+
minZoomLevel: PropTypes.number,
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* The maximum zoom level at which the layer gets parsed and appears.
|
|
66
|
+
*/
|
|
67
|
+
maxZoomLevel: PropTypes.number,
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Customizable style attributes
|
|
71
|
+
*/
|
|
72
|
+
style: PropTypes.oneOfType([
|
|
73
|
+
HeatmapLayerStyleProp,
|
|
74
|
+
PropTypes.arrayOf(HeatmapLayerStyleProp),
|
|
75
|
+
]),
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
static defaultProps = {
|
|
79
|
+
sourceID: MapboxGL.StyleSource.DefaultSourceID,
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
render() {
|
|
83
|
+
const props = {
|
|
84
|
+
...this.baseProps,
|
|
85
|
+
sourceLayerID: this.props.sourceLayerID,
|
|
86
|
+
};
|
|
87
|
+
return <RCTMGLHeatmapLayer ref="nativeLayer" {...props} />;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
const RCTMGLHeatmapLayer = requireNativeComponent(
|
|
92
|
+
NATIVE_MODULE_NAME,
|
|
93
|
+
HeatmapLayer,
|
|
94
|
+
{
|
|
95
|
+
nativeOnly: {reactStyle: true},
|
|
96
|
+
},
|
|
97
|
+
);
|
|
98
|
+
|
|
99
|
+
export default HeatmapLayer;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import {
|
|
2
|
+
cloneReactChildrenWithProps,
|
|
3
|
+
viewPropTypes,
|
|
4
|
+
isNumber,
|
|
5
|
+
resolveImagePath,
|
|
6
|
+
} from '../utils';
|
|
7
|
+
|
|
8
|
+
import AbstractSource from './AbstractSource';
|
|
9
|
+
|
|
10
|
+
import PropTypes from 'prop-types';
|
|
11
|
+
import {requireNativeComponent} from 'react-native';
|
|
12
|
+
import React from 'react';
|
|
13
|
+
|
|
14
|
+
export const NATIVE_MODULE_NAME = 'RCTMGLImageSource';
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* ImageSource is a content source that is used for a georeferenced raster image to be shown on the map.
|
|
18
|
+
* The georeferenced image scales and rotates as the user zooms and rotates the map
|
|
19
|
+
*/
|
|
20
|
+
class ImageSource extends AbstractSource {
|
|
21
|
+
static propTypes = {
|
|
22
|
+
...viewPropTypes,
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* A string that uniquely identifies the source.
|
|
26
|
+
*/
|
|
27
|
+
id: PropTypes.string.isRequired,
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* An HTTP(S) URL, absolute file URL, or local file URL to the source image.
|
|
31
|
+
* Gifs are currently not supported.
|
|
32
|
+
*/
|
|
33
|
+
url: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* The top left, top right, bottom right, and bottom left coordinates for the image.
|
|
37
|
+
*/
|
|
38
|
+
coordinates: PropTypes.arrayOf(
|
|
39
|
+
PropTypes.arrayOf(PropTypes.number).isRequired,
|
|
40
|
+
).isRequired,
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
_getURL() {
|
|
44
|
+
let {url} = this.props;
|
|
45
|
+
|
|
46
|
+
if (isNumber(this.props.url)) {
|
|
47
|
+
url = resolveImagePath(this.props.url);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
return url;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
render() {
|
|
54
|
+
if (
|
|
55
|
+
!this.props.url ||
|
|
56
|
+
!this.props.coordinates ||
|
|
57
|
+
!this.props.coordinates.length
|
|
58
|
+
) {
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const props = {
|
|
63
|
+
...this.props,
|
|
64
|
+
url: this._getURL(),
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
return (
|
|
68
|
+
<RCTMGLImageSource ref="nativeSource" {...props}>
|
|
69
|
+
{cloneReactChildrenWithProps(this.props.children, {
|
|
70
|
+
sourceID: this.props.id,
|
|
71
|
+
})}
|
|
72
|
+
</RCTMGLImageSource>
|
|
73
|
+
);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
const RCTMGLImageSource = requireNativeComponent(
|
|
78
|
+
NATIVE_MODULE_NAME,
|
|
79
|
+
ImageSource,
|
|
80
|
+
);
|
|
81
|
+
|
|
82
|
+
export default ImageSource;
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import {viewPropTypes} from '../utils';
|
|
2
|
+
|
|
3
|
+
import ShapeSource from './ShapeSource';
|
|
4
|
+
|
|
5
|
+
import PropTypes from 'prop-types';
|
|
6
|
+
import React from 'react';
|
|
7
|
+
import {requireNativeComponent} from 'react-native';
|
|
8
|
+
import resolveAssetSource from 'react-native/Libraries/Image/resolveAssetSource';
|
|
9
|
+
|
|
10
|
+
export const NATIVE_MODULE_NAME = 'RCTMGLImages';
|
|
11
|
+
|
|
12
|
+
function _isUrlOrPath(value) {
|
|
13
|
+
return (
|
|
14
|
+
(typeof value === 'string' || value instanceof String) &&
|
|
15
|
+
(value.startsWith('file://') ||
|
|
16
|
+
value.startsWith('http://') ||
|
|
17
|
+
value.startsWith('https://') ||
|
|
18
|
+
value.startsWith('data:') ||
|
|
19
|
+
value.startsWith('asset://') ||
|
|
20
|
+
value.startsWith('/'))
|
|
21
|
+
);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Images defines the images used in Symbol etc layers
|
|
26
|
+
*/
|
|
27
|
+
class Images extends React.Component {
|
|
28
|
+
static NATIVE_ASSETS_KEY = 'assets';
|
|
29
|
+
|
|
30
|
+
static propTypes = {
|
|
31
|
+
...viewPropTypes,
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Specifies the external images in key-value pairs required for the shape source.
|
|
35
|
+
* Keys are names - see iconImage expressions, values can be either urls-s objects
|
|
36
|
+
* with format {uri: 'http://...'}` or `require('image.png')` or `import 'image.png'`
|
|
37
|
+
*/
|
|
38
|
+
images: PropTypes.object,
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* If you have an asset under Image.xcassets on iOS and the drawables directory on android
|
|
42
|
+
* you can specify an array of string names with assets as the key `['pin']`.
|
|
43
|
+
*/
|
|
44
|
+
nativeAssetImages: PropTypes.arrayOf(PropTypes.string),
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Gets called when a Layer is trying to render an image whose key is not present in
|
|
48
|
+
* any of the `Images` component of the Map.
|
|
49
|
+
*/
|
|
50
|
+
onImageMissing: PropTypes.func,
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
_getImages() {
|
|
54
|
+
if (!this.props.images && !this.props.nativeAssetImages) {
|
|
55
|
+
return {};
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
const images = {};
|
|
59
|
+
let nativeImages = [];
|
|
60
|
+
|
|
61
|
+
if (this.props.images) {
|
|
62
|
+
const imageNames = Object.keys(this.props.images);
|
|
63
|
+
for (const imageName of imageNames) {
|
|
64
|
+
const value = this.props.images[imageName];
|
|
65
|
+
if (
|
|
66
|
+
imageName === ShapeSource.NATIVE_ASSETS_KEY &&
|
|
67
|
+
Array.isArray(value)
|
|
68
|
+
) {
|
|
69
|
+
console.warn(
|
|
70
|
+
`Use of ${ShapeSource.NATIVE_ASSETS_KEY} in Images#images is deprecated please use Images#nativeAssetImages`,
|
|
71
|
+
);
|
|
72
|
+
nativeImages = value;
|
|
73
|
+
} else if (_isUrlOrPath(value)) {
|
|
74
|
+
images[imageName] = value;
|
|
75
|
+
} else {
|
|
76
|
+
const res = resolveAssetSource(value);
|
|
77
|
+
if (res && res.uri) {
|
|
78
|
+
images[imageName] = res;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
if (this.props.nativeAssetImages) {
|
|
85
|
+
nativeImages = this.props.nativeAssetImages;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
return {
|
|
89
|
+
images,
|
|
90
|
+
nativeImages,
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
_onImageMissing(event) {
|
|
95
|
+
if (this.props.onImageMissing) {
|
|
96
|
+
this.props.onImageMissing(event.nativeEvent.payload.imageKey);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
render() {
|
|
101
|
+
const props = {
|
|
102
|
+
id: this.props.id,
|
|
103
|
+
hasOnImageMissing: !!this.props.onImageMissing,
|
|
104
|
+
onImageMissing: this._onImageMissing.bind(this),
|
|
105
|
+
...this._getImages(),
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
return <RCTMGLImages {...props}>{this.props.children}</RCTMGLImages>;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
const RCTMGLImages = requireNativeComponent(NATIVE_MODULE_NAME, Images, {
|
|
113
|
+
nativeOnly: {
|
|
114
|
+
nativeImages: true,
|
|
115
|
+
onImageMissing: true,
|
|
116
|
+
},
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
export default Images;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import {viewPropTypes} from '../utils';
|
|
2
|
+
import {LightLayerStyleProp} from '../utils/styleMap';
|
|
3
|
+
|
|
4
|
+
import AbstractLayer from './AbstractLayer';
|
|
5
|
+
|
|
6
|
+
import React from 'react';
|
|
7
|
+
import {requireNativeComponent} from 'react-native';
|
|
8
|
+
|
|
9
|
+
export const NATIVE_MODULE_NAME = 'RCTMGLLight';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Light represents the light source for extruded geometries
|
|
13
|
+
*/
|
|
14
|
+
class Light extends AbstractLayer {
|
|
15
|
+
static propTypes = {
|
|
16
|
+
...viewPropTypes,
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Customizable style attributes
|
|
20
|
+
*/
|
|
21
|
+
style: LightLayerStyleProp,
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
setNativeProps(props) {
|
|
25
|
+
if (this.refs.nativeLight) {
|
|
26
|
+
this.refs.nativeLight.setNativeProps(props);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
render() {
|
|
31
|
+
return (
|
|
32
|
+
<RCTMGLLight
|
|
33
|
+
ref="nativeLight"
|
|
34
|
+
testID="rctmglLight"
|
|
35
|
+
{...this.props}
|
|
36
|
+
style={undefined}
|
|
37
|
+
reactStyle={this.getStyle()}
|
|
38
|
+
/>
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
const RCTMGLLight = requireNativeComponent(NATIVE_MODULE_NAME, Light, {
|
|
44
|
+
nativeOnly: {reactStyle: true},
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
export default Light;
|