@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,27 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RCTMGLStyleValue.h
|
|
3
|
+
// RCTMGL
|
|
4
|
+
//
|
|
5
|
+
// Created by Nick Italiano on 9/11/17.
|
|
6
|
+
// Copyright © 2017 Mapbox Inc. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import <Foundation/Foundation.h>
|
|
10
|
+
@import Mapbox;
|
|
11
|
+
|
|
12
|
+
@interface RCTMGLStyleValue : NSObject
|
|
13
|
+
|
|
14
|
+
@property (nonatomic, strong) NSString *styleType;
|
|
15
|
+
@property (nonatomic, strong) NSDictionary *rawStyleValue;
|
|
16
|
+
@property (nonatomic, readonly) NSExpression *mglStyleValue;
|
|
17
|
+
|
|
18
|
+
- (BOOL)shouldAddImage;
|
|
19
|
+
- (NSString *)getImageURI;
|
|
20
|
+
- (double)getImageScale;
|
|
21
|
+
- (MGLTransition)getTransition;
|
|
22
|
+
- (NSExpression *)getSphericalPosition;
|
|
23
|
+
- (BOOL)isVisible;
|
|
24
|
+
|
|
25
|
+
+ (RCTMGLStyleValue*)make:(NSString*)expressionJSONStr;
|
|
26
|
+
|
|
27
|
+
@end
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RCTMGLStyleValue.m
|
|
3
|
+
// RCTMGL
|
|
4
|
+
//
|
|
5
|
+
// Created by Nick Italiano on 9/11/17.
|
|
6
|
+
// Copyright © 2017 Mapbox Inc. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import "RCTMGLStyleValue.h"
|
|
10
|
+
#import "RCTMGLUtils.h"
|
|
11
|
+
#import <React/RCTImageLoader.h>
|
|
12
|
+
|
|
13
|
+
@implementation RCTMGLStyleValue
|
|
14
|
+
{
|
|
15
|
+
NSObject *expressionJSON;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
- (NSExpression *)mglStyleValue
|
|
19
|
+
{
|
|
20
|
+
if ([_styleType isEqualToString:@"color"] && [expressionJSON respondsToSelector:@selector(objectEnumerator)] && [[[(NSArray*)expressionJSON objectEnumerator] nextObject] isKindOfClass:[NSNumber class]]) {
|
|
21
|
+
UIColor *color = [RCTMGLUtils toColor:expressionJSON];
|
|
22
|
+
return [NSExpression expressionWithMGLJSONObject:color];
|
|
23
|
+
} else if ([_styleType isEqualToString:@"color"] && [expressionJSON isKindOfClass:[NSNumber class]]) {
|
|
24
|
+
|
|
25
|
+
UIColor *color = [RCTMGLUtils toColor:expressionJSON];
|
|
26
|
+
return [NSExpression expressionWithMGLJSONObject:color];
|
|
27
|
+
} else if ([_styleType isEqualToString:@"vector"] && [expressionJSON respondsToSelector:@selector(objectEnumerator)] && [[[(NSArray*)expressionJSON objectEnumerator] nextObject] isKindOfClass:[NSNumber class]]) {
|
|
28
|
+
CGVector vector = [RCTMGLUtils toCGVector:(NSArray<NSNumber *> *)expressionJSON];
|
|
29
|
+
return [NSExpression expressionWithMGLJSONObject:[NSValue valueWithCGVector:vector]];
|
|
30
|
+
} else if ([_styleType isEqualToString:@"image"] && [expressionJSON isKindOfClass:[NSDictionary class]]) {
|
|
31
|
+
return [NSExpression expressionForConstantValue:[self getImageURI]];
|
|
32
|
+
} else if ([_styleType isEqual:@"edgeinsets"] && [expressionJSON respondsToSelector:@selector(objectEnumerator)] && [[[(NSArray*)expressionJSON objectEnumerator] nextObject] isKindOfClass:[NSNumber class]]){
|
|
33
|
+
UIEdgeInsets edgeInsets = [RCTMGLUtils toUIEdgeInsets:(NSArray<NSNumber *> *)expressionJSON];
|
|
34
|
+
return [NSExpression expressionWithMGLJSONObject:[NSValue valueWithUIEdgeInsets:edgeInsets]];
|
|
35
|
+
} else if ([_styleType isEqualToString:@"enum"] && [expressionJSON isKindOfClass:[NSNumber class]]) {
|
|
36
|
+
// ensure we pass through values as NSUInteger when mapping to an MGL enum
|
|
37
|
+
NSUInteger uintValue = [(NSNumber*)expressionJSON unsignedIntegerValue];
|
|
38
|
+
id rawValue = [NSValue value:&uintValue withObjCType:@encode(NSUInteger)];
|
|
39
|
+
return [NSExpression expressionWithMGLJSONObject:rawValue];
|
|
40
|
+
} else if ([expressionJSON respondsToSelector:@selector(objectEnumerator)] && [[[(NSArray*)expressionJSON objectEnumerator] nextObject] isKindOfClass:[NSNumber class]]) {
|
|
41
|
+
return [NSExpression expressionForConstantValue:expressionJSON];
|
|
42
|
+
} else {
|
|
43
|
+
return [NSExpression expressionWithMGLJSONObject:expressionJSON];
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
- (void)setStyleObject:(NSObject *)object
|
|
48
|
+
{
|
|
49
|
+
expressionJSON = object;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
- (NSObject *)parse:(NSDictionary *)rawStyleValue
|
|
53
|
+
{
|
|
54
|
+
NSObject *object = nil;
|
|
55
|
+
NSString *type = (NSString *)rawStyleValue[@"type"];
|
|
56
|
+
|
|
57
|
+
if ([type isEqualToString:@"string"]) {
|
|
58
|
+
object = (NSString *)rawStyleValue[@"value"];
|
|
59
|
+
} else if ([type isEqualToString:@"number"]) {
|
|
60
|
+
object = (NSNumber *)rawStyleValue[@"value"];
|
|
61
|
+
} else if ([type isEqualToString:@"boolean"]) {
|
|
62
|
+
object = rawStyleValue[@"value"];
|
|
63
|
+
} else if ([type isEqualToString:@"hashmap"]) {
|
|
64
|
+
NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
|
|
65
|
+
NSArray *values = (NSArray *)rawStyleValue[@"value"];
|
|
66
|
+
|
|
67
|
+
for (int i = 0; i < values.count; i++) {
|
|
68
|
+
NSObject *key = [self parse:values[i][0]];
|
|
69
|
+
NSObject *value = [self parse:values[i][1]];
|
|
70
|
+
dict[[key mutableCopy]] = value;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
object = dict;
|
|
74
|
+
} else if ([type isEqualToString:@"array"]) {
|
|
75
|
+
NSMutableArray *arr = [[NSMutableArray alloc] init];
|
|
76
|
+
NSArray *values = (NSArray *)rawStyleValue[@"value"];
|
|
77
|
+
|
|
78
|
+
for (int i = 0; i < values.count; i++) {
|
|
79
|
+
[arr addObject:[self parse:values[i]]];
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
object = arr;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
return object;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
- (BOOL)shouldAddImage
|
|
91
|
+
{
|
|
92
|
+
NSString *imageURI = [self getImageURI];
|
|
93
|
+
|
|
94
|
+
return [imageURI containsString:@"://"];
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
- (NSString *)getImageURI
|
|
98
|
+
{
|
|
99
|
+
if ([expressionJSON isKindOfClass:[NSDictionary class]]) {
|
|
100
|
+
return [expressionJSON valueForKey:@"uri"];
|
|
101
|
+
} else if ([expressionJSON isKindOfClass:[NSArray class]]) {
|
|
102
|
+
return nil;
|
|
103
|
+
} else {
|
|
104
|
+
return (NSString *)expressionJSON;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
- (double)getImageScale
|
|
109
|
+
{
|
|
110
|
+
if ([expressionJSON isKindOfClass:[NSDictionary class]]) {
|
|
111
|
+
id scale = [expressionJSON valueForKey:@"scale"];
|
|
112
|
+
if ([scale isKindOfClass:[NSNumber class]]) {
|
|
113
|
+
return [scale doubleValue];
|
|
114
|
+
} else {
|
|
115
|
+
return 1.0;
|
|
116
|
+
}
|
|
117
|
+
} else {
|
|
118
|
+
return 1.0;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
- (MGLTransition)getTransition
|
|
123
|
+
{
|
|
124
|
+
if (![expressionJSON isKindOfClass:[NSDictionary class]]) {
|
|
125
|
+
return MGLTransitionMake(0.f, 0.f);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
NSDictionary *config = (NSDictionary *)expressionJSON;
|
|
129
|
+
double duration = config[@"duration"] != nil ? [config[@"duration"] doubleValue] : 300.0;
|
|
130
|
+
double delay = config[@"delay"] != nil ? [config[@"delay"] doubleValue] : 0.0;
|
|
131
|
+
|
|
132
|
+
const double millisecondsToSeconds = 1.0/1000.0;
|
|
133
|
+
|
|
134
|
+
return MGLTransitionMake(duration * millisecondsToSeconds, delay * millisecondsToSeconds);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
- (NSExpression *)getSphericalPosition
|
|
138
|
+
{
|
|
139
|
+
NSArray *values = (NSArray<NSNumber *> *)expressionJSON;
|
|
140
|
+
|
|
141
|
+
CGFloat radial = [values[0] floatValue];
|
|
142
|
+
CLLocationDistance azimuthal = [values[1] doubleValue];
|
|
143
|
+
CLLocationDistance polar = [values[2] doubleValue];
|
|
144
|
+
|
|
145
|
+
MGLSphericalPosition pos = MGLSphericalPositionMake(radial, azimuthal, polar);
|
|
146
|
+
return [NSExpression expressionWithMGLJSONObject:@(pos)];
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
- (BOOL)isVisible
|
|
150
|
+
{
|
|
151
|
+
if ([expressionJSON isKindOfClass:[NSString class]]) {
|
|
152
|
+
NSString *visible = (NSString *)expressionJSON;
|
|
153
|
+
return [visible isEqualToString:@"visible"];
|
|
154
|
+
}
|
|
155
|
+
return YES;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
+ (RCTMGLStyleValue*)make:(NSDictionary*)rawStyleValue;
|
|
159
|
+
{
|
|
160
|
+
RCTMGLStyleValue *styleValue = [[RCTMGLStyleValue alloc] init];
|
|
161
|
+
styleValue.styleType = (NSString *)rawStyleValue[@"styletype"];
|
|
162
|
+
NSObject *object = [styleValue parse:(NSDictionary *)rawStyleValue[@"stylevalue"]];
|
|
163
|
+
[styleValue setStyleObject:object];
|
|
164
|
+
return styleValue;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
@end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RCTMGLSymbolLayer.h
|
|
3
|
+
// RCTMGL
|
|
4
|
+
//
|
|
5
|
+
// Created by Nick Italiano on 9/19/17.
|
|
6
|
+
// Copyright © 2017 Mapbox Inc. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import <React/RCTComponent.h>
|
|
10
|
+
#import "RCTMGLVectorLayer.h"
|
|
11
|
+
|
|
12
|
+
@interface RCTMGLSymbolLayer : RCTMGLVectorLayer<RCTInvalidating>
|
|
13
|
+
|
|
14
|
+
@property (nonatomic, strong) NSMutableArray<id<RCTComponent>> *reactSubviews;
|
|
15
|
+
|
|
16
|
+
@property (nonatomic, assign) BOOL snapshot;
|
|
17
|
+
@property (nonatomic, copy) NSString *sourceLayerID;
|
|
18
|
+
|
|
19
|
+
@end
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RCTMGLSymbolLayer.m
|
|
3
|
+
// RCTMGL
|
|
4
|
+
//
|
|
5
|
+
// Created by Nick Italiano on 9/19/17.
|
|
6
|
+
// Copyright © 2017 Mapbox Inc. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import "RCTMGLSymbolLayer.h"
|
|
10
|
+
#import "RCTMGLStyle.h"
|
|
11
|
+
#import <React/UIView+React.h>
|
|
12
|
+
#import <React/RCTLog.h>
|
|
13
|
+
|
|
14
|
+
@implementation RCTMGLSymbolLayer
|
|
15
|
+
|
|
16
|
+
- (instancetype)initWithFrame:(CGRect)frame
|
|
17
|
+
{
|
|
18
|
+
if (self = [super initWithFrame:frame]) {
|
|
19
|
+
_reactSubviews = [[NSMutableArray alloc] init];
|
|
20
|
+
}
|
|
21
|
+
return self;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
- (void)invalidate
|
|
25
|
+
{
|
|
26
|
+
if (_snapshot == YES && self.style != nil) {
|
|
27
|
+
[self.style removeImageForName:self.id];
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
#pragma clang diagnostic push
|
|
32
|
+
#pragma clang diagnostic ignored "-Wobjc-missing-super-calls"
|
|
33
|
+
- (void)insertReactSubview:(id<RCTComponent>)subview atIndex:(NSInteger)atIndex {
|
|
34
|
+
[_reactSubviews insertObject:(UIView *)subview atIndex:(NSUInteger) atIndex];
|
|
35
|
+
}
|
|
36
|
+
#pragma clang diagnostic pop
|
|
37
|
+
|
|
38
|
+
#pragma clang diagnostic push
|
|
39
|
+
#pragma clang diagnostic ignored "-Wobjc-missing-super-calls"
|
|
40
|
+
- (void)removeReactSubview:(id<RCTComponent>)subview {
|
|
41
|
+
[_reactSubviews removeObject:(UIView *)subview];
|
|
42
|
+
}
|
|
43
|
+
#pragma clang diagnostic pop
|
|
44
|
+
|
|
45
|
+
#pragma clang diagnostic push
|
|
46
|
+
#pragma clang diagnostic ignored "-Wobjc-missing-super-calls"
|
|
47
|
+
- (NSArray<id<RCTComponent>> *)reactSubviews {
|
|
48
|
+
return nil;
|
|
49
|
+
}
|
|
50
|
+
#pragma clang diagnostic pop
|
|
51
|
+
|
|
52
|
+
- (void)setSnapshot:(BOOL)snapshot
|
|
53
|
+
{
|
|
54
|
+
_snapshot = snapshot;
|
|
55
|
+
|
|
56
|
+
if (self.style != nil) {
|
|
57
|
+
UIImage *image;
|
|
58
|
+
MGLSymbolStyleLayer *layer = (MGLSymbolStyleLayer *) self.styleLayer;
|
|
59
|
+
|
|
60
|
+
if (_snapshot == YES) {
|
|
61
|
+
image = [self _createViewSnapshot];
|
|
62
|
+
[self.style setImage:image forName:self.id];
|
|
63
|
+
layer.iconImageName = [NSExpression expressionWithFormat:self.id];
|
|
64
|
+
} else {
|
|
65
|
+
image = [self.style imageForName:self.id];
|
|
66
|
+
|
|
67
|
+
if (image != nil) {
|
|
68
|
+
[self.style removeImageForName:self.id];
|
|
69
|
+
layer.iconImageName = nil;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
- (void)addedToMap
|
|
76
|
+
{
|
|
77
|
+
[super addedToMap];
|
|
78
|
+
|
|
79
|
+
if (_snapshot == YES) {
|
|
80
|
+
UIImage *image = [self _createViewSnapshot];
|
|
81
|
+
|
|
82
|
+
if (image != nil) {
|
|
83
|
+
[self.style setImage:image forName:self.id];
|
|
84
|
+
|
|
85
|
+
MGLSymbolStyleLayer *layer = (MGLSymbolStyleLayer *)self.styleLayer;
|
|
86
|
+
layer.iconImageName = [NSExpression expressionForConstantValue:self.id];
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
- (MGLSymbolStyleLayer*)makeLayer:(MGLStyle*)style
|
|
92
|
+
{
|
|
93
|
+
MGLSource *source = [self layerWithSourceIDInStyle: style];
|
|
94
|
+
if (source == nil) { return nil; }
|
|
95
|
+
MGLSymbolStyleLayer *layer = [[MGLSymbolStyleLayer alloc] initWithIdentifier:self.id source:source];
|
|
96
|
+
layer.sourceLayerIdentifier = self.sourceLayerID;
|
|
97
|
+
return layer;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
- (void)addStyles
|
|
101
|
+
{
|
|
102
|
+
RCTMGLStyle *style = [[RCTMGLStyle alloc] initWithMGLStyle:self.style];
|
|
103
|
+
style.bridge = self.bridge;
|
|
104
|
+
[style symbolLayer:(MGLSymbolStyleLayer*)self.styleLayer withReactStyle:self.reactStyle isValid:^{ return [self isAddedToMap];
|
|
105
|
+
}];
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
- (UIImage *)_createViewSnapshot
|
|
109
|
+
{
|
|
110
|
+
if (_reactSubviews.count == 0) {
|
|
111
|
+
return nil;
|
|
112
|
+
}
|
|
113
|
+
UIView *view = (UIView *)_reactSubviews[0];
|
|
114
|
+
UIGraphicsBeginImageContextWithOptions(view.bounds.size, NO, 0.f);
|
|
115
|
+
[view drawViewHierarchyInRect:view.bounds afterScreenUpdates:YES];
|
|
116
|
+
UIImage *snapshot = UIGraphicsGetImageFromCurrentImageContext();
|
|
117
|
+
UIGraphicsEndImageContext();
|
|
118
|
+
return snapshot;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
@end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RCTMGLSymbolLayerManager.m
|
|
3
|
+
// RCTMGL
|
|
4
|
+
//
|
|
5
|
+
// Created by Nick Italiano on 9/19/17.
|
|
6
|
+
// Copyright © 2017 Mapbox Inc. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import "RCTMGLSymbolLayerManager.h"
|
|
10
|
+
#import "RCTMGLSymbolLayer.h"
|
|
11
|
+
|
|
12
|
+
@implementation RCTMGLSymbolLayerManager
|
|
13
|
+
|
|
14
|
+
RCT_EXPORT_MODULE()
|
|
15
|
+
|
|
16
|
+
// circle 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
|
+
RCT_EXPORT_VIEW_PROPERTY(snapshot, BOOL);
|
|
24
|
+
|
|
25
|
+
RCT_EXPORT_VIEW_PROPERTY(aboveLayerID, NSString);
|
|
26
|
+
RCT_EXPORT_VIEW_PROPERTY(belowLayerID, NSString);
|
|
27
|
+
RCT_EXPORT_VIEW_PROPERTY(layerIndex, NSNumber);
|
|
28
|
+
RCT_EXPORT_VIEW_PROPERTY(reactStyle, NSDictionary);
|
|
29
|
+
|
|
30
|
+
RCT_EXPORT_VIEW_PROPERTY(maxZoomLevel, NSNumber);
|
|
31
|
+
RCT_EXPORT_VIEW_PROPERTY(minZoomLevel, NSNumber);
|
|
32
|
+
|
|
33
|
+
- (UIView*)view
|
|
34
|
+
{
|
|
35
|
+
RCTMGLSymbolLayer *layer = [RCTMGLSymbolLayer new];
|
|
36
|
+
layer.bridge = self.bridge;
|
|
37
|
+
return layer;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
@end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RCTMGLTileSource.h
|
|
3
|
+
// RCTMGL
|
|
4
|
+
//
|
|
5
|
+
|
|
6
|
+
#import "RCTMGLSource.h"
|
|
7
|
+
@import Mapbox;
|
|
8
|
+
|
|
9
|
+
@interface RCTMGLTileSource : RCTMGLSource
|
|
10
|
+
|
|
11
|
+
@property (nonatomic, copy) NSString *url;
|
|
12
|
+
@property (nonatomic, strong) NSArray<NSString *> *tileUrlTemplates;
|
|
13
|
+
@property (nonatomic, copy) NSString *attribution;
|
|
14
|
+
|
|
15
|
+
@property (nonatomic, strong) NSNumber *minZoomLevel;
|
|
16
|
+
@property (nonatomic, strong) NSNumber *maxZoomLevel;
|
|
17
|
+
|
|
18
|
+
@property (nonatomic, assign) BOOL tms;
|
|
19
|
+
|
|
20
|
+
- (NSDictionary<MGLTileSourceOption, id>*)getOptions;
|
|
21
|
+
|
|
22
|
+
@end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
//
|
|
2
|
+
// BaseSource.m
|
|
3
|
+
// RCTMGL
|
|
4
|
+
//
|
|
5
|
+
|
|
6
|
+
#import "RCTMGLTileSource.h"
|
|
7
|
+
|
|
8
|
+
@implementation RCTMGLTileSource
|
|
9
|
+
|
|
10
|
+
- (NSDictionary<MGLTileSourceOption, id>*)getOptions {
|
|
11
|
+
NSMutableDictionary<MGLTileSourceOption, id> *options = [[NSMutableDictionary alloc] init];
|
|
12
|
+
|
|
13
|
+
if (self.maxZoomLevel != nil) {
|
|
14
|
+
options[MGLTileSourceOptionMaximumZoomLevel] = self.maxZoomLevel;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
if (self.minZoomLevel != nil) {
|
|
18
|
+
options[MGLTileSourceOptionMinimumZoomLevel] = self.minZoomLevel;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
if (self.tms) {
|
|
22
|
+
options[MGLTileSourceOptionTileCoordinateSystem] = [NSNumber numberWithUnsignedInteger:MGLTileCoordinateSystemTMS];
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
if (self.attribution != nil) {
|
|
26
|
+
options[MGLTileSourceOptionAttributionHTMLString] = self.attribution;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
return options;
|
|
30
|
+
}
|
|
31
|
+
@end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RCTMGLUserLocation.h
|
|
3
|
+
// RCTMGL
|
|
4
|
+
|
|
5
|
+
#import <Foundation/Foundation.h>
|
|
6
|
+
#import <CoreLocation/CoreLocation.h>
|
|
7
|
+
#import <Mapbox/MGLUserLocationAnnotationView.h>
|
|
8
|
+
|
|
9
|
+
@interface RCTMGLUserLocation : NSObject
|
|
10
|
+
|
|
11
|
+
+ (id)sharedInstance;
|
|
12
|
+
|
|
13
|
+
- (MGLUserLocationAnnotationView*)hiddenUserAnnotation;
|
|
14
|
+
|
|
15
|
+
@end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RCTMGLUserLocation.m
|
|
3
|
+
// RCTMGL
|
|
4
|
+
//
|
|
5
|
+
|
|
6
|
+
#import "RCTMGLUserLocation.h"
|
|
7
|
+
#import <Mapbox/MGLUserLocationAnnotationView.h>
|
|
8
|
+
|
|
9
|
+
@interface HiddenUserLocationAnnotationView : MGLUserLocationAnnotationView
|
|
10
|
+
|
|
11
|
+
@end
|
|
12
|
+
|
|
13
|
+
@implementation HiddenUserLocationAnnotationView
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
- (void)update {
|
|
17
|
+
self.frame = CGRectNull;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
@end
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
@implementation RCTMGLUserLocation : NSObject
|
|
24
|
+
|
|
25
|
+
+ (id)sharedInstance
|
|
26
|
+
{
|
|
27
|
+
static RCTMGLUserLocation *userLocation = nil;
|
|
28
|
+
static dispatch_once_t onceToken;
|
|
29
|
+
dispatch_once(&onceToken, ^{ userLocation = [[self alloc] init]; });
|
|
30
|
+
return userLocation;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
- (MGLUserLocationAnnotationView*)hiddenUserAnnotation
|
|
34
|
+
{
|
|
35
|
+
return [[HiddenUserLocationAnnotationView alloc] init];
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
@end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RCTConvert+Mapbox.h
|
|
3
|
+
// RCTMGL
|
|
4
|
+
//
|
|
5
|
+
// Created by Nick Italiano on 8/23/17.
|
|
6
|
+
// Copyright © 2017 Mapbox Inc. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import <MapKit/MapKit.h>
|
|
10
|
+
#import <React/RCTBridge.h>
|
|
11
|
+
#import <React/RCTConvert.h>
|
|
12
|
+
#import <React/RCTImageLoader.h>
|
|
13
|
+
|
|
14
|
+
@import Mapbox;
|
|
15
|
+
|
|
16
|
+
@interface RCTMGLUtils: NSObject
|
|
17
|
+
|
|
18
|
+
+ (CLLocationCoordinate2D)fromFeature:(NSString*)json;
|
|
19
|
+
+ (MGLShape*)shapeFromGeoJSON:(NSString*)json;
|
|
20
|
+
+ (MGLCoordinateBounds)fromFeatureCollection:(NSString*)json;
|
|
21
|
+
+ (NSArray<NSNumber *> *)fromCoordinateBounds:(MGLCoordinateBounds)bounds;
|
|
22
|
+
+ (NSTimeInterval)fromMS:(NSNumber*)number;
|
|
23
|
+
+ (NSNumber*)clamp:(NSNumber*)value min:(NSNumber*)min max:(NSNumber*)max;
|
|
24
|
+
+ (UIColor*)toColor:(id)value;
|
|
25
|
+
+ (void)fetchImage:(RCTBridge*)bridge url:(NSString*)url scale:(double)scale callback:(RCTImageLoaderCompletionBlock)callback;
|
|
26
|
+
+ (void)fetchImages:(RCTBridge *)bridge style:(MGLStyle *)style objects:(NSDictionary<NSString *, NSString *>*)objects forceUpdate:(BOOL)forceUpdate callback:(void (^)(void))callback;
|
|
27
|
+
+ (CGVector)toCGVector:(NSArray<NSNumber*>*)arr;
|
|
28
|
+
+ (UIEdgeInsets)toUIEdgeInsets:(NSArray<NSNumber *> *)arr;
|
|
29
|
+
+ (NSURL*)styleURLFromStyleJSON:(NSString *)styleJSON;
|
|
30
|
+
|
|
31
|
+
@end
|