@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,18 @@
|
|
|
1
|
+
//
|
|
2
|
+
// CameraMode.h
|
|
3
|
+
// RCTMGL
|
|
4
|
+
//
|
|
5
|
+
// Created by Nick Italiano on 9/6/17.
|
|
6
|
+
// Copyright © 2017 Mapbox Inc. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import <Foundation/Foundation.h>
|
|
10
|
+
|
|
11
|
+
@interface CameraMode : NSObject
|
|
12
|
+
|
|
13
|
+
extern int const RCT_MAPBOX_CAMERA_MODE_FLIGHT;
|
|
14
|
+
extern int const RCT_MAPBOX_CAMERA_MODE_EASE;
|
|
15
|
+
extern int const RCT_MAPBOX_CAMERA_MODE_LINEAR;
|
|
16
|
+
extern int const RCT_MAPBOX_CAMERA_MODE_NONE;
|
|
17
|
+
|
|
18
|
+
@end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
//
|
|
2
|
+
// CameraMode.m
|
|
3
|
+
// RCTMGL
|
|
4
|
+
//
|
|
5
|
+
// Created by Nick Italiano on 9/6/17.
|
|
6
|
+
// Copyright © 2017 Mapbox Inc. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import "CameraMode.h"
|
|
10
|
+
|
|
11
|
+
@implementation CameraMode
|
|
12
|
+
|
|
13
|
+
int const RCT_MAPBOX_CAMERA_MODE_FLIGHT = 1;
|
|
14
|
+
int const RCT_MAPBOX_CAMERA_MODE_EASE = 2;
|
|
15
|
+
int const RCT_MAPBOX_CAMERA_MODE_LINEAR = 3;
|
|
16
|
+
int const RCT_MAPBOX_CAMERA_MODE_NONE = 4;
|
|
17
|
+
|
|
18
|
+
@end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
//
|
|
2
|
+
// CameraStop.h
|
|
3
|
+
// RCTMGL
|
|
4
|
+
//
|
|
5
|
+
// Created by Nick Italiano on 9/5/17.
|
|
6
|
+
// Copyright © 2017 Mapbox Inc. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
@import Mapbox;
|
|
10
|
+
#import "RCTMGLCamera.h"
|
|
11
|
+
|
|
12
|
+
@interface CameraStop : NSObject
|
|
13
|
+
|
|
14
|
+
@property (nonatomic, strong) NSNumber *pitch;
|
|
15
|
+
@property (nonatomic, strong) NSNumber *heading;
|
|
16
|
+
@property (nonatomic, strong) NSNumber *zoom;
|
|
17
|
+
@property (nonatomic, strong) NSNumber *mode;
|
|
18
|
+
@property (nonatomic, assign) NSTimeInterval duration;
|
|
19
|
+
|
|
20
|
+
@property (nonatomic, assign) CLLocationCoordinate2D coordinate;
|
|
21
|
+
@property (nonatomic, assign) MGLCoordinateBounds bounds;
|
|
22
|
+
@property (nonatomic, assign) UIEdgeInsets padding;
|
|
23
|
+
|
|
24
|
+
+ (CameraStop*)fromDictionary:(NSDictionary*)args;
|
|
25
|
+
|
|
26
|
+
@end
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
//
|
|
2
|
+
// CameraStop.m
|
|
3
|
+
// RCTMGL
|
|
4
|
+
//
|
|
5
|
+
// Created by Nick Italiano on 9/5/17.
|
|
6
|
+
// Copyright © 2017 Mapbox Inc. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import "CameraStop.h"
|
|
10
|
+
#import "CameraMode.h"
|
|
11
|
+
#import "RCTMGLUtils.h"
|
|
12
|
+
#import "RCTMGLCamera.h"
|
|
13
|
+
|
|
14
|
+
@implementation CameraStop
|
|
15
|
+
|
|
16
|
+
- (void)setMode:(NSNumber *)mode
|
|
17
|
+
{
|
|
18
|
+
int modeInt = [mode intValue];
|
|
19
|
+
|
|
20
|
+
if (modeInt == RCT_MAPBOX_CAMERA_MODE_FLIGHT) {
|
|
21
|
+
_mode = [NSNumber numberWithInt:modeInt];
|
|
22
|
+
} else if (modeInt == RCT_MAPBOX_CAMERA_MODE_NONE) {
|
|
23
|
+
_mode = [NSNumber numberWithInt:modeInt];
|
|
24
|
+
} else if (modeInt == RCT_MAPBOX_CAMERA_MODE_LINEAR) {
|
|
25
|
+
_mode = [NSNumber numberWithInt:modeInt];
|
|
26
|
+
} else {
|
|
27
|
+
_mode = [NSNumber numberWithInt:RCT_MAPBOX_CAMERA_MODE_EASE];
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
-(id)init {
|
|
32
|
+
if (self = [super init]) {
|
|
33
|
+
self.coordinate = kCLLocationCoordinate2DInvalid;
|
|
34
|
+
self.bounds = MGLCoordinateBoundsMake(kCLLocationCoordinate2DInvalid, kCLLocationCoordinate2DInvalid);
|
|
35
|
+
}
|
|
36
|
+
return self;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
+ (CameraStop*)fromDictionary:(NSDictionary *)args
|
|
41
|
+
{
|
|
42
|
+
CameraStop *stop = [[CameraStop alloc] init];
|
|
43
|
+
|
|
44
|
+
if (args[@"pitch"]) {
|
|
45
|
+
stop.pitch = args[@"pitch"];
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
if (args[@"heading"]) {
|
|
49
|
+
stop.heading = args[@"heading"];
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
if (args[@"centerCoordinate"]) {
|
|
53
|
+
stop.coordinate = [RCTMGLUtils fromFeature:args[@"centerCoordinate"]];
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
if (args[@"zoom"]) {
|
|
57
|
+
stop.zoom = args[@"zoom"];
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
if (args[@"mode"]) {
|
|
61
|
+
stop.mode = args[@"mode"];
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
if (args[@"bounds"]) {
|
|
65
|
+
stop.bounds = [RCTMGLUtils fromFeatureCollection:args[@"bounds"]];
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
CGFloat paddingTop = args[@"paddingTop"] ? [args[@"paddingTop"] floatValue] : 0.0;
|
|
69
|
+
CGFloat paddingRight = args[@"paddingRight"] ? [args[@"paddingRight"] floatValue] : 0.0;
|
|
70
|
+
CGFloat paddingBottom = args[@"paddingBottom"] ? [args[@"paddingBottom"] floatValue] : 0.0;
|
|
71
|
+
CGFloat paddingLeft = args[@"paddingLeft"] ? [args[@"paddingLeft"] floatValue] : 0.0;
|
|
72
|
+
stop.padding = UIEdgeInsetsMake(paddingTop, paddingLeft, paddingBottom, paddingRight);
|
|
73
|
+
|
|
74
|
+
NSTimeInterval duration = 2.0;
|
|
75
|
+
if (args[@"duration"]) {
|
|
76
|
+
duration = [RCTMGLUtils fromMS:args[@"duration"]];
|
|
77
|
+
}
|
|
78
|
+
stop.duration = duration;
|
|
79
|
+
|
|
80
|
+
return stop;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
@end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
//
|
|
2
|
+
// CameraUpdateItem.h
|
|
3
|
+
// RCTMGL
|
|
4
|
+
//
|
|
5
|
+
// Created by Nick Italiano on 9/6/17.
|
|
6
|
+
// Copyright © 2017 Mapbox Inc. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import "CameraStop.h"
|
|
10
|
+
#import "RCTMGLMapView.h"
|
|
11
|
+
|
|
12
|
+
@interface CameraUpdateItem : NSObject
|
|
13
|
+
|
|
14
|
+
@property (nonatomic, strong) CameraStop* _Nonnull cameraStop;
|
|
15
|
+
|
|
16
|
+
- (void)execute:(RCTMGLMapView* _Nonnull)mapView withCompletionHandler:(nullable void (^)(void))completionHandler;
|
|
17
|
+
|
|
18
|
+
@end
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
//
|
|
2
|
+
// CameraUpdateItem.m
|
|
3
|
+
// RCTMGL
|
|
4
|
+
//
|
|
5
|
+
// Created by Nick Italiano on 9/6/17.
|
|
6
|
+
// Copyright © 2017 Mapbox Inc. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import "CameraUpdateItem.h"
|
|
10
|
+
#import "CameraMode.h"
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
@interface MGLMapView(FlyToWithPadding)
|
|
14
|
+
- (void)_flyToCamera:(MGLMapCamera *)camera edgePadding:(UIEdgeInsets)insets withDuration:(NSTimeInterval)duration peakAltitude:(CLLocationDistance)peakAltitude completionHandler:(nullable void (^)(void))completion;
|
|
15
|
+
@end
|
|
16
|
+
|
|
17
|
+
@interface RCTMGLCameraWithPadding : MGLMapCamera
|
|
18
|
+
|
|
19
|
+
@property (nonatomic) MGLMapCamera* _Nonnull camera;
|
|
20
|
+
@property (nonatomic) UIEdgeInsets boundsPadding;
|
|
21
|
+
|
|
22
|
+
@end
|
|
23
|
+
|
|
24
|
+
@implementation RCTMGLCameraWithPadding
|
|
25
|
+
|
|
26
|
+
@end
|
|
27
|
+
|
|
28
|
+
@implementation CameraUpdateItem
|
|
29
|
+
|
|
30
|
+
- (void)execute:(RCTMGLMapView *)mapView withCompletionHandler:(void (^)(void))completionHandler
|
|
31
|
+
{
|
|
32
|
+
if (_cameraStop.mode == [NSNumber numberWithInt:RCT_MAPBOX_CAMERA_MODE_FLIGHT]) {
|
|
33
|
+
[self _flyToCamera:mapView withCompletionHandler:completionHandler];
|
|
34
|
+
} else if (_cameraStop.mode == [NSNumber numberWithInt:RCT_MAPBOX_CAMERA_MODE_EASE]) {
|
|
35
|
+
[self _moveCamera:mapView animated:YES ease:YES withCompletionHandler:completionHandler];
|
|
36
|
+
} else if (_cameraStop.mode == [NSNumber numberWithInt:RCT_MAPBOX_CAMERA_MODE_LINEAR]) {
|
|
37
|
+
[self _moveCamera:mapView animated:YES ease:NO withCompletionHandler:completionHandler];
|
|
38
|
+
} else {
|
|
39
|
+
[self _moveCamera:mapView animated:NO ease:NO withCompletionHandler:completionHandler];
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
- (void)_flyToCamera:(RCTMGLMapView*)mapView withCompletionHandler:(void (^)(void))completionHandler
|
|
44
|
+
{
|
|
45
|
+
RCTMGLCameraWithPadding *nextCamera = [self _makeCamera:mapView];
|
|
46
|
+
|
|
47
|
+
if ([mapView respondsToSelector:@selector(_flyToCamera:edgePadding:withDuration:peakAltitude:completionHandler:)]) {
|
|
48
|
+
[mapView
|
|
49
|
+
_flyToCamera:nextCamera.camera
|
|
50
|
+
edgePadding:nextCamera.boundsPadding
|
|
51
|
+
withDuration:_cameraStop.duration
|
|
52
|
+
peakAltitude:-1
|
|
53
|
+
completionHandler:completionHandler];
|
|
54
|
+
} else {
|
|
55
|
+
[mapView
|
|
56
|
+
flyToCamera:nextCamera.camera
|
|
57
|
+
withDuration:_cameraStop.duration
|
|
58
|
+
completionHandler:completionHandler];
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
- (void)_moveCamera:(RCTMGLMapView*)mapView animated:(BOOL)animated ease:(BOOL)ease withCompletionHandler:(void (^)(void))completionHandler
|
|
63
|
+
{
|
|
64
|
+
RCTMGLCameraWithPadding *nextCamera = [self _makeCamera:mapView];
|
|
65
|
+
NSString *easeFunctionName = ease ? kCAMediaTimingFunctionEaseInEaseOut : kCAMediaTimingFunctionLinear;
|
|
66
|
+
|
|
67
|
+
[mapView setCamera:nextCamera.camera
|
|
68
|
+
withDuration:animated ? _cameraStop.duration : 0
|
|
69
|
+
animationTimingFunction:[CAMediaTimingFunction functionWithName:easeFunctionName]
|
|
70
|
+
edgePadding:nextCamera.boundsPadding
|
|
71
|
+
completionHandler:completionHandler];
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
- (RCTMGLCameraWithPadding*)_makeCamera:(RCTMGLMapView*)mapView
|
|
75
|
+
{
|
|
76
|
+
MGLMapCamera *nextCamera = [mapView.camera copy];
|
|
77
|
+
|
|
78
|
+
UIEdgeInsets padding = [self _clippedPadding:_cameraStop.padding forView:mapView];
|
|
79
|
+
if (padding.top <= 0 && padding.bottom <= 0) {
|
|
80
|
+
// If all padding properties are 0 in the update, and the bounds and centerCoordinate do not
|
|
81
|
+
// change, the padding doesn't change either. This seems to be a bug in the iOS SDK.
|
|
82
|
+
padding.top = 1.0;
|
|
83
|
+
padding.bottom = 1.0;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
bool hasSetAltitude = false;
|
|
87
|
+
|
|
88
|
+
if ([self _isCoordValid:_cameraStop.coordinate]) {
|
|
89
|
+
MGLCoordinateBounds boundsFromCoord = { .sw = _cameraStop.coordinate, .ne = _cameraStop.coordinate };
|
|
90
|
+
MGLMapCamera *boundsCamera = [mapView
|
|
91
|
+
camera:nextCamera
|
|
92
|
+
fittingCoordinateBounds:boundsFromCoord
|
|
93
|
+
edgePadding: padding];
|
|
94
|
+
nextCamera.centerCoordinate = boundsCamera.centerCoordinate;
|
|
95
|
+
} else if ([self _areBoundsValid:_cameraStop.bounds]) {
|
|
96
|
+
MGLMapCamera *boundsCamera = [mapView
|
|
97
|
+
camera:nextCamera
|
|
98
|
+
fittingCoordinateBounds:_cameraStop.bounds
|
|
99
|
+
edgePadding: padding];
|
|
100
|
+
nextCamera.centerCoordinate = boundsCamera.centerCoordinate;
|
|
101
|
+
nextCamera.altitude = boundsCamera.altitude;
|
|
102
|
+
hasSetAltitude = true;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
if (_cameraStop.pitch != nil) {
|
|
106
|
+
nextCamera.pitch = [_cameraStop.pitch floatValue];
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
if (_cameraStop.heading != nil) {
|
|
110
|
+
nextCamera.heading = [_cameraStop.heading floatValue];
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
if (_cameraStop.zoom != nil && hasSetAltitude == false) {
|
|
114
|
+
nextCamera.altitude = [mapView
|
|
115
|
+
altitudeFromZoom:[_cameraStop.zoom doubleValue]
|
|
116
|
+
atLatitude:nextCamera.centerCoordinate.latitude
|
|
117
|
+
atPitch:nextCamera.pitch];
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
RCTMGLCameraWithPadding* cameraWithPadding = [[RCTMGLCameraWithPadding alloc] init];
|
|
121
|
+
cameraWithPadding.camera = nextCamera;
|
|
122
|
+
cameraWithPadding.boundsPadding = padding;
|
|
123
|
+
return cameraWithPadding;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
- (UIEdgeInsets)_clippedPadding:(UIEdgeInsets)padding forView:(RCTMGLMapView*)mapView
|
|
127
|
+
{
|
|
128
|
+
UIEdgeInsets result = padding;
|
|
129
|
+
if ((padding.top + padding.bottom) >= mapView.frame.size.height) {
|
|
130
|
+
double totalPadding = padding.top + padding.bottom;
|
|
131
|
+
double extra = totalPadding - mapView.frame.size.height + 1.0;
|
|
132
|
+
result.top -= (padding.top * extra) / totalPadding;
|
|
133
|
+
result.bottom -= (padding.bottom * extra) / totalPadding;
|
|
134
|
+
}
|
|
135
|
+
if ((padding.left + padding.right) >= mapView.frame.size.width) {
|
|
136
|
+
double totalPadding = padding.left + padding.right;
|
|
137
|
+
double extra = totalPadding - mapView.frame.size.width + 1.0;
|
|
138
|
+
result.left -= (padding.left * extra) / totalPadding;
|
|
139
|
+
result.right -= (padding.right * extra) / totalPadding;
|
|
140
|
+
}
|
|
141
|
+
return result;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
- (BOOL)_areBoundsValid:(MGLCoordinateBounds)bounds {
|
|
145
|
+
BOOL isValid = CLLocationCoordinate2DIsValid(bounds.ne) && CLLocationCoordinate2DIsValid(bounds.sw);
|
|
146
|
+
|
|
147
|
+
if (!isValid) {
|
|
148
|
+
return NO;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
CLLocationCoordinate2D ne = bounds.ne;
|
|
152
|
+
CLLocationCoordinate2D sw = bounds.sw;
|
|
153
|
+
return [self _isCoordValid:ne] && [self _isCoordValid:sw];
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
- (BOOL)_isCoordValid:(CLLocationCoordinate2D)coord
|
|
157
|
+
{
|
|
158
|
+
BOOL isValid = CLLocationCoordinate2DIsValid(coord);
|
|
159
|
+
|
|
160
|
+
if (!isValid) {
|
|
161
|
+
return NO;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
return YES;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
- (BOOL)_hasCenterCoordAndZoom
|
|
168
|
+
{
|
|
169
|
+
BOOL isValid = CLLocationCoordinate2DIsValid(_cameraStop.coordinate) && _cameraStop.zoom != nil;
|
|
170
|
+
|
|
171
|
+
if (!isValid) {
|
|
172
|
+
return NO;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
return [self _isCoordValid:_cameraStop.coordinate];
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
@end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
//
|
|
2
|
+
// CameraUpdateQueue.h
|
|
3
|
+
// RCTMGL
|
|
4
|
+
//
|
|
5
|
+
// Created by Nick Italiano on 9/6/17.
|
|
6
|
+
// Copyright © 2017 Mapbox Inc. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import "CameraStop.h"
|
|
10
|
+
#import "CameraUpdateItem.h"
|
|
11
|
+
#import "RCTMGLMapView.h"
|
|
12
|
+
|
|
13
|
+
@interface CameraUpdateQueue : NSObject
|
|
14
|
+
|
|
15
|
+
- (void)enqueue:(CameraStop* _Nonnull)cameraUpdateItem;
|
|
16
|
+
- (CameraStop* _Nonnull)dequeue;
|
|
17
|
+
- (void)flush;
|
|
18
|
+
- (BOOL)isEmpty;
|
|
19
|
+
- (void)execute:(RCTMGLMapView* _Nonnull)mapView;
|
|
20
|
+
|
|
21
|
+
@end
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
//
|
|
2
|
+
// CameraUpdateQueue.m
|
|
3
|
+
// RCTMGL
|
|
4
|
+
//
|
|
5
|
+
// Created by Nick Italiano on 9/6/17.
|
|
6
|
+
// Copyright © 2017 Mapbox Inc. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import "CameraUpdateQueue.h"
|
|
10
|
+
|
|
11
|
+
@implementation CameraUpdateQueue
|
|
12
|
+
{
|
|
13
|
+
NSMutableArray<CameraStop*> *queue;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
- (instancetype)init
|
|
17
|
+
{
|
|
18
|
+
if (self = [super init]) {
|
|
19
|
+
queue = [[NSMutableArray alloc] init];
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
return self;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
- (void)enqueue:(CameraStop*)cameraUpdateItem
|
|
26
|
+
{
|
|
27
|
+
[queue addObject:cameraUpdateItem];
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
- (CameraStop*)dequeue
|
|
31
|
+
{
|
|
32
|
+
if ([self isEmpty]) {
|
|
33
|
+
return nil;
|
|
34
|
+
}
|
|
35
|
+
CameraStop *stop = queue.firstObject;
|
|
36
|
+
[queue removeObjectAtIndex:0];
|
|
37
|
+
return stop;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
- (void)flush
|
|
41
|
+
{
|
|
42
|
+
[queue removeAllObjects];
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
- (BOOL)isEmpty
|
|
46
|
+
{
|
|
47
|
+
return queue.count == 0;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
- (void)execute:(RCTMGLMapView*)mapView
|
|
51
|
+
{
|
|
52
|
+
if (mapView == nil) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
if ([self isEmpty]) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
CameraStop *stop = [self dequeue];
|
|
61
|
+
if (stop == nil) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
CameraUpdateItem *item = [[CameraUpdateItem alloc] init];
|
|
66
|
+
item.cameraStop = stop;
|
|
67
|
+
|
|
68
|
+
__weak CameraUpdateQueue *weakSelf = self;
|
|
69
|
+
__weak RCTMGLMapView *weakMap = mapView;
|
|
70
|
+
|
|
71
|
+
[item execute:mapView withCompletionHandler:^{ [weakSelf execute:weakMap]; }];
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
@end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
//
|
|
2
|
+
// FilterParser.h
|
|
3
|
+
// RCTMGL
|
|
4
|
+
//
|
|
5
|
+
// Created by Nick Italiano on 10/3/17.
|
|
6
|
+
// Copyright © 2017 Mapbox Inc. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
#import <Foundation/Foundation.h>
|
|
9
|
+
|
|
10
|
+
@interface FilterParser : NSObject
|
|
11
|
+
|
|
12
|
+
+ (NSPredicate*)parse:(NSArray *)filter;
|
|
13
|
+
|
|
14
|
+
@end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
//
|
|
2
|
+
// FilterParser.m
|
|
3
|
+
// RCTMGL
|
|
4
|
+
//
|
|
5
|
+
// Created by Nick Italiano on 10/3/17.
|
|
6
|
+
// Copyright © 2017 Mapbox Inc. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import "FilterParser.h"
|
|
10
|
+
#import <Mapbox/Mapbox.h>
|
|
11
|
+
|
|
12
|
+
@implementation FilterParser
|
|
13
|
+
|
|
14
|
+
+ (NSPredicate*)parse:(NSArray *)filterList
|
|
15
|
+
{
|
|
16
|
+
if (filterList == nil || filterList.count < 1) {
|
|
17
|
+
return nil;
|
|
18
|
+
}
|
|
19
|
+
return [NSPredicate predicateWithMGLJSONObject:filterList];
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
@end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//
|
|
2
|
+
// MGLCustomHeaders.h
|
|
3
|
+
// RCTMGL
|
|
4
|
+
//
|
|
5
|
+
|
|
6
|
+
#import <Foundation/Foundation.h>
|
|
7
|
+
|
|
8
|
+
@interface NSMutableURLRequest (CustomHeaders)
|
|
9
|
+
@end
|
|
10
|
+
|
|
11
|
+
@interface MGLCustomHeaders : NSObject
|
|
12
|
+
|
|
13
|
+
@property (nonatomic, strong) NSMutableDictionary<NSString*, NSString*> *currentHeaders;
|
|
14
|
+
|
|
15
|
+
+ (id)sharedInstance;
|
|
16
|
+
- (void)initHeaders;
|
|
17
|
+
- (void)addHeader:(NSString*)value forHeaderName:(NSString *)header;
|
|
18
|
+
- (void)removeHeader:(NSString *)header;
|
|
19
|
+
|
|
20
|
+
@end
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
//
|
|
2
|
+
// MGLCustomHeaders.h
|
|
3
|
+
// RCTMGL
|
|
4
|
+
//
|
|
5
|
+
|
|
6
|
+
#import <objc/runtime.h>
|
|
7
|
+
|
|
8
|
+
#import "MGLCustomHeaders.h"
|
|
9
|
+
#import <Mapbox/Mapbox.h>
|
|
10
|
+
#import <Mapbox/MGLNetworkConfiguration.h>
|
|
11
|
+
|
|
12
|
+
@implementation NSMutableURLRequest (CustomHeaders)
|
|
13
|
+
|
|
14
|
+
+(NSMutableURLRequest*) __swizzle_requestWithURL:(NSURL*)url {
|
|
15
|
+
if([url.scheme isEqualToString:@"ws"]) {
|
|
16
|
+
return [NSMutableURLRequest __swizzle_requestWithURL:url];
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
NSArray<NSString*>* stack = [NSThread callStackSymbols];
|
|
20
|
+
if ([stack count] < 2) {
|
|
21
|
+
return [NSMutableURLRequest __swizzle_requestWithURL:url];
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
if ([stack[1] containsString:@"Mapbox"] == NO) {
|
|
25
|
+
return [NSMutableURLRequest __swizzle_requestWithURL:url];
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
NSMutableURLRequest *req = [NSMutableURLRequest __swizzle_requestWithURL:url];
|
|
29
|
+
NSDictionary<NSString*, NSString*> *currentHeaders = [[[MGLCustomHeaders sharedInstance] currentHeaders] copy];
|
|
30
|
+
if(currentHeaders != nil && [currentHeaders count]>0) {
|
|
31
|
+
for (NSString* headerName in currentHeaders) {
|
|
32
|
+
id headerValue = currentHeaders[headerName];
|
|
33
|
+
[req setValue:headerValue forHTTPHeaderField:headerName];
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return req;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
@end
|
|
40
|
+
|
|
41
|
+
@implementation MGLCustomHeaders {
|
|
42
|
+
NSMutableDictionary<NSString*, NSString*> *_currentHeaders;
|
|
43
|
+
BOOL areHeadersAdded;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
+ (id)sharedInstance
|
|
47
|
+
{
|
|
48
|
+
static MGLCustomHeaders *customHeaders;
|
|
49
|
+
static dispatch_once_t onceToken;
|
|
50
|
+
dispatch_once(&onceToken, ^{ customHeaders = [[self alloc] init]; });
|
|
51
|
+
return customHeaders;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// This replaces the [NSMutableURLRequest requestWithURL:] with custom implementation which
|
|
55
|
+
// adds runtime headers copied from [MGLCustomHeaders _currentHeaders]
|
|
56
|
+
-(void)initHeaders
|
|
57
|
+
{
|
|
58
|
+
if (!areHeadersAdded) {
|
|
59
|
+
areHeadersAdded = YES;
|
|
60
|
+
NSLog(@"Replace method [NSMutableURLRequest requestWithURL]");
|
|
61
|
+
static dispatch_once_t onceToken;
|
|
62
|
+
dispatch_once(&onceToken, ^{
|
|
63
|
+
Class targetClass = [NSMutableURLRequest class];
|
|
64
|
+
Method oldMethod = class_getClassMethod(targetClass, @selector(requestWithURL:));
|
|
65
|
+
Method newMethod = class_getClassMethod(targetClass, @selector(__swizzle_requestWithURL:));
|
|
66
|
+
method_exchangeImplementations(oldMethod, newMethod);
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
- (instancetype)init
|
|
72
|
+
{
|
|
73
|
+
if (self = [super init]) {
|
|
74
|
+
_currentHeaders = [[NSMutableDictionary alloc] init];
|
|
75
|
+
areHeadersAdded = NO;
|
|
76
|
+
}
|
|
77
|
+
return self;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
- (void)addHeader:(NSString *)value forHeaderName:(NSString *)headerName {
|
|
81
|
+
|
|
82
|
+
if(!areHeadersAdded) {
|
|
83
|
+
areHeadersAdded = YES;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
[_currentHeaders setObject:value forKey:headerName];
|
|
87
|
+
[[[MGLNetworkConfiguration sharedManager] sessionConfiguration] setHTTPAdditionalHeaders:_currentHeaders];
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
- (void)removeHeader:(NSString *)header {
|
|
91
|
+
if(!areHeadersAdded) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
[_currentHeaders removeObjectForKey:header];
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
@end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
//
|
|
2
|
+
// MGLFaux3DUserLocationAnnotationView.h
|
|
3
|
+
// RCTMGL
|
|
4
|
+
//
|
|
5
|
+
// Created by Nick Italiano on 12/20/17.
|
|
6
|
+
// Copyright © 2017 Mapbox Inc. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import <UIKit/UIKit.h>
|
|
10
|
+
@import Mapbox;
|
|
11
|
+
|
|
12
|
+
extern const CGFloat MGLUserLocationAnnotationDotSize;
|
|
13
|
+
extern const CGFloat MGLUserLocationAnnotationHaloSize;
|
|
14
|
+
|
|
15
|
+
extern const CGFloat MGLUserLocationAnnotationPuckSize;
|
|
16
|
+
extern const CGFloat MGLUserLocationAnnotationArrowSize;
|
|
17
|
+
|
|
18
|
+
// Threshold in radians between heading indicator rotation updates.
|
|
19
|
+
extern const CGFloat MGLUserLocationHeadingUpdateThreshold;
|
|
20
|
+
|
|
21
|
+
@interface MGLFaux3DUserLocationAnnotationView : MGLUserLocationAnnotationView
|
|
22
|
+
|
|
23
|
+
@end
|