@rnmapbox/maps 10.0.0-beta.28

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.
Files changed (648) hide show
  1. package/.eslintignore +1 -0
  2. package/.eslintrc.js +109 -0
  3. package/.gitattributes +1 -0
  4. package/.github/ISSUE_TEMPLATE/bug_report.md +75 -0
  5. package/.github/ISSUE_TEMPLATE/bug_setup.md +23 -0
  6. package/.github/ISSUE_TEMPLATE/feature.md +15 -0
  7. package/.github/dependabot.yml +42 -0
  8. package/.github/label-actions.yml +26 -0
  9. package/.github/pull_request_template.md +28 -0
  10. package/.github/stale.yml +11 -0
  11. package/.github/workflows/android-actions.yml +56 -0
  12. package/.github/workflows/bump-version.yml +54 -0
  13. package/.github/workflows/ios-actions.yml +81 -0
  14. package/.github/workflows/label-actions.yml +17 -0
  15. package/.github/workflows/on-push.yml +131 -0
  16. package/.github/workflows/publish.yml +29 -0
  17. package/.nvmrc +2 -0
  18. package/.prettierrc.js +4 -0
  19. package/.sonarcloud.properties +15 -0
  20. package/CHANGELOG.md +386 -0
  21. package/CONTRIBUTING.md +30 -0
  22. package/LICENSE.md +5 -0
  23. package/README-v10.md +86 -0
  24. package/README.md +283 -0
  25. package/RELEASE.md +28 -0
  26. package/android/install.md +137 -0
  27. package/android/rctmgl/.classpath +6 -0
  28. package/android/rctmgl/.settings/org.eclipse.buildship.core.prefs +2 -0
  29. package/android/rctmgl/build.gradle +148 -0
  30. package/android/rctmgl/proguard-rules.pro +25 -0
  31. package/android/rctmgl/src/main/AndroidManifest.xml +4 -0
  32. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/RCTMGLPackage.java +99 -0
  33. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/AbstractEvent.java +35 -0
  34. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/AbstractEventEmitter.java +80 -0
  35. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/AbstractMapFeature.java +19 -0
  36. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/annotation/MarkerView.java +23 -0
  37. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/annotation/MarkerViewManager.java +69 -0
  38. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/annotation/RCTMGLCallout.java +15 -0
  39. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/annotation/RCTMGLCalloutManager.java +22 -0
  40. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/annotation/RCTMGLMarkerView.java +112 -0
  41. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/annotation/RCTMGLMarkerViewManager.java +45 -0
  42. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/annotation/RCTMGLPointAnnotation.java +360 -0
  43. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/annotation/RCTMGLPointAnnotationManager.java +88 -0
  44. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/camera/CameraStop.java +249 -0
  45. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/camera/CameraUpdateItem.java +125 -0
  46. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/camera/CameraUpdateQueue.java +73 -0
  47. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/camera/RCTMGLCamera.java +530 -0
  48. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/camera/RCTMGLCameraManager.java +101 -0
  49. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/camera/constants/CameraMode.java +22 -0
  50. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/images/RCTMGLImages.java +234 -0
  51. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/images/RCTMGLImagesManager.java +103 -0
  52. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/location/LocationComponentManager.java +149 -0
  53. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/location/RCTMGLNativeUserLocation.java +67 -0
  54. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/location/RCTMGLNativeUserLocationManager.java +35 -0
  55. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/mapview/LayerSourceInfo.java +59 -0
  56. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/mapview/RCTMGLAndroidTextureMapView.java +16 -0
  57. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/mapview/RCTMGLAndroidTextureMapViewManager.java +31 -0
  58. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/mapview/RCTMGLMapView.java +1528 -0
  59. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/mapview/RCTMGLMapViewManager.java +355 -0
  60. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/mapview/helpers/CameraChangeTracker.java +41 -0
  61. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/styles/RCTMGLStyle.java +83 -0
  62. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/styles/RCTMGLStyleFactory.java +2275 -0
  63. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/styles/RCTMGLStyleFunctionParser.java +108 -0
  64. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/styles/RCTMGLStyleValue.java +216 -0
  65. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/styles/layers/RCTLayer.java +287 -0
  66. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/styles/layers/RCTMGLBackgroundLayer.java +27 -0
  67. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/styles/layers/RCTMGLBackgroundLayerManager.java +64 -0
  68. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/styles/layers/RCTMGLCircleLayer.java +55 -0
  69. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/styles/layers/RCTMGLCircleLayerManager.java +77 -0
  70. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillExtrusionLayer.java +55 -0
  71. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillExtrusionLayerManager.java +80 -0
  72. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillLayer.java +55 -0
  73. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillLayerManager.java +80 -0
  74. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/styles/layers/RCTMGLHeatmapLayer.java +55 -0
  75. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/styles/layers/RCTMGLHeatmapLayerManager.java +77 -0
  76. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/styles/layers/RCTMGLLineLayer.java +55 -0
  77. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/styles/layers/RCTMGLLineLayerManager.java +79 -0
  78. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/styles/layers/RCTMGLRasterLayer.java +27 -0
  79. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/styles/layers/RCTMGLRasterLayerManager.java +64 -0
  80. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/styles/layers/RCTMGLSymbolLayer.java +55 -0
  81. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/styles/layers/RCTMGLSymbolLayerManager.java +75 -0
  82. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/styles/light/RCTMGLLight.java +65 -0
  83. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/styles/light/RCTMGLLightManager.java +29 -0
  84. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/styles/sources/RCTMGLImageSource.java +81 -0
  85. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/styles/sources/RCTMGLImageSourceManager.java +72 -0
  86. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/styles/sources/RCTMGLRasterSource.java +45 -0
  87. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/styles/sources/RCTMGLRasterSourceManager.java +44 -0
  88. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/styles/sources/RCTMGLShapeSource.java +316 -0
  89. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/styles/sources/RCTMGLShapeSourceManager.java +253 -0
  90. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/styles/sources/RCTMGLTileSource.java +97 -0
  91. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/styles/sources/RCTMGLTileSourceManager.java +80 -0
  92. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/styles/sources/RCTMGLVectorSource.java +64 -0
  93. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/styles/sources/RCTMGLVectorSourceManager.java +84 -0
  94. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/styles/sources/RCTSource.java +244 -0
  95. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/events/AbstractEvent.java +66 -0
  96. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/events/AndroidCallbackEvent.java +38 -0
  97. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/events/EventEmitter.java +45 -0
  98. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/events/FeatureClickEvent.java +79 -0
  99. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/events/IEvent.java +18 -0
  100. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/events/ImageMissingEvent.java +42 -0
  101. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/events/LocationEvent.java +100 -0
  102. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/events/MapChangeEvent.java +47 -0
  103. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/events/MapClickEvent.java +51 -0
  104. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/events/MapUserTrackingModeEvent.java +36 -0
  105. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/events/OfflineEvent.java +29 -0
  106. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/events/PointAnnotationClickEvent.java +46 -0
  107. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/events/PointAnnotationDragEvent.java +51 -0
  108. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/events/constants/EventKeys.java +39 -0
  109. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/events/constants/EventTypes.java +51 -0
  110. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/http/CustomHeadersInterceptor.java +38 -0
  111. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/location/LocationManager.java +147 -0
  112. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/location/UserLocation.java +63 -0
  113. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/location/UserLocationVerticalAlignment.java +11 -0
  114. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/location/UserTrackingMode.java +63 -0
  115. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/location/UserTrackingState.java +19 -0
  116. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/modules/RCTMGLLocationModule.java +159 -0
  117. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/modules/RCTMGLLogging.java +140 -0
  118. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/modules/RCTMGLModule.java +376 -0
  119. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/modules/RCTMGLOfflineModule.java +597 -0
  120. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/modules/RCTMGLSnapshotModule.java +139 -0
  121. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/utils/BitmapUtils.java +129 -0
  122. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/utils/ClusterPropertyEntry.java +13 -0
  123. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/utils/ConvertUtils.java +257 -0
  124. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/utils/DownloadMapImageTask.java +159 -0
  125. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/utils/ExpressionParser.java +74 -0
  126. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/utils/GeoJSONUtils.java +209 -0
  127. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/utils/GeoViewport.java +38 -0
  128. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/utils/ImageEntry.java +25 -0
  129. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/utils/ResourceUtils.java +30 -0
  130. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/utils/SimpleEventCallback.java +30 -0
  131. package/android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/utils/SphericalMercator.java +69 -0
  132. package/android/rctmgl/src/main/java-mapboxgl/mapbox/com/mapbox/rctmgl/impl/InstanceManagerImpl.java +35 -0
  133. package/android/rctmgl/src/main/java-mapboxgl/mapbox/com/mapbox/rctmgl/impl/LocationEngineCallbackImpl.java +12 -0
  134. package/android/rctmgl/src/main/java-mapboxgl/mapbox/com/mapbox/rctmgl/impl/LocationEngineResultImpl.java +18 -0
  135. package/android/rctmgl/src/main/java-mapboxgl/mapbox/com/mapbox/rctmgl/impl/LocationManagerImpl.java +64 -0
  136. package/android/rctmgl/src/main/java-mapboxgl/mapbox/com/mapbox/rctmgl/impl/PermissionsManagerImpl.java +10 -0
  137. package/android/rctmgl/src/main/java-mapboxgl/mapbox/com/mapbox/rctmgl/impl/SymbolClickListenerImpl.java +18 -0
  138. package/android/rctmgl/src/main/java-mapboxgl/mapbox/com/mapbox/rctmgl/impl/TelemetryImpl.java +11 -0
  139. package/android/rctmgl/src/main/java-mapboxgl/maplibre/com/mapbox/rctmgl/impl/InstanceManagerImpl.java +42 -0
  140. package/android/rctmgl/src/main/java-mapboxgl/maplibre/com/mapbox/rctmgl/impl/LocationEngineCallbackImpl.java +12 -0
  141. package/android/rctmgl/src/main/java-mapboxgl/maplibre/com/mapbox/rctmgl/impl/LocationEngineResultImpl.java +18 -0
  142. package/android/rctmgl/src/main/java-mapboxgl/maplibre/com/mapbox/rctmgl/impl/LocationManagerImpl.java +64 -0
  143. package/android/rctmgl/src/main/java-mapboxgl/maplibre/com/mapbox/rctmgl/impl/PermissionsManagerImpl.java +10 -0
  144. package/android/rctmgl/src/main/java-mapboxgl/maplibre/com/mapbox/rctmgl/impl/SymbolClickListenerImpl.java +18 -0
  145. package/android/rctmgl/src/main/java-mapboxgl/maplibre/com/mapbox/rctmgl/impl/TelemetryImpl.java +7 -0
  146. package/android/rctmgl/src/main/java-v10/README.md +0 -0
  147. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/RCTMGLPackage.java +111 -0
  148. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/AbstractEvent.java +35 -0
  149. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/AbstractEventEmitter.java +82 -0
  150. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/AbstractMapFeature.java +15 -0
  151. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/annotation/RCTMGLCallout.kt +6 -0
  152. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/annotation/RCTMGLCalloutManager.java +18 -0
  153. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/annotation/RCTMGLMarkerView.kt +76 -0
  154. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/annotation/RCTMGLMarkerViewManager.java +45 -0
  155. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/annotation/RCTMGLPointAnnotation.kt +313 -0
  156. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/annotation/RCTMGLPointAnnotationManager.java +84 -0
  157. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/camera/CameraStop.kt +228 -0
  158. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/camera/CameraUpdateItem.java +167 -0
  159. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/camera/CameraUpdateQueue.java +73 -0
  160. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/camera/RCTMGLCamera.java +662 -0
  161. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/camera/RCTMGLCameraManager.java +102 -0
  162. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/camera/constants/CameraMode.java +18 -0
  163. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/images/RCTMGLImages.kt +201 -0
  164. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/images/RCTMGLImagesManager.java +103 -0
  165. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/location/CameraMode.java +62 -0
  166. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/location/LocationComponentManager.java +215 -0
  167. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/location/RCTMGLNativeUserLocation.kt +58 -0
  168. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/location/RCTMGLNativeUserLocationManager.java +34 -0
  169. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/location/RenderMode.java +42 -0
  170. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/location/UserLocation.java +59 -0
  171. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/location/UserTrackingMode.java +54 -0
  172. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/mapview/OnMapReadyCallback.java +9 -0
  173. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/mapview/RCTMGLAndroidTextureMapView.java +16 -0
  174. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/mapview/RCTMGLAndroidTextureMapViewManager.java +31 -0
  175. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/mapview/RCTMGLMapView.kt +1070 -0
  176. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/mapview/RCTMGLMapViewManager.kt +327 -0
  177. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/mapview/helpers/CameraChangeTracker.java +37 -0
  178. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/RCTMGLStyle.kt +62 -0
  179. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/RCTMGLStyleFactory.java +2638 -0
  180. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/RCTMGLStyleValue.kt +223 -0
  181. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTLayer.kt +274 -0
  182. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLBackgroundLayer.java +23 -0
  183. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLBackgroundLayerManager.java +60 -0
  184. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLCircleLayer.java +53 -0
  185. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLCircleLayerManager.java +73 -0
  186. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillExtrusionLayer.java +51 -0
  187. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillExtrusionLayerManager.java +76 -0
  188. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillLayer.java +51 -0
  189. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillLayerManager.java +77 -0
  190. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLHeatmapLayer.java +51 -0
  191. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLHeatmapLayerManager.java +73 -0
  192. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLLineLayer.java +51 -0
  193. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLLineLayerManager.java +75 -0
  194. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLRasterLayer.java +24 -0
  195. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLRasterLayerManager.java +60 -0
  196. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLSkyLayer.kt +35 -0
  197. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLSkyLayerManager.java +73 -0
  198. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLSymbolLayer.java +51 -0
  199. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLSymbolLayerManager.java +71 -0
  200. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/light/RCTMGLLight.kt +47 -0
  201. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/light/RCTMGLLightManager.java +25 -0
  202. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/AbstractSourceConsumer.kt +8 -0
  203. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLImageSource.java +76 -0
  204. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLImageSourceManager.java +68 -0
  205. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLRasterDemSource.java +122 -0
  206. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLRasterDemSourceManager.java +64 -0
  207. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLRasterSource.java +43 -0
  208. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLRasterSourceManager.java +39 -0
  209. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLShapeSource.kt +264 -0
  210. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLShapeSourceManager.kt +198 -0
  211. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLTileSource.java +103 -0
  212. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLTileSourceManager.java +80 -0
  213. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLVectorSource.java +103 -0
  214. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLVectorSourceManager.java +80 -0
  215. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTSource.kt +211 -0
  216. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/terrain/RCTMGLTerrain.kt +58 -0
  217. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/terrain/RCTMGLTerrainManager.kt +41 -0
  218. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/events/AbstractEvent.java +62 -0
  219. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/events/AndroidCallbackEvent.java +34 -0
  220. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/events/EventEmitter.java +45 -0
  221. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/events/FeatureClickEvent.java +79 -0
  222. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/events/IEvent.java +18 -0
  223. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/events/ImageMissingEvent.java +42 -0
  224. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/events/LocationEvent.java +100 -0
  225. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/events/MapChangeEvent.java +43 -0
  226. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/events/MapClickEvent.java +51 -0
  227. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/events/OfflineEvent.java +25 -0
  228. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/events/PointAnnotationClickEvent.java +42 -0
  229. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/events/PointAnnotationDragEvent.java +51 -0
  230. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/events/constants/EventKeys.java +39 -0
  231. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/events/constants/EventTypes.java +47 -0
  232. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/location/LocationManager.kt +199 -0
  233. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/location/UserLocationVerticalAlignment.java +7 -0
  234. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/location/UserTrackingState.java +15 -0
  235. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/modules/RCTMGLLocationModule.java +160 -0
  236. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/modules/RCTMGLLogging.kt +113 -0
  237. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/modules/RCTMGLModule.kt +134 -0
  238. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/modules/RCTMGLOfflineModule.kt +653 -0
  239. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/modules/RCTMGLSnapshotModule.java +151 -0
  240. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/utils/BitmapUtils.java +183 -0
  241. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/utils/ConvertUtils.java +253 -0
  242. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/utils/DownloadMapImageTask.kt +151 -0
  243. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/utils/ExpressionParser.java +73 -0
  244. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/utils/GeoJSONUtils.kt +217 -0
  245. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/utils/ImageEntry.java +25 -0
  246. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/utils/LatLng.java +51 -0
  247. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/utils/LatLngBounds.java +42 -0
  248. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/utils/LatLngQuad.java +27 -0
  249. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/utils/Logger.kt +120 -0
  250. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/utils/ReadableMapToValue.java +51 -0
  251. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/utils/ResourceUtils.java +26 -0
  252. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/utils/extensions/Point.kt +13 -0
  253. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/utils/extensions/ReadableArray.kt +23 -0
  254. package/android/rctmgl/src/main/res/drawable/empty.xml +5 -0
  255. package/android/rctmgl/src/main/res/drawable/empty_drawable.png +0 -0
  256. package/android/rctmgl/src/main/res/drawable-xxhdpi/red_marker.png +0 -0
  257. package/android/rctmgl/src/main/res/layout/annotation.xml +17 -0
  258. package/android/rctmgl/src/main/res/values/strings.xml +3 -0
  259. package/app.plugin.js +1 -0
  260. package/assets/React-icon.svg +9 -0
  261. package/assets/beta-maps-example-point-annotation-960-d280759f6a3d8d75458f399c7a044926.webp +0 -0
  262. package/assets/beta-maps-guides-migrate-3d-terrain-960-48b1080117817ccfd92e434d0df7546f.webp +0 -0
  263. package/assets/heading.png +0 -0
  264. package/assets/heading@2x.png +0 -0
  265. package/assets/heading@3x.png +0 -0
  266. package/assets/indoor_building_map_android.png +0 -0
  267. package/assets/indoor_building_map_ios.png +0 -0
  268. package/assets/intro-examples.png +0 -0
  269. package/assets/mapbox_logo.png +0 -0
  270. package/assets/maps-examples-building-extrusions-960-aaa140cce77da4e8b2dd216032b191b6.webp +0 -0
  271. package/assets/maps-examples-camera-animators-960-a51d57db7243158d19e4fffb8363ac47.webp +0 -0
  272. package/assets/maps-examples-data-driven-symbols-960-2e2061a6b8127ef305c1b6c159f8dc65.webp +0 -0
  273. package/assets/sponsors/sth.png +0 -0
  274. package/assets/sponsors/terrain.dance.png +0 -0
  275. package/babel.config.js +9 -0
  276. package/docs/Annotation.md +39 -0
  277. package/docs/Annotations.md +17 -0
  278. package/docs/Atmosphere.md +265 -0
  279. package/docs/BackgroundLayer.md +166 -0
  280. package/docs/Callout.md +15 -0
  281. package/docs/Camera.md +34 -0
  282. package/docs/CircleLayer.md +470 -0
  283. package/docs/CustomHttpHeaders.md +87 -0
  284. package/docs/FillExtrusionLayer.md +433 -0
  285. package/docs/FillLayer.md +310 -0
  286. package/docs/GettingStarted.md +87 -0
  287. package/docs/HeadingIndicator.md +10 -0
  288. package/docs/HeatmapLayer.md +215 -0
  289. package/docs/ImageSource.md +12 -0
  290. package/docs/Images.md +12 -0
  291. package/docs/Light.md +159 -0
  292. package/docs/LineLayer.md +606 -0
  293. package/docs/Logger.md +23 -0
  294. package/docs/MapView.md +227 -0
  295. package/docs/MapboxGL.md +84 -0
  296. package/docs/MarkerView.md +14 -0
  297. package/docs/NativeUserLocation.md +11 -0
  298. package/docs/OfflineManager.md +262 -0
  299. package/docs/PointAnnotation.md +34 -0
  300. package/docs/RasterDemSource.md +15 -0
  301. package/docs/RasterLayer.md +357 -0
  302. package/docs/RasterSource.md +17 -0
  303. package/docs/ShapeSource.md +101 -0
  304. package/docs/SkyLayer.md +259 -0
  305. package/docs/Style.md +10 -0
  306. package/docs/StyleSheet.md +430 -0
  307. package/docs/SymbolLayer.md +1658 -0
  308. package/docs/Terrain.md +22 -0
  309. package/docs/UserLocation.md +39 -0
  310. package/docs/VectorSource.md +48 -0
  311. package/docs/docs.json +6415 -0
  312. package/docs/snapshotManager.md +53 -0
  313. package/index.d.ts +1050 -0
  314. package/ios/RCTMGL/CameraMode.h +18 -0
  315. package/ios/RCTMGL/CameraMode.m +18 -0
  316. package/ios/RCTMGL/CameraStop.h +26 -0
  317. package/ios/RCTMGL/CameraStop.m +83 -0
  318. package/ios/RCTMGL/CameraUpdateItem.h +18 -0
  319. package/ios/RCTMGL/CameraUpdateItem.m +178 -0
  320. package/ios/RCTMGL/CameraUpdateQueue.h +21 -0
  321. package/ios/RCTMGL/CameraUpdateQueue.m +74 -0
  322. package/ios/RCTMGL/FilterParser.h +14 -0
  323. package/ios/RCTMGL/FilterParser.m +22 -0
  324. package/ios/RCTMGL/MGLCustomHeaders.h +20 -0
  325. package/ios/RCTMGL/MGLCustomHeaders.m +98 -0
  326. package/ios/RCTMGL/MGLFaux3DUserLocationAnnotationView.h +23 -0
  327. package/ios/RCTMGL/MGLFaux3DUserLocationAnnotationView.m +474 -0
  328. package/ios/RCTMGL/MGLModule.h +13 -0
  329. package/ios/RCTMGL/MGLModule.m +335 -0
  330. package/ios/RCTMGL/MGLOfflineModule.h +19 -0
  331. package/ios/RCTMGL/MGLOfflineModule.m +537 -0
  332. package/ios/RCTMGL/MGLSnapshotModule.h +13 -0
  333. package/ios/RCTMGL/MGLSnapshotModule.m +80 -0
  334. package/ios/RCTMGL/MGLUserLocationHeadingArrowLayer.h +11 -0
  335. package/ios/RCTMGL/MGLUserLocationHeadingArrowLayer.m +57 -0
  336. package/ios/RCTMGL/MGLUserLocationHeadingBeamLayer.h +11 -0
  337. package/ios/RCTMGL/MGLUserLocationHeadingBeamLayer.m +102 -0
  338. package/ios/RCTMGL/MGLUserLocationHeadingIndicator.h +10 -0
  339. package/ios/RCTMGL/RCTConvert+Mapbox.h +16 -0
  340. package/ios/RCTMGL/RCTConvert+Mapbox.m +32 -0
  341. package/ios/RCTMGL/RCTMGL.h +13 -0
  342. package/ios/RCTMGL/RCTMGL.m +13 -0
  343. package/ios/RCTMGL/RCTMGLBackgroundLayer.h +14 -0
  344. package/ios/RCTMGL/RCTMGLBackgroundLayer.m +27 -0
  345. package/ios/RCTMGL/RCTMGLBackgroundLayerManager.h +13 -0
  346. package/ios/RCTMGL/RCTMGLBackgroundLayerManager.m +35 -0
  347. package/ios/RCTMGL/RCTMGLCallout.h +15 -0
  348. package/ios/RCTMGL/RCTMGLCallout.m +74 -0
  349. package/ios/RCTMGL/RCTMGLCalloutManager.h +13 -0
  350. package/ios/RCTMGL/RCTMGLCalloutManager.m +21 -0
  351. package/ios/RCTMGL/RCTMGLCamera.h +39 -0
  352. package/ios/RCTMGL/RCTMGLCamera.m +258 -0
  353. package/ios/RCTMGL/RCTMGLCameraManager.h +13 -0
  354. package/ios/RCTMGL/RCTMGLCameraManager.m +52 -0
  355. package/ios/RCTMGL/RCTMGLCircleLayer.h +13 -0
  356. package/ios/RCTMGL/RCTMGLCircleLayer.m +34 -0
  357. package/ios/RCTMGL/RCTMGLCircleLayerManager.h +13 -0
  358. package/ios/RCTMGL/RCTMGLCircleLayerManager.m +39 -0
  359. package/ios/RCTMGL/RCTMGLEvent.h +21 -0
  360. package/ios/RCTMGL/RCTMGLEvent.m +47 -0
  361. package/ios/RCTMGL/RCTMGLEventProtocol.h +16 -0
  362. package/ios/RCTMGL/RCTMGLEventTypes.h +50 -0
  363. package/ios/RCTMGL/RCTMGLEventTypes.m +49 -0
  364. package/ios/RCTMGL/RCTMGLFillExtrusionLayer.h +14 -0
  365. package/ios/RCTMGL/RCTMGLFillExtrusionLayer.m +32 -0
  366. package/ios/RCTMGL/RCTMGLFillExtrusionLayerManager.h +13 -0
  367. package/ios/RCTMGL/RCTMGLFillExtrusionLayerManager.m +39 -0
  368. package/ios/RCTMGL/RCTMGLFillLayer.h +14 -0
  369. package/ios/RCTMGL/RCTMGLFillLayer.m +33 -0
  370. package/ios/RCTMGL/RCTMGLFillLayerManager.h +13 -0
  371. package/ios/RCTMGL/RCTMGLFillLayerManager.m +37 -0
  372. package/ios/RCTMGL/RCTMGLHeatmapLayer.h +12 -0
  373. package/ios/RCTMGL/RCTMGLHeatmapLayer.m +30 -0
  374. package/ios/RCTMGL/RCTMGLHeatmapLayerManager.h +12 -0
  375. package/ios/RCTMGL/RCTMGLHeatmapLayerManager.m +38 -0
  376. package/ios/RCTMGL/RCTMGLImageQueue.h +19 -0
  377. package/ios/RCTMGL/RCTMGLImageQueue.m +57 -0
  378. package/ios/RCTMGL/RCTMGLImageQueueOperation.h +17 -0
  379. package/ios/RCTMGL/RCTMGLImageQueueOperation.m +138 -0
  380. package/ios/RCTMGL/RCTMGLImageSource.h +16 -0
  381. package/ios/RCTMGL/RCTMGLImageSource.m +60 -0
  382. package/ios/RCTMGL/RCTMGLImageSourceManager.h +13 -0
  383. package/ios/RCTMGL/RCTMGLImageSourceManager.m +25 -0
  384. package/ios/RCTMGL/RCTMGLImages.h +25 -0
  385. package/ios/RCTMGL/RCTMGLImages.m +126 -0
  386. package/ios/RCTMGL/RCTMGLImagesManager.h +5 -0
  387. package/ios/RCTMGL/RCTMGLImagesManager.m +21 -0
  388. package/ios/RCTMGL/RCTMGLLayer.h +52 -0
  389. package/ios/RCTMGL/RCTMGLLayer.m +236 -0
  390. package/ios/RCTMGL/RCTMGLLight.h +17 -0
  391. package/ios/RCTMGL/RCTMGLLight.m +46 -0
  392. package/ios/RCTMGL/RCTMGLLightManager.h +13 -0
  393. package/ios/RCTMGL/RCTMGLLightManager.m +23 -0
  394. package/ios/RCTMGL/RCTMGLLineLayer.h +14 -0
  395. package/ios/RCTMGL/RCTMGLLineLayer.m +33 -0
  396. package/ios/RCTMGL/RCTMGLLineLayerManager.h +13 -0
  397. package/ios/RCTMGL/RCTMGLLineLayerManager.m +40 -0
  398. package/ios/RCTMGL/RCTMGLLocation.h +19 -0
  399. package/ios/RCTMGL/RCTMGLLocation.m +32 -0
  400. package/ios/RCTMGL/RCTMGLLocationManager.h +30 -0
  401. package/ios/RCTMGL/RCTMGLLocationManager.m +180 -0
  402. package/ios/RCTMGL/RCTMGLLocationManagerDelegate.h +20 -0
  403. package/ios/RCTMGL/RCTMGLLocationModule.h +15 -0
  404. package/ios/RCTMGL/RCTMGLLocationModule.m +99 -0
  405. package/ios/RCTMGL/RCTMGLLogging.h +18 -0
  406. package/ios/RCTMGL/RCTMGLLogging.m +132 -0
  407. package/ios/RCTMGL/RCTMGLMapTouchEvent.h +25 -0
  408. package/ios/RCTMGL/RCTMGLMapTouchEvent.m +77 -0
  409. package/ios/RCTMGL/RCTMGLMapView.h +91 -0
  410. package/ios/RCTMGL/RCTMGLMapView.m +536 -0
  411. package/ios/RCTMGL/RCTMGLMapViewManager.h +17 -0
  412. package/ios/RCTMGL/RCTMGLMapViewManager.m +625 -0
  413. package/ios/RCTMGL/RCTMGLNativeUserLocation.h +18 -0
  414. package/ios/RCTMGL/RCTMGLNativeUserLocation.m +49 -0
  415. package/ios/RCTMGL/RCTMGLNativeUserLocationManager.h +5 -0
  416. package/ios/RCTMGL/RCTMGLNativeUserLocationManager.m +25 -0
  417. package/ios/RCTMGL/RCTMGLPointAnnotation.h +41 -0
  418. package/ios/RCTMGL/RCTMGLPointAnnotation.m +251 -0
  419. package/ios/RCTMGL/RCTMGLPointAnnotationManager.h +13 -0
  420. package/ios/RCTMGL/RCTMGLPointAnnotationManager.m +36 -0
  421. package/ios/RCTMGL/RCTMGLRasterLayer.h +14 -0
  422. package/ios/RCTMGL/RCTMGLRasterLayer.m +30 -0
  423. package/ios/RCTMGL/RCTMGLRasterLayerManager.h +13 -0
  424. package/ios/RCTMGL/RCTMGLRasterLayerManager.m +35 -0
  425. package/ios/RCTMGL/RCTMGLRasterSource.h +16 -0
  426. package/ios/RCTMGL/RCTMGLRasterSource.m +35 -0
  427. package/ios/RCTMGL/RCTMGLRasterSourceManager.h +13 -0
  428. package/ios/RCTMGL/RCTMGLRasterSourceManager.m +32 -0
  429. package/ios/RCTMGL/RCTMGLShapeSource.h +53 -0
  430. package/ios/RCTMGL/RCTMGLShapeSource.m +194 -0
  431. package/ios/RCTMGL/RCTMGLShapeSourceManager.h +14 -0
  432. package/ios/RCTMGL/RCTMGLShapeSourceManager.m +206 -0
  433. package/ios/RCTMGL/RCTMGLSource.h +35 -0
  434. package/ios/RCTMGL/RCTMGLSource.m +143 -0
  435. package/ios/RCTMGL/RCTMGLStyle.h +222 -0
  436. package/ios/RCTMGL/RCTMGLStyle.m +1675 -0
  437. package/ios/RCTMGL/RCTMGLStyleValue.h +27 -0
  438. package/ios/RCTMGL/RCTMGLStyleValue.m +167 -0
  439. package/ios/RCTMGL/RCTMGLSymbolLayer.h +19 -0
  440. package/ios/RCTMGL/RCTMGLSymbolLayer.m +121 -0
  441. package/ios/RCTMGL/RCTMGLSymbolLayerManager.h +13 -0
  442. package/ios/RCTMGL/RCTMGLSymbolLayerManager.m +40 -0
  443. package/ios/RCTMGL/RCTMGLTileSource.h +22 -0
  444. package/ios/RCTMGL/RCTMGLTileSource.m +31 -0
  445. package/ios/RCTMGL/RCTMGLUserLocation.h +15 -0
  446. package/ios/RCTMGL/RCTMGLUserLocation.m +38 -0
  447. package/ios/RCTMGL/RCTMGLUtils.h +31 -0
  448. package/ios/RCTMGL/RCTMGLUtils.m +218 -0
  449. package/ios/RCTMGL/RCTMGLVectorLayer.h +15 -0
  450. package/ios/RCTMGL/RCTMGLVectorLayer.m +59 -0
  451. package/ios/RCTMGL/RCTMGLVectorSource.h +16 -0
  452. package/ios/RCTMGL/RCTMGLVectorSource.m +28 -0
  453. package/ios/RCTMGL/RCTMGLVectorSourceManager.h +14 -0
  454. package/ios/RCTMGL/RCTMGLVectorSourceManager.m +79 -0
  455. package/ios/RCTMGL/RNMBImageUtils.h +17 -0
  456. package/ios/RCTMGL/RNMBImageUtils.m +31 -0
  457. package/ios/RCTMGL/ViewManager.h +16 -0
  458. package/ios/RCTMGL/ViewManager.m +63 -0
  459. package/ios/RCTMGL-v10/Bridge/RCTMGL.h +7 -0
  460. package/ios/RCTMGL-v10/CommonLayerProperties.H +13 -0
  461. package/ios/RCTMGL-v10/Extensions/Array+asExpressions.swift +14 -0
  462. package/ios/RCTMGL-v10/Extensions/CLLocationCoordinate2D+toArray.swift +7 -0
  463. package/ios/RCTMGL-v10/Extensions/CLLocationCoordinate2D+validate.swift +29 -0
  464. package/ios/RCTMGL-v10/Extensions/CoordinateBounds+toArray.swift +10 -0
  465. package/ios/RCTMGL-v10/Extensions/DefaultStringInterpolation+optional.swift +5 -0
  466. package/ios/RCTMGL-v10/Extensions/Encodable+ToJSON.swift +13 -0
  467. package/ios/RCTMGL-v10/MGLModule.m +7 -0
  468. package/ios/RCTMGL-v10/MGLModule.swift +71 -0
  469. package/ios/RCTMGL-v10/MGLSnapshotModule.m +11 -0
  470. package/ios/RCTMGL-v10/MGLSnapshotModule.swift +106 -0
  471. package/ios/RCTMGL-v10/RCTLog.swift +19 -0
  472. package/ios/RCTMGL-v10/RCTMGLAtmosphere.swift +73 -0
  473. package/ios/RCTMGL-v10/RCTMGLAtmosphereManager.m +8 -0
  474. package/ios/RCTMGL-v10/RCTMGLAtmosphereManager.swift +13 -0
  475. package/ios/RCTMGL-v10/RCTMGLBackgroundLayer.swift +47 -0
  476. package/ios/RCTMGL-v10/RCTMGLBackgroundLayerManager.m +9 -0
  477. package/ios/RCTMGL-v10/RCTMGLBackgroundLayerManager.swift +13 -0
  478. package/ios/RCTMGL-v10/RCTMGLCallout.swift +3 -0
  479. package/ios/RCTMGL-v10/RCTMGLCalloutManager.m +8 -0
  480. package/ios/RCTMGL-v10/RCTMGLCalloutManager.swift +14 -0
  481. package/ios/RCTMGL-v10/RCTMGLCamera.swift +423 -0
  482. package/ios/RCTMGL-v10/RCTMGLCameraManager.m +20 -0
  483. package/ios/RCTMGL-v10/RCTMGLCameraManager.swift +14 -0
  484. package/ios/RCTMGL-v10/RCTMGLCircleLayer.swift +66 -0
  485. package/ios/RCTMGL-v10/RCTMGLCircleLayerManager.m +12 -0
  486. package/ios/RCTMGL-v10/RCTMGLCircleLayerManager.swift +13 -0
  487. package/ios/RCTMGL-v10/RCTMGLEvent.swift +47 -0
  488. package/ios/RCTMGL-v10/RCTMGLFeatureUtils.swift +79 -0
  489. package/ios/RCTMGL-v10/RCTMGLFillExtrusionLayerManager.m +12 -0
  490. package/ios/RCTMGL-v10/RCTMGLFillExtrusionLayerManager.swift +13 -0
  491. package/ios/RCTMGL-v10/RCTMGLFillExtrustionLayer.swift +46 -0
  492. package/ios/RCTMGL-v10/RCTMGLFillLayer.swift +50 -0
  493. package/ios/RCTMGL-v10/RCTMGLFillLayerManager.m +12 -0
  494. package/ios/RCTMGL-v10/RCTMGLFillLayerManager.swift +13 -0
  495. package/ios/RCTMGL-v10/RCTMGLHeatmapLayer.swift +50 -0
  496. package/ios/RCTMGL-v10/RCTMGLHeatmapLayerManager.m +12 -0
  497. package/ios/RCTMGL-v10/RCTMGLHeatmapLayetManager.swift +13 -0
  498. package/ios/RCTMGL-v10/RCTMGLImageQueue.swift +140 -0
  499. package/ios/RCTMGL-v10/RCTMGLImageSource.swift +61 -0
  500. package/ios/RCTMGL-v10/RCTMGLImageSourceManager.m +10 -0
  501. package/ios/RCTMGL-v10/RCTMGLImageSourceManager.swift +11 -0
  502. package/ios/RCTMGL-v10/RCTMGLImages.swift +197 -0
  503. package/ios/RCTMGL-v10/RCTMGLImagesManager.m +11 -0
  504. package/ios/RCTMGL-v10/RCTMGLImagesManager.swift +14 -0
  505. package/ios/RCTMGL-v10/RCTMGLInteractiveElement.swift +57 -0
  506. package/ios/RCTMGL-v10/RCTMGLLayer.swift +304 -0
  507. package/ios/RCTMGL-v10/RCTMGLLight.swift +56 -0
  508. package/ios/RCTMGL-v10/RCTMGLLightManager.m +9 -0
  509. package/ios/RCTMGL-v10/RCTMGLLightManager.swift +13 -0
  510. package/ios/RCTMGL-v10/RCTMGLLineLayer.swift +52 -0
  511. package/ios/RCTMGL-v10/RCTMGLLineLayerManager.m +12 -0
  512. package/ios/RCTMGL-v10/RCTMGLLineLayerManager.swift +13 -0
  513. package/ios/RCTMGL-v10/RCTMGLLocationModule.m +15 -0
  514. package/ios/RCTMGL-v10/RCTMGLLocationModule.swift +272 -0
  515. package/ios/RCTMGL-v10/RCTMGLLogging.m +8 -0
  516. package/ios/RCTMGL-v10/RCTMGLLogging.swift +133 -0
  517. package/ios/RCTMGL-v10/RCTMGLMapView.swift +914 -0
  518. package/ios/RCTMGL-v10/RCTMGLMapViewManager.m +88 -0
  519. package/ios/RCTMGL-v10/RCTMGLMapViewManager.swift +242 -0
  520. package/ios/RCTMGL-v10/RCTMGLMarkerView.swift +138 -0
  521. package/ios/RCTMGL-v10/RCTMGLMarkerViewManager.m +11 -0
  522. package/ios/RCTMGL-v10/RCTMGLMarkerViewManager.swift +14 -0
  523. package/ios/RCTMGL-v10/RCTMGLNativeUserLocation.swift +44 -0
  524. package/ios/RCTMGL-v10/RCTMGLNativeUserLocationManager.m +9 -0
  525. package/ios/RCTMGL-v10/RCTMGLNativeUserLocationManager.swift +11 -0
  526. package/ios/RCTMGL-v10/RCTMGLOfflineModule.m +32 -0
  527. package/ios/RCTMGL-v10/RCTMGLOfflineModule.swift +486 -0
  528. package/ios/RCTMGL-v10/RCTMGLPointAnnotation.swift +230 -0
  529. package/ios/RCTMGL-v10/RCTMGLPointAnnotationManager.m +22 -0
  530. package/ios/RCTMGL-v10/RCTMGLPointAnnotationManager.swift +34 -0
  531. package/ios/RCTMGL-v10/RCTMGLRasterDemSource.swift +57 -0
  532. package/ios/RCTMGL-v10/RCTMGLRasterDemSourceManager.m +20 -0
  533. package/ios/RCTMGL-v10/RCTMGLRasterDemSourceManager.swift +11 -0
  534. package/ios/RCTMGL-v10/RCTMGLRasterLayer.swift +48 -0
  535. package/ios/RCTMGL-v10/RCTMGLRasterLayerManager.m +12 -0
  536. package/ios/RCTMGL-v10/RCTMGLRasterLayerManager.swift +13 -0
  537. package/ios/RCTMGL-v10/RCTMGLRasterSource.swift +51 -0
  538. package/ios/RCTMGL-v10/RCTMGLRasterSourceManager.m +18 -0
  539. package/ios/RCTMGL-v10/RCTMGLRasterSourceManager.swift +14 -0
  540. package/ios/RCTMGL-v10/RCTMGLShapeSource.swift +277 -0
  541. package/ios/RCTMGL-v10/RCTMGLShapeSourceManager.m +44 -0
  542. package/ios/RCTMGL-v10/RCTMGLShapeSourceManager.swift +106 -0
  543. package/ios/RCTMGL-v10/RCTMGLSingletonLayer.swift +41 -0
  544. package/ios/RCTMGL-v10/RCTMGLSkyLayer.swift +52 -0
  545. package/ios/RCTMGL-v10/RCTMGLSkyLayerManager.m +9 -0
  546. package/ios/RCTMGL-v10/RCTMGLSkyLayerManager.swift +13 -0
  547. package/ios/RCTMGL-v10/RCTMGLSource.swift +65 -0
  548. package/ios/RCTMGL-v10/RCTMGLStyle.swift +2509 -0
  549. package/ios/RCTMGL-v10/RCTMGLStyleValue.swift +446 -0
  550. package/ios/RCTMGL-v10/RCTMGLSymbolLayer.swift +51 -0
  551. package/ios/RCTMGL-v10/RCTMGLSymbolLayerManager.m +12 -0
  552. package/ios/RCTMGL-v10/RCTMGLSymbolLayerManager.swift +13 -0
  553. package/ios/RCTMGL-v10/RCTMGLTerrain.swift +97 -0
  554. package/ios/RCTMGL-v10/RCTMGLTerrainManager.m +16 -0
  555. package/ios/RCTMGL-v10/RCTMGLTerrainManager.swift +13 -0
  556. package/ios/RCTMGL-v10/RCTMGLTileSource.swift +5 -0
  557. package/ios/RCTMGL-v10/RCTMGLUtils.swift +53 -0
  558. package/ios/RCTMGL-v10/RCTMGLVectorLayer.m +58 -0
  559. package/ios/RCTMGL-v10/RCTMGLVectorLayer.swift +49 -0
  560. package/ios/RCTMGL-v10/RCTMGLVectorSource.swift +57 -0
  561. package/ios/RCTMGL-v10/RCTMGLVectorSourceManager.m +21 -0
  562. package/ios/RCTMGL-v10/RCTMGLVectorSourceManager.swift +11 -0
  563. package/ios/RCTMGL-v10/RCTSwiftLog.h +11 -0
  564. package/ios/RCTMGL-v10/RCTSwiftLog.m +32 -0
  565. package/ios/RCTMGL-v10/README.md +1 -0
  566. package/ios/RCTMGL-v10/RNMBImageUtils.swift +20 -0
  567. package/ios/install.md +102 -0
  568. package/javascript/components/AbstractLayer.js +49 -0
  569. package/javascript/components/AbstractSource.js +15 -0
  570. package/javascript/components/Atmosphere.tsx +28 -0
  571. package/javascript/components/BackgroundLayer.js +97 -0
  572. package/javascript/components/Callout.js +139 -0
  573. package/javascript/components/Camera.tsx +526 -0
  574. package/javascript/components/CircleLayer.js +101 -0
  575. package/javascript/components/FillExtrusionLayer.js +98 -0
  576. package/javascript/components/FillLayer.js +94 -0
  577. package/javascript/components/HeadingIndicator.js +31 -0
  578. package/javascript/components/HeatmapLayer.js +99 -0
  579. package/javascript/components/ImageSource.js +82 -0
  580. package/javascript/components/Images.js +119 -0
  581. package/javascript/components/Light.js +47 -0
  582. package/javascript/components/LineLayer.js +94 -0
  583. package/javascript/components/MapView.js +883 -0
  584. package/javascript/components/MarkerView.js +91 -0
  585. package/javascript/components/NativeBridgeComponent.js +86 -0
  586. package/javascript/components/NativeUserLocation.js +41 -0
  587. package/javascript/components/PointAnnotation.js +217 -0
  588. package/javascript/components/RasterDemSource.js +106 -0
  589. package/javascript/components/RasterLayer.js +95 -0
  590. package/javascript/components/RasterSource.js +124 -0
  591. package/javascript/components/ShapeSource.js +373 -0
  592. package/javascript/components/SkyLayer.js +80 -0
  593. package/javascript/components/Style.js +265 -0
  594. package/javascript/components/SymbolLayer.js +120 -0
  595. package/javascript/components/Terrain.js +56 -0
  596. package/javascript/components/UserLocation.js +274 -0
  597. package/javascript/components/VectorSource.js +200 -0
  598. package/javascript/components/annotations/Annotation.js +123 -0
  599. package/javascript/index.js +139 -0
  600. package/javascript/modules/location/locationManager.js +101 -0
  601. package/javascript/modules/offline/OfflineCreatePackOptions.js +46 -0
  602. package/javascript/modules/offline/OfflinePack.js +40 -0
  603. package/javascript/modules/offline/offlineManager.js +391 -0
  604. package/javascript/modules/snapshot/SnapshotOptions.js +67 -0
  605. package/javascript/modules/snapshot/snapshotManager.js +62 -0
  606. package/javascript/requestAndroidLocationPermissions.ts +30 -0
  607. package/javascript/types/index.ts +23 -0
  608. package/javascript/utils/BridgeValue.js +81 -0
  609. package/javascript/utils/Logger.js +116 -0
  610. package/javascript/utils/MapboxStyles.ts +1484 -0
  611. package/javascript/utils/StyleValue.ts +44 -0
  612. package/javascript/utils/animated/Animated.js +39 -0
  613. package/javascript/utils/animated/AnimatedCoordinatesArray.js +191 -0
  614. package/javascript/utils/animated/AnimatedExtractCoordinateFromArray.js +43 -0
  615. package/javascript/utils/animated/AnimatedPoint.js +126 -0
  616. package/javascript/utils/animated/AnimatedRouteCoordinatesArray.js +143 -0
  617. package/javascript/utils/animated/AnimatedShape.js +72 -0
  618. package/javascript/utils/deprecation.js +25 -0
  619. package/javascript/utils/filterUtils.js +7 -0
  620. package/javascript/utils/geoUtils.js +73 -0
  621. package/javascript/utils/index.js +124 -0
  622. package/javascript/utils/resolveAssetSource.d.ts +5 -0
  623. package/javascript/utils/styleMap.js +2181 -0
  624. package/package.json +109 -0
  625. package/plugin/build/withMapbox.d.ts +17 -0
  626. package/plugin/build/withMapbox.js +286 -0
  627. package/plugin/install.md +53 -0
  628. package/react-native.config.js +12 -0
  629. package/rnmapbox-maps.podspec +264 -0
  630. package/scripts/.eslintrc.js +12 -0
  631. package/scripts/autogenHelpers/DocJSONBuilder.js +345 -0
  632. package/scripts/autogenHelpers/JSDocNodeTree.js +134 -0
  633. package/scripts/autogenHelpers/MarkdownBuilder.js +38 -0
  634. package/scripts/autogenHelpers/globals.js +507 -0
  635. package/scripts/autogenerate.js +530 -0
  636. package/scripts/download-style-spec.sh +15 -0
  637. package/scripts/templates/MapboxStyles.ts.ejs +92 -0
  638. package/scripts/templates/RCTMGLStyle.h.ejs +34 -0
  639. package/scripts/templates/RCTMGLStyle.m.ejs +106 -0
  640. package/scripts/templates/RCTMGLStyle.swift.ejs +116 -0
  641. package/scripts/templates/RCTMGLStyleFactory.java.ejs +108 -0
  642. package/scripts/templates/RCTMGLStyleFactoryv10.java.ejs +115 -0
  643. package/scripts/templates/component.md.ejs +122 -0
  644. package/scripts/templates/index.d.ts.ejs +56 -0
  645. package/scripts/templates/styleMap.js.ejs +115 -0
  646. package/setup-jest.js +125 -0
  647. package/style-spec/v8.json +6692 -0
  648. package/tsconfig.json +24 -0
@@ -0,0 +1,537 @@
1
+ //
2
+ // MGLOfflineModule.m
3
+ // RCTMGL
4
+ //
5
+ // Created by Nick Italiano on 10/25/17.
6
+ // Copyright © 2017 Mapbox Inc. All rights reserved.
7
+ //
8
+
9
+ #import "MGLOfflineModule.h"
10
+ #import "RCTMGLUtils.h"
11
+ #import "RCTMGLEvent.h"
12
+ #import "RCTMGLEventTypes.h"
13
+
14
+ @implementation MGLOfflineModule
15
+ {
16
+ NSUInteger lastPackState;
17
+ double lastPackTimestamp;
18
+ double eventThrottle;
19
+ BOOL hasListeners;
20
+ NSMutableArray<RCTPromiseResolveBlock> *packRequestQueue;
21
+ }
22
+
23
+ RCT_EXPORT_MODULE()
24
+
25
+ + (BOOL)requiresMainQueueSetup
26
+ {
27
+ return YES;
28
+ }
29
+
30
+ - (void)startObserving
31
+ {
32
+ [super startObserving];
33
+ hasListeners = YES;
34
+ }
35
+
36
+ - (void)stopObserving
37
+ {
38
+ [super stopObserving];
39
+ hasListeners = NO;
40
+ }
41
+
42
+ NSString *const RCT_MAPBOX_OFFLINE_CALLBACK_PROGRESS = @"MapboxOfflineRegionProgress";
43
+ NSString *const RCT_MAPBOX_OFFLINE_CALLBACK_ERROR = @"MapboOfflineRegionError";
44
+
45
+ - (instancetype)init
46
+ {
47
+ if (self = [super init]) {
48
+ packRequestQueue = [NSMutableArray new];
49
+ eventThrottle = 300;
50
+ lastPackState = -1;
51
+
52
+ NSNotificationCenter *defaultCenter = [NSNotificationCenter defaultCenter];
53
+ [defaultCenter addObserver:self selector:@selector(offlinePackProgressDidChange:) name:MGLOfflinePackProgressChangedNotification object:nil];
54
+ [defaultCenter addObserver:self selector:@selector(offlinePackDidReceiveError:) name:MGLOfflinePackErrorNotification object:nil];
55
+ [defaultCenter addObserver:self selector:@selector(offlinePackDidReceiveMaxAllowedMapboxTiles:) name:MGLOfflinePackMaximumMapboxTilesReachedNotification object:nil];
56
+
57
+ [[MGLOfflineStorage sharedOfflineStorage] addObserver:self forKeyPath:@"packs" options:NSKeyValueObservingOptionInitial context:NULL];
58
+ }
59
+ return self;
60
+ }
61
+
62
+ - (void)dealloc
63
+ {
64
+ [[MGLOfflineStorage sharedOfflineStorage] removeObserver:self forKeyPath:@"packs"];
65
+ [[NSNotificationCenter defaultCenter] removeObserver:self];
66
+ }
67
+
68
+ - (NSArray<NSString *> *)supportedEvents
69
+ {
70
+ return @[RCT_MAPBOX_OFFLINE_CALLBACK_PROGRESS, RCT_MAPBOX_OFFLINE_CALLBACK_ERROR];
71
+ }
72
+
73
+ - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSKeyValueChangeKey,id> *)change context:(void *)context
74
+ {
75
+ if ([keyPath isEqualToString:@"state"] && [object isKindOfClass:[MGLOfflinePack class]]) {
76
+ MGLOfflinePack* pack = (MGLOfflinePack*)object;
77
+ [self observerStateForPack:pack context:context];
78
+ return;
79
+ }
80
+
81
+ if (packRequestQueue.count == 0) {
82
+ return;
83
+ }
84
+
85
+ NSArray<MGLOfflinePack *> *packs = [[MGLOfflineStorage sharedOfflineStorage] packs];
86
+ if (packs == nil) {
87
+ return;
88
+ }
89
+
90
+ while (packRequestQueue.count > 0) {
91
+ RCTPromiseResolveBlock resolve = [packRequestQueue objectAtIndex:0];
92
+ resolve([self _convertPacksToJson:packs]);
93
+ [packRequestQueue removeObjectAtIndex:0];
94
+ }
95
+ }
96
+
97
+ RCT_EXPORT_METHOD(createPack:(NSDictionary *)options
98
+ resolver:(RCTPromiseResolveBlock)resolve
99
+ rejecter:(RCTPromiseRejectBlock)reject)
100
+ {
101
+ NSString *styleURL = options[@"styleURL"];
102
+ MGLCoordinateBounds bounds = [RCTMGLUtils fromFeatureCollection:options[@"bounds"]];
103
+
104
+ id<MGLOfflineRegion> offlineRegion = [[MGLTilePyramidOfflineRegion alloc] initWithStyleURL:[NSURL URLWithString:styleURL]
105
+ bounds:bounds
106
+ fromZoomLevel:[options[@"minZoom"] doubleValue]
107
+ toZoomLevel:[options[@"maxZoom"] doubleValue]];
108
+ NSData *context = [self _archiveMetadata:options[@"metadata"]];
109
+
110
+ [[MGLOfflineStorage sharedOfflineStorage] addPackForRegion:offlineRegion
111
+ withContext:context
112
+ completionHandler:^(MGLOfflinePack *pack, NSError *error) {
113
+ if (error != nil) {
114
+ reject(@"createPack", error.description, error);
115
+ return;
116
+ }
117
+ resolve([self _convertPackToDict:pack]);
118
+ [pack resume];
119
+ }];
120
+ }
121
+
122
+ RCT_EXPORT_METHOD(mergeOfflineRegions:(NSString *)path
123
+ resolver:(RCTPromiseResolveBlock)resolve
124
+ rejecter:(RCTPromiseRejectBlock)reject)
125
+ {
126
+ NSString *absolutePath;
127
+ if ([path isAbsolutePath]) {
128
+ absolutePath = path;
129
+ } else {
130
+ NSBundle *mainBundle = [NSBundle mainBundle];
131
+ NSString *fileName = [path stringByDeletingPathExtension];
132
+ NSString *extension = [path pathExtension];
133
+ absolutePath = [mainBundle pathForResource:fileName ofType:extension];
134
+ if (!absolutePath) {
135
+ return reject(@"asset_does_not_exist", [NSString stringWithFormat:@"The given assetName, %@, can't be found in the app's bundle.", path], nil);
136
+ }
137
+ }
138
+
139
+ [[MGLOfflineStorage sharedOfflineStorage] addContentsOfFile:absolutePath withCompletionHandler:^(NSURL *fileURL, NSArray<MGLOfflinePack *> *packs, NSError *error) {
140
+ if (error != nil) {
141
+ reject(@"mergeOfflineRegions", error.description, error);
142
+ return;
143
+ }
144
+ resolve(nil);
145
+ }];
146
+ }
147
+
148
+ RCT_EXPORT_METHOD(getPacks:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
149
+ {
150
+ dispatch_async(dispatch_get_main_queue(), ^{
151
+ NSArray<MGLOfflinePack *> *packs = [[MGLOfflineStorage sharedOfflineStorage] packs];
152
+
153
+ if (packs == nil) {
154
+ // packs have not loaded yet
155
+ [self->packRequestQueue addObject:resolve];
156
+ return;
157
+ }
158
+
159
+ resolve([self _convertPacksToJson:packs]);
160
+ });
161
+ }
162
+
163
+ RCT_EXPORT_METHOD(invalidateAmbientCache:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
164
+ {
165
+ [[MGLOfflineStorage sharedOfflineStorage] invalidateAmbientCacheWithCompletionHandler:^(NSError *error) {
166
+ if (error != nil) {
167
+ reject(@"invalidateAmbientCache", error.description, error);
168
+ return;
169
+ }
170
+ resolve(nil);
171
+ }];
172
+ }
173
+
174
+ RCT_EXPORT_METHOD(clearAmbientCache:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
175
+ {
176
+ [[MGLOfflineStorage sharedOfflineStorage] clearAmbientCacheWithCompletionHandler:^(NSError *error) {
177
+ if (error != nil) {
178
+ reject(@"clearAmbientCache", error.description, error);
179
+ return;
180
+ }
181
+ resolve(nil);
182
+ }];
183
+ }
184
+
185
+ RCT_EXPORT_METHOD(setMaximumAmbientCacheSize:(NSUInteger)cacheSize
186
+ resolver:(RCTPromiseResolveBlock)resolve
187
+ rejecter:(RCTPromiseRejectBlock)reject)
188
+ {
189
+ [[MGLOfflineStorage sharedOfflineStorage] setMaximumAmbientCacheSize:cacheSize withCompletionHandler:^(NSError *error) {
190
+ if (error != nil) {
191
+ reject(@"setMaximumAmbientCacheSize", error.description, error);
192
+ return;
193
+ }
194
+ resolve(nil);
195
+ }];
196
+
197
+ }
198
+
199
+ RCT_EXPORT_METHOD(resetDatabase:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
200
+ {
201
+ [[MGLOfflineStorage sharedOfflineStorage] resetDatabaseWithCompletionHandler:^(NSError *error) {
202
+ if (error != nil) {
203
+ reject(@"resetDatabase", error.description, error);
204
+ return;
205
+ }
206
+ resolve(nil);
207
+ }];
208
+
209
+ }
210
+
211
+ RCT_EXPORT_METHOD(getPackStatus:(NSString *)name
212
+ resolver:(RCTPromiseResolveBlock)resolve
213
+ rejecter:(RCTPromiseRejectBlock)reject)
214
+ {
215
+ MGLOfflinePack *pack = [self _getPackFromName:name];
216
+
217
+ if (pack == nil) {
218
+ resolve(nil);
219
+ NSLog(@"getPackStatus - Unknown offline region");
220
+ return;
221
+ }
222
+
223
+ if (pack.state == MGLOfflinePackStateUnknown) {
224
+ [pack addObserver:self forKeyPath:@"state" options:NSKeyValueObservingOptionNew context:(__bridge_retained void*)resolve];
225
+ [pack requestProgress];
226
+ } else {
227
+ resolve([self _makeRegionStatusPayload:name pack:pack]);
228
+ }
229
+ }
230
+
231
+ -(void)observerStateForPack:(MGLOfflinePack*)pack context:(nullable void*) context {
232
+ RCTPromiseResolveBlock resolve = (__bridge_transfer RCTPromiseResolveBlock)context;
233
+ dispatch_async(dispatch_get_main_queue(), ^{
234
+ NSDictionary* metadata = [self _unarchiveMetadata:pack];
235
+ NSString* name = metadata[@"name"];
236
+ resolve([self _makeRegionStatusPayload:name pack:pack]);
237
+ });
238
+ [pack removeObserver:self forKeyPath:@"state" context:context];
239
+ }
240
+
241
+ RCT_EXPORT_METHOD(invalidatePack:(NSString *)name
242
+ resolver:(RCTPromiseResolveBlock)resolve
243
+ rejecter:(RCTPromiseRejectBlock)reject)
244
+ {
245
+ MGLOfflinePack *pack = [self _getPackFromName:name];
246
+
247
+ if (pack == nil) {
248
+ resolve(nil);
249
+ return;
250
+ }
251
+ [[MGLOfflineStorage sharedOfflineStorage] invalidatePack:pack withCompletionHandler:^(NSError *error) {
252
+ if (error != nil) {
253
+ reject(@"invalidatePack", error.description, error);
254
+ return;
255
+ }
256
+ resolve(nil);
257
+ }];
258
+ }
259
+
260
+ RCT_EXPORT_METHOD(deletePack:(NSString *)name
261
+ resolver:(RCTPromiseResolveBlock)resolve
262
+ rejecter:(RCTPromiseRejectBlock)reject)
263
+ {
264
+ MGLOfflinePack *pack = [self _getPackFromName:name];
265
+
266
+ if (pack == nil) {
267
+ resolve(nil);
268
+ return;
269
+ }
270
+ if (pack.state == MGLOfflinePackStateInvalid) {
271
+ NSError *error = [NSError errorWithDomain:MGLErrorDomain code:1 userInfo:@{NSLocalizedDescriptionKey: NSLocalizedString(@"Pack has already been deleted", nil)}];
272
+ reject(@"deletePack", error.description, error);
273
+ return;
274
+ }
275
+ [[MGLOfflineStorage sharedOfflineStorage] removePack:pack withCompletionHandler:^(NSError *error) {
276
+ if (error != nil) {
277
+ reject(@"deletePack", error.description, error);
278
+ return;
279
+ }
280
+ resolve(nil);
281
+ }];
282
+ }
283
+
284
+ RCT_EXPORT_METHOD(pausePackDownload:(NSString *)name
285
+ resolver:(RCTPromiseResolveBlock)resolve
286
+ rejecter:(RCTPromiseRejectBlock)reject)
287
+ {
288
+ MGLOfflinePack *pack = [self _getPackFromName:name];
289
+
290
+ if (pack == nil) {
291
+ reject(@"pausePackDownload", @"Unknown offline region", nil);
292
+ return;
293
+ }
294
+
295
+ if (pack.state == MGLOfflinePackStateInactive || pack.state == MGLOfflinePackStateComplete) {
296
+ resolve(nil);
297
+ return;
298
+ }
299
+
300
+ [pack suspend];
301
+ resolve(nil);
302
+ }
303
+
304
+ RCT_EXPORT_METHOD(resumePackDownload:(NSString *)name
305
+ resolver:(RCTPromiseResolveBlock)resolve
306
+ rejecter:(RCTPromiseRejectBlock)reject)
307
+ {
308
+ MGLOfflinePack *pack = [self _getPackFromName:name];
309
+
310
+ if (pack == nil) {
311
+ reject(@"resumePack", @"Unknown offline region", nil);
312
+ return;
313
+ }
314
+
315
+ if (pack.state == MGLOfflinePackStateActive || pack.state == MGLOfflinePackStateComplete) {
316
+ resolve(nil);
317
+ return;
318
+ }
319
+
320
+ [pack resume];
321
+ resolve(nil);
322
+ }
323
+
324
+ RCT_EXPORT_METHOD(setTileCountLimit:(nonnull NSNumber *)limit)
325
+ {
326
+ [[MGLOfflineStorage sharedOfflineStorage] setMaximumAllowedMapboxTiles:[limit intValue]];
327
+ }
328
+
329
+ RCT_EXPORT_METHOD(setProgressEventThrottle:(nonnull NSNumber *)throttleValue)
330
+ {
331
+ eventThrottle = [throttleValue doubleValue];
332
+ }
333
+
334
+ - (void)offlinePackProgressDidChange:(NSNotification *)notification
335
+ {
336
+ MGLOfflinePack *pack = notification.object;
337
+
338
+ if (pack.state == MGLOfflinePackStateInvalid) {
339
+ return; // Avoid invalid offline pack exception
340
+ }
341
+
342
+ if ([self _shouldSendProgressEvent:[self _getCurrentTimestamp] pack:pack]) {
343
+ NSDictionary *metadata = [self _unarchiveMetadata:pack];
344
+ RCTMGLEvent *event = [self _makeProgressEvent:metadata[@"name"] pack:pack];
345
+ [self _sendEvent:RCT_MAPBOX_OFFLINE_CALLBACK_PROGRESS event:event];
346
+ lastPackTimestamp = [self _getCurrentTimestamp];
347
+ }
348
+
349
+ lastPackState = pack.state;
350
+ }
351
+
352
+ - (void)offlinePackDidReceiveError:(NSNotification *)notification
353
+ {
354
+ MGLOfflinePack *pack = notification.object;
355
+ if (pack.state == MGLOfflinePackStateInvalid) {
356
+ return; // Avoid invalid offline pack exception
357
+ }
358
+ NSDictionary *metadata = [self _unarchiveMetadata:pack];
359
+
360
+ NSString *name = metadata[@"name"];
361
+ if (name != nil) {
362
+ NSError *error = notification.userInfo[MGLOfflinePackUserInfoKeyError];
363
+ RCTMGLEvent *event = [self _makeErrorEvent:name
364
+ type:RCT_MAPBOX_OFFLINE_ERROR
365
+ message:error.description];
366
+ [self _sendEvent:RCT_MAPBOX_OFFLINE_CALLBACK_ERROR event:event];
367
+ }
368
+ }
369
+
370
+ - (void)offlinePackDidReceiveMaxAllowedMapboxTiles:(NSNotification *)notification
371
+ {
372
+ MGLOfflinePack *pack = notification.object;
373
+ NSDictionary *metadata = [self _unarchiveMetadata:pack];
374
+
375
+ NSString *name = metadata[@"name"];
376
+ if (name != nil) {
377
+ RCTMGLEvent *event = [self _makeErrorEvent:name
378
+ type:RCT_MAPBOX_OFFLINE_ERROR
379
+ message:@"Mapbox tile limit exceeded"];
380
+ [self _sendEvent:RCT_MAPBOX_OFFLINE_CALLBACK_ERROR event:event];
381
+ }
382
+ }
383
+
384
+ - (double)_getCurrentTimestamp
385
+ {
386
+ return CACurrentMediaTime() * 1000;
387
+ }
388
+
389
+ - (NSData *)_archiveMetadata:(NSString *)metadata
390
+ {
391
+ return [NSKeyedArchiver archivedDataWithRootObject:metadata];
392
+ }
393
+
394
+ - (NSDictionary *)_unarchiveMetadata:(MGLOfflinePack *)pack
395
+ {
396
+ id data = [NSKeyedUnarchiver unarchiveObjectWithData:pack.context];
397
+ // Version v5 store data as NSDictionary while v6 store data as JSON string.
398
+ // User might save offline pack in v5 and then try to read in v6.
399
+ // In v5 are metadata stored nested which need to be handled in JS.
400
+ // Example of how data are stored in v5
401
+ // {
402
+ // name: "New York",
403
+ // metadata: {
404
+ // customMeta: "...",
405
+ // }
406
+ // }
407
+ if ([data isKindOfClass:[NSDictionary class]]) {
408
+ return data;
409
+ }
410
+
411
+ if (data == nil) {
412
+ return @{};
413
+ }
414
+
415
+ return [NSJSONSerialization JSONObjectWithData:[data dataUsingEncoding:NSUTF8StringEncoding]
416
+ options:NSJSONReadingMutableContainers
417
+ error:nil];
418
+ }
419
+
420
+ - (NSDictionary *)_makeRegionStatusPayload:(NSString *)name pack:(MGLOfflinePack *)pack
421
+ {
422
+ uint64_t completedResources = pack.progress.countOfResourcesCompleted;
423
+ uint64_t expectedResources = pack.progress.countOfResourcesExpected;
424
+ float progressPercentage = (float)completedResources / expectedResources;
425
+
426
+ // prevent NaN errors when expectedResources is 0
427
+ if(expectedResources == 0) {
428
+ progressPercentage = 0;
429
+ }
430
+
431
+ return @{
432
+ @"state": @(pack.state),
433
+ @"name": name,
434
+ @"percentage": @(ceilf(progressPercentage * 100.0)),
435
+ @"completedResourceCount": @(pack.progress.countOfResourcesCompleted),
436
+ @"completedResourceSize": @(pack.progress.countOfBytesCompleted),
437
+ @"completedTileSize": @(pack.progress.countOfTileBytesCompleted),
438
+ @"completedTileCount": @(pack.progress.countOfTilesCompleted),
439
+ @"requiredResourceCount": @(pack.progress.maximumResourcesExpected)
440
+ };
441
+ }
442
+
443
+ - (RCTMGLEvent *)_makeProgressEvent:(NSString *)name pack:(MGLOfflinePack *)pack
444
+ {
445
+ return [RCTMGLEvent makeEvent:RCT_MAPBOX_OFFLINE_PROGRESS withPayload:[self _makeRegionStatusPayload:name pack:pack]];
446
+ }
447
+
448
+ - (RCTMGLEvent *)_makeErrorEvent:(NSString *)name type:(NSString *)type message:(NSString *)message
449
+ {
450
+ NSDictionary *payload = @{ @"name": name, @"message": message };
451
+ return [RCTMGLEvent makeEvent:type withPayload:payload];
452
+ }
453
+
454
+ - (NSArray<NSDictionary *> *)_convertPacksToJson:(NSArray<MGLOfflinePack *> *)packs
455
+ {
456
+ NSMutableArray<NSDictionary *> *jsonPacks = [NSMutableArray new];
457
+
458
+ if (packs == nil) {
459
+ return jsonPacks;
460
+ }
461
+
462
+ for (MGLOfflinePack *pack in packs) {
463
+ [jsonPacks addObject:[self _convertPackToDict:pack]];
464
+ }
465
+
466
+ return jsonPacks;
467
+ }
468
+
469
+ - (NSDictionary *)_convertPackToDict:(MGLOfflinePack *)pack
470
+ {
471
+ // format bounds
472
+ MGLTilePyramidOfflineRegion *region = (MGLTilePyramidOfflineRegion *)pack.region;
473
+ if (region == nil) {
474
+ return nil;
475
+ }
476
+
477
+ NSArray *jsonBounds = @[
478
+ @[@(region.bounds.ne.longitude), @(region.bounds.ne.latitude)],
479
+ @[@(region.bounds.sw.longitude), @(region.bounds.sw.latitude)]
480
+ ];
481
+
482
+ // format metadata
483
+ NSDictionary *metadata = [self _unarchiveMetadata:pack];
484
+ NSData *jsonMetadata = [NSJSONSerialization dataWithJSONObject:metadata
485
+ options:0
486
+ error:nil];
487
+ return @{
488
+ @"metadata": [[NSString alloc] initWithData:jsonMetadata encoding:NSUTF8StringEncoding],
489
+ @"bounds": jsonBounds
490
+ };
491
+ }
492
+
493
+ - (MGLOfflinePack *)_getPackFromName:(NSString *)name
494
+ {
495
+ NSArray<MGLOfflinePack *> *packs = [[MGLOfflineStorage sharedOfflineStorage] packs];
496
+
497
+ if (packs == nil) {
498
+ return nil;
499
+ }
500
+
501
+ for (MGLOfflinePack *pack in packs) {
502
+ NSDictionary *metadata = [self _unarchiveMetadata:pack];
503
+
504
+ if ([name isEqualToString:metadata[@"name"]]) {
505
+ return pack;
506
+ }
507
+ }
508
+
509
+ return nil;
510
+ }
511
+
512
+ - (void)_sendEvent:(NSString *)eventName event:(RCTMGLEvent *)event
513
+ {
514
+ if (!hasListeners) {
515
+ return;
516
+ }
517
+ [self sendEventWithName:eventName body:[event toJSON]];
518
+ }
519
+
520
+ - (BOOL)_shouldSendProgressEvent:(double)currentTimestamp pack:(MGLOfflinePack *)currentPack
521
+ {
522
+ if (lastPackState == -1) {
523
+ return YES;
524
+ }
525
+
526
+ if (lastPackState != currentPack.state) {
527
+ return YES;
528
+ }
529
+
530
+ if (currentTimestamp - lastPackTimestamp > eventThrottle) {
531
+ return YES;
532
+ }
533
+
534
+ return NO;
535
+ }
536
+
537
+ @end
@@ -0,0 +1,13 @@
1
+ //
2
+ // MGLSnapshotModule.h
3
+ // RCTMGL
4
+ //
5
+ // Created by Nick Italiano on 12/1/17.
6
+ // Copyright © 2017 Mapbox Inc. All rights reserved.
7
+ //
8
+
9
+ #import <React/RCTBridgeModule.h>
10
+
11
+ @interface MGLSnapshotModule : NSObject<RCTBridgeModule>
12
+
13
+ @end
@@ -0,0 +1,80 @@
1
+ //
2
+ // MGLSnapshotModule.m
3
+ // RCTMGL
4
+ //
5
+ // Created by Nick Italiano on 12/1/17.
6
+ // Copyright © 2017 Mapbox Inc. All rights reserved.
7
+ //
8
+
9
+ #import "MGLSnapshotModule.h"
10
+ #import "RCTMGLUtils.h"
11
+ #import "RNMBImageUtils.h"
12
+ @import Mapbox;
13
+
14
+ @implementation MGLSnapshotModule
15
+
16
+ RCT_EXPORT_MODULE()
17
+
18
+ + (BOOL)requiresMainQueueSetup
19
+ {
20
+ return YES;
21
+ }
22
+
23
+ RCT_EXPORT_METHOD(takeSnap:(NSDictionary *)jsOptions
24
+ resolver:(RCTPromiseResolveBlock)resolve
25
+ rejecter:(RCTPromiseRejectBlock)reject)
26
+ {
27
+ dispatch_async(dispatch_get_main_queue(), ^{
28
+ MGLMapSnapshotOptions *options = [self _getOptions:jsOptions];
29
+ __block MGLMapSnapshotter *snapshotter = [[MGLMapSnapshotter alloc] initWithOptions:options];
30
+
31
+ [snapshotter startWithCompletionHandler:^(MGLMapSnapshot * _Nullable snapshot, NSError * _Nullable err) {
32
+ if (err != nil) {
33
+ reject(@"takeSnap", @"Could not create snapshot", err);
34
+ snapshotter = nil;
35
+ return;
36
+ }
37
+
38
+ NSString *result = nil;
39
+ if ([jsOptions[@"writeToDisk"] boolValue]) {
40
+ result = [RNMBImageUtils createTempFile:snapshot.image];
41
+ } else {
42
+ result = [RNMBImageUtils createBase64:snapshot.image];
43
+ }
44
+
45
+ resolve(result);
46
+ snapshotter = nil;
47
+ }];
48
+ });
49
+ }
50
+
51
+ - (MGLMapSnapshotOptions *)_getOptions:(NSDictionary *)jsOptions
52
+ {
53
+ MGLMapCamera *camera = [[MGLMapCamera alloc] init];
54
+
55
+ camera.pitch = [jsOptions[@"pitch"] doubleValue];
56
+ camera.heading = [jsOptions[@"heading"] doubleValue];
57
+
58
+ if (jsOptions[@"centerCoordinate"] != nil) {
59
+ camera.centerCoordinate = [RCTMGLUtils fromFeature:jsOptions[@"centerCoordinate"]];
60
+ }
61
+
62
+ NSNumber *width = jsOptions[@"width"];
63
+ NSNumber *height = jsOptions[@"height"];
64
+ CGSize size = CGSizeMake([width doubleValue], [height doubleValue]);
65
+
66
+ MGLMapSnapshotOptions *options = [[MGLMapSnapshotOptions alloc] initWithStyleURL:[NSURL URLWithString:jsOptions[@"styleURL"]]
67
+ camera:camera
68
+ size:size];
69
+ if (jsOptions[@"zoomLevel"] != nil) {
70
+ options.zoomLevel = [jsOptions[@"zoomLevel"] doubleValue];
71
+ }
72
+
73
+ if (jsOptions[@"bounds"] != nil) {
74
+ options.coordinateBounds = [RCTMGLUtils fromFeatureCollection:jsOptions[@"bounds"]];
75
+ }
76
+
77
+ return options;
78
+ }
79
+
80
+ @end
@@ -0,0 +1,11 @@
1
+ #import <QuartzCore/QuartzCore.h>
2
+ #import "MGLUserLocationHeadingIndicator.h"
3
+ @import Mapbox;
4
+
5
+ @interface MGLUserLocationHeadingArrowLayer : CAShapeLayer <MGLUserLocationHeadingIndicator>
6
+
7
+ - (instancetype)initWithUserLocationAnnotationView:(MGLUserLocationAnnotationView *)userLocationView;
8
+ - (void)updateHeadingAccuracy:(CLLocationDirection)accuracy;
9
+ - (void)updateTintColor:(CGColorRef)color;
10
+
11
+ @end
@@ -0,0 +1,57 @@
1
+ #import "MGLUserLocationHeadingArrowLayer.h"
2
+ #import "MGLFaux3DUserLocationAnnotationView.h"
3
+
4
+ const CGFloat MGLUserLocationHeadingArrowSize = 6;
5
+
6
+ @implementation MGLUserLocationHeadingArrowLayer
7
+
8
+ - (instancetype)initWithUserLocationAnnotationView:(MGLUserLocationAnnotationView *)userLocationView
9
+ {
10
+ CGFloat size = userLocationView.bounds.size.width + MGLUserLocationHeadingArrowSize;
11
+
12
+ self = [super init];
13
+ self.bounds = CGRectMake(0, 0, size, size);
14
+ self.position = CGPointMake(CGRectGetMidX(userLocationView.bounds), CGRectGetMidY(userLocationView.bounds));
15
+ self.path = [self arrowPath];
16
+ self.fillColor = userLocationView.tintColor.CGColor;
17
+ self.shouldRasterize = YES;
18
+ self.rasterizationScale = UIScreen.mainScreen.scale;
19
+ self.drawsAsynchronously = YES;
20
+
21
+ self.strokeColor = UIColor.whiteColor.CGColor;
22
+ self.lineWidth = 1.0;
23
+ self.lineJoin = kCALineJoinRound;
24
+
25
+ return self;
26
+ }
27
+
28
+ - (void)updateHeadingAccuracy:(CLLocationDirection)accuracy
29
+ {
30
+ // unimplemented
31
+ }
32
+
33
+ - (void)updateTintColor:(CGColorRef)color
34
+ {
35
+ self.fillColor = color;
36
+ }
37
+
38
+ - (CGPathRef)arrowPath {
39
+ CGFloat center = roundf(CGRectGetMidX(self.bounds));
40
+ CGFloat size = MGLUserLocationHeadingArrowSize;
41
+
42
+ CGPoint top = CGPointMake(center, 0);
43
+ CGPoint left = CGPointMake(center - size, size);
44
+ CGPoint right = CGPointMake(center + size, size);
45
+ CGPoint middle = CGPointMake(center, size / M_PI);
46
+
47
+ UIBezierPath *bezierPath = [UIBezierPath bezierPath];
48
+ [bezierPath moveToPoint:top];
49
+ [bezierPath addLineToPoint:left];
50
+ [bezierPath addQuadCurveToPoint:right controlPoint:middle];
51
+ [bezierPath addLineToPoint:top];
52
+ [bezierPath closePath];
53
+
54
+ return bezierPath.CGPath;
55
+ }
56
+
57
+ @end