@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.
Files changed (381) hide show
  1. package/.eslintignore +3 -0
  2. package/.eslintrc.js +158 -0
  3. package/.gitattributes +1 -0
  4. package/.nvmrc +1 -0
  5. package/.prettierrc.js +7 -0
  6. package/.sonarcloud.properties +15 -0
  7. package/CHANGELOG.md +367 -0
  8. package/CODE_OF_CONDUCT.md +2 -0
  9. package/CONTRIBUTING.md +34 -0
  10. package/LICENSE.md +9 -0
  11. package/README.md +224 -0
  12. package/RELEASE.md +30 -0
  13. package/android/build.gradle +34 -0
  14. package/android/install.md +16 -0
  15. package/android/rctmgl/.settings/org.eclipse.buildship.core.prefs +2 -0
  16. package/android/rctmgl/build.gradle +61 -0
  17. package/android/rctmgl/proguard-rules.pro +25 -0
  18. package/android/rctmgl/src/main/AndroidManifest.xml +4 -0
  19. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/RCTMGLPackage.java +99 -0
  20. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/AbstractEvent.java +35 -0
  21. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/AbstractEventEmitter.java +80 -0
  22. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/AbstractMapFeature.java +19 -0
  23. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/annotation/MarkerView.java +23 -0
  24. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/annotation/MarkerViewManager.java +67 -0
  25. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/annotation/RCTMGLCallout.java +15 -0
  26. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/annotation/RCTMGLCalloutManager.java +22 -0
  27. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/annotation/RCTMGLMarkerView.java +112 -0
  28. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/annotation/RCTMGLMarkerViewManager.java +45 -0
  29. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/annotation/RCTMGLPointAnnotation.java +360 -0
  30. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/annotation/RCTMGLPointAnnotationManager.java +88 -0
  31. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/camera/CameraStop.java +249 -0
  32. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/camera/CameraUpdateItem.java +125 -0
  33. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/camera/CameraUpdateQueue.java +73 -0
  34. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/camera/RCTMGLCamera.java +530 -0
  35. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/camera/RCTMGLCameraManager.java +101 -0
  36. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/camera/constants/CameraMode.java +22 -0
  37. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/images/RCTMGLImages.java +234 -0
  38. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/images/RCTMGLImagesManager.java +103 -0
  39. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/location/LocationComponentManager.java +149 -0
  40. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/location/RCTMGLNativeUserLocation.java +66 -0
  41. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/location/RCTMGLNativeUserLocationManager.java +35 -0
  42. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/mapview/LayerSourceInfo.java +59 -0
  43. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/mapview/RCTMGLAndroidTextureMapView.java +16 -0
  44. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/mapview/RCTMGLAndroidTextureMapViewManager.java +31 -0
  45. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/mapview/RCTMGLMapView.java +1527 -0
  46. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/mapview/RCTMGLMapViewManager.java +353 -0
  47. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/mapview/helpers/CameraChangeTracker.java +41 -0
  48. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/RCTMGLStyle.java +83 -0
  49. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/RCTMGLStyleFactory.java +2242 -0
  50. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/RCTMGLStyleFunctionParser.java +108 -0
  51. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/RCTMGLStyleValue.java +212 -0
  52. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTLayer.java +287 -0
  53. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLBackgroundLayer.java +27 -0
  54. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLBackgroundLayerManager.java +64 -0
  55. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLCircleLayer.java +55 -0
  56. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLCircleLayerManager.java +77 -0
  57. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillExtrusionLayer.java +55 -0
  58. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillExtrusionLayerManager.java +80 -0
  59. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillLayer.java +55 -0
  60. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillLayerManager.java +80 -0
  61. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLHeatmapLayer.java +55 -0
  62. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLHeatmapLayerManager.java +77 -0
  63. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLLineLayer.java +55 -0
  64. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLLineLayerManager.java +79 -0
  65. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLRasterLayer.java +27 -0
  66. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLRasterLayerManager.java +64 -0
  67. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLSymbolLayer.java +55 -0
  68. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLSymbolLayerManager.java +75 -0
  69. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/light/RCTMGLLight.java +65 -0
  70. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/light/RCTMGLLightManager.java +29 -0
  71. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTMGLImageSource.java +81 -0
  72. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTMGLImageSourceManager.java +72 -0
  73. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTMGLRasterSource.java +45 -0
  74. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTMGLRasterSourceManager.java +44 -0
  75. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTMGLShapeSource.java +302 -0
  76. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTMGLShapeSourceManager.java +227 -0
  77. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTMGLTileSource.java +97 -0
  78. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTMGLTileSourceManager.java +80 -0
  79. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTMGLVectorSource.java +64 -0
  80. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTMGLVectorSourceManager.java +84 -0
  81. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTSource.java +244 -0
  82. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/AbstractEvent.java +66 -0
  83. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/AndroidCallbackEvent.java +38 -0
  84. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/EventEmitter.java +45 -0
  85. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/FeatureClickEvent.java +79 -0
  86. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/IEvent.java +18 -0
  87. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/ImageMissingEvent.java +42 -0
  88. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/LocationEvent.java +100 -0
  89. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/MapChangeEvent.java +47 -0
  90. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/MapClickEvent.java +51 -0
  91. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/MapUserTrackingModeEvent.java +36 -0
  92. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/OfflineEvent.java +29 -0
  93. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/PointAnnotationClickEvent.java +46 -0
  94. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/PointAnnotationDragEvent.java +51 -0
  95. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/constants/EventKeys.java +39 -0
  96. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/constants/EventTypes.java +51 -0
  97. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/http/CustomHeadersInterceptor.java +38 -0
  98. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/location/LocationManager.java +168 -0
  99. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/location/UserLocation.java +63 -0
  100. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/location/UserLocationVerticalAlignment.java +11 -0
  101. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/location/UserTrackingMode.java +63 -0
  102. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/location/UserTrackingState.java +19 -0
  103. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/modules/RCTMGLLocationModule.java +158 -0
  104. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/modules/RCTMGLLogging.java +140 -0
  105. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/modules/RCTMGLModule.java +348 -0
  106. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/modules/RCTMGLOfflineModule.java +597 -0
  107. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/modules/RCTMGLSnapshotModule.java +139 -0
  108. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/utils/BitmapUtils.java +129 -0
  109. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/utils/ConvertUtils.java +257 -0
  110. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/utils/DownloadMapImageTask.java +159 -0
  111. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/utils/ExpressionParser.java +74 -0
  112. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/utils/GeoJSONUtils.java +209 -0
  113. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/utils/GeoViewport.java +38 -0
  114. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/utils/ImageEntry.java +25 -0
  115. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/utils/ResourceUtils.java +30 -0
  116. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/utils/SimpleEventCallback.java +30 -0
  117. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/utils/SphericalMercator.java +69 -0
  118. package/android/rctmgl/src/main/res/drawable/empty.xml +5 -0
  119. package/android/rctmgl/src/main/res/drawable/empty_drawable.png +0 -0
  120. package/android/rctmgl/src/main/res/drawable-xxhdpi/red_marker.png +0 -0
  121. package/android/rctmgl/src/main/res/layout/annotation.xml +17 -0
  122. package/android/rctmgl/src/main/res/values/strings.xml +3 -0
  123. package/android/settings.gradle +1 -0
  124. package/app.plugin.js +1 -0
  125. package/assets/heading.png +0 -0
  126. package/assets/heading@2x.png +0 -0
  127. package/assets/heading@3x.png +0 -0
  128. package/assets/indoor_building_map_android.png +0 -0
  129. package/assets/indoor_building_map_ios.png +0 -0
  130. package/assets/mapbox_logo.png +0 -0
  131. package/babel.config.js +9 -0
  132. package/docs/Annotation.md +39 -0
  133. package/docs/Annotations.md +17 -0
  134. package/docs/BackgroundLayer.md +166 -0
  135. package/docs/Callout.md +15 -0
  136. package/docs/Camera.md +162 -0
  137. package/docs/CircleLayer.md +453 -0
  138. package/docs/CustomHttpHeaders.md +87 -0
  139. package/docs/FillExtrusionLayer.md +327 -0
  140. package/docs/FillLayer.md +293 -0
  141. package/docs/GettingStarted.md +72 -0
  142. package/docs/HeadingIndicator.md +10 -0
  143. package/docs/HeatmapLayer.md +215 -0
  144. package/docs/ImageSource.md +12 -0
  145. package/docs/Images.md +12 -0
  146. package/docs/Light.md +159 -0
  147. package/docs/LineLayer.md +567 -0
  148. package/docs/Logger.md +23 -0
  149. package/docs/MapView.md +211 -0
  150. package/docs/MapboxGL.md +65 -0
  151. package/docs/MarkerView.md +14 -0
  152. package/docs/NativeUserLocation.md +11 -0
  153. package/docs/OfflineManager.md +246 -0
  154. package/docs/PointAnnotation.md +34 -0
  155. package/docs/RasterLayer.md +357 -0
  156. package/docs/RasterSource.md +17 -0
  157. package/docs/ShapeSource.md +100 -0
  158. package/docs/Style.md +10 -0
  159. package/docs/StyleSheet.md +430 -0
  160. package/docs/SymbolLayer.md +1658 -0
  161. package/docs/UserLocation.md +39 -0
  162. package/docs/VectorSource.md +48 -0
  163. package/docs/docs.json +6093 -0
  164. package/docs/snapshotManager.md +53 -0
  165. package/index.d.ts +953 -0
  166. package/ios/RCTMGL/CameraMode.h +18 -0
  167. package/ios/RCTMGL/CameraMode.m +18 -0
  168. package/ios/RCTMGL/CameraStop.h +26 -0
  169. package/ios/RCTMGL/CameraStop.m +83 -0
  170. package/ios/RCTMGL/CameraUpdateItem.h +18 -0
  171. package/ios/RCTMGL/CameraUpdateItem.m +178 -0
  172. package/ios/RCTMGL/CameraUpdateQueue.h +21 -0
  173. package/ios/RCTMGL/CameraUpdateQueue.m +74 -0
  174. package/ios/RCTMGL/FilterParser.h +14 -0
  175. package/ios/RCTMGL/FilterParser.m +22 -0
  176. package/ios/RCTMGL/MGLCustomHeaders.h +20 -0
  177. package/ios/RCTMGL/MGLCustomHeaders.m +98 -0
  178. package/ios/RCTMGL/MGLFaux3DUserLocationAnnotationView.h +23 -0
  179. package/ios/RCTMGL/MGLFaux3DUserLocationAnnotationView.m +474 -0
  180. package/ios/RCTMGL/MGLModule.h +13 -0
  181. package/ios/RCTMGL/MGLModule.m +269 -0
  182. package/ios/RCTMGL/MGLOfflineModule.h +19 -0
  183. package/ios/RCTMGL/MGLOfflineModule.m +516 -0
  184. package/ios/RCTMGL/MGLSnapshotModule.h +13 -0
  185. package/ios/RCTMGL/MGLSnapshotModule.m +80 -0
  186. package/ios/RCTMGL/MGLUserLocationHeadingArrowLayer.h +11 -0
  187. package/ios/RCTMGL/MGLUserLocationHeadingArrowLayer.m +57 -0
  188. package/ios/RCTMGL/MGLUserLocationHeadingBeamLayer.h +11 -0
  189. package/ios/RCTMGL/MGLUserLocationHeadingBeamLayer.m +102 -0
  190. package/ios/RCTMGL/MGLUserLocationHeadingIndicator.h +10 -0
  191. package/ios/RCTMGL/RCTConvert+Mapbox.h +16 -0
  192. package/ios/RCTMGL/RCTConvert+Mapbox.m +32 -0
  193. package/ios/RCTMGL/RCTMGL.h +13 -0
  194. package/ios/RCTMGL/RCTMGL.m +13 -0
  195. package/ios/RCTMGL/RCTMGLBackgroundLayer.h +14 -0
  196. package/ios/RCTMGL/RCTMGLBackgroundLayer.m +27 -0
  197. package/ios/RCTMGL/RCTMGLBackgroundLayerManager.h +13 -0
  198. package/ios/RCTMGL/RCTMGLBackgroundLayerManager.m +35 -0
  199. package/ios/RCTMGL/RCTMGLCallout.h +15 -0
  200. package/ios/RCTMGL/RCTMGLCallout.m +74 -0
  201. package/ios/RCTMGL/RCTMGLCalloutManager.h +13 -0
  202. package/ios/RCTMGL/RCTMGLCalloutManager.m +21 -0
  203. package/ios/RCTMGL/RCTMGLCamera.h +39 -0
  204. package/ios/RCTMGL/RCTMGLCamera.m +258 -0
  205. package/ios/RCTMGL/RCTMGLCameraManager.h +13 -0
  206. package/ios/RCTMGL/RCTMGLCameraManager.m +52 -0
  207. package/ios/RCTMGL/RCTMGLCircleLayer.h +13 -0
  208. package/ios/RCTMGL/RCTMGLCircleLayer.m +34 -0
  209. package/ios/RCTMGL/RCTMGLCircleLayerManager.h +13 -0
  210. package/ios/RCTMGL/RCTMGLCircleLayerManager.m +39 -0
  211. package/ios/RCTMGL/RCTMGLEvent.h +21 -0
  212. package/ios/RCTMGL/RCTMGLEvent.m +47 -0
  213. package/ios/RCTMGL/RCTMGLEventProtocol.h +16 -0
  214. package/ios/RCTMGL/RCTMGLEventTypes.h +50 -0
  215. package/ios/RCTMGL/RCTMGLEventTypes.m +49 -0
  216. package/ios/RCTMGL/RCTMGLFillExtrusionLayer.h +14 -0
  217. package/ios/RCTMGL/RCTMGLFillExtrusionLayer.m +32 -0
  218. package/ios/RCTMGL/RCTMGLFillExtrusionLayerManager.h +13 -0
  219. package/ios/RCTMGL/RCTMGLFillExtrusionLayerManager.m +39 -0
  220. package/ios/RCTMGL/RCTMGLFillLayer.h +14 -0
  221. package/ios/RCTMGL/RCTMGLFillLayer.m +33 -0
  222. package/ios/RCTMGL/RCTMGLFillLayerManager.h +13 -0
  223. package/ios/RCTMGL/RCTMGLFillLayerManager.m +37 -0
  224. package/ios/RCTMGL/RCTMGLHeatmapLayer.h +12 -0
  225. package/ios/RCTMGL/RCTMGLHeatmapLayer.m +30 -0
  226. package/ios/RCTMGL/RCTMGLHeatmapLayerManager.h +12 -0
  227. package/ios/RCTMGL/RCTMGLHeatmapLayerManager.m +38 -0
  228. package/ios/RCTMGL/RCTMGLImageQueue.h +19 -0
  229. package/ios/RCTMGL/RCTMGLImageQueue.m +57 -0
  230. package/ios/RCTMGL/RCTMGLImageQueueOperation.h +17 -0
  231. package/ios/RCTMGL/RCTMGLImageQueueOperation.m +138 -0
  232. package/ios/RCTMGL/RCTMGLImageSource.h +16 -0
  233. package/ios/RCTMGL/RCTMGLImageSource.m +60 -0
  234. package/ios/RCTMGL/RCTMGLImageSourceManager.h +13 -0
  235. package/ios/RCTMGL/RCTMGLImageSourceManager.m +25 -0
  236. package/ios/RCTMGL/RCTMGLImages.h +25 -0
  237. package/ios/RCTMGL/RCTMGLImages.m +126 -0
  238. package/ios/RCTMGL/RCTMGLImagesManager.h +5 -0
  239. package/ios/RCTMGL/RCTMGLImagesManager.m +21 -0
  240. package/ios/RCTMGL/RCTMGLLayer.h +52 -0
  241. package/ios/RCTMGL/RCTMGLLayer.m +236 -0
  242. package/ios/RCTMGL/RCTMGLLight.h +17 -0
  243. package/ios/RCTMGL/RCTMGLLight.m +46 -0
  244. package/ios/RCTMGL/RCTMGLLightManager.h +13 -0
  245. package/ios/RCTMGL/RCTMGLLightManager.m +23 -0
  246. package/ios/RCTMGL/RCTMGLLineLayer.h +14 -0
  247. package/ios/RCTMGL/RCTMGLLineLayer.m +33 -0
  248. package/ios/RCTMGL/RCTMGLLineLayerManager.h +13 -0
  249. package/ios/RCTMGL/RCTMGLLineLayerManager.m +40 -0
  250. package/ios/RCTMGL/RCTMGLLocation.h +19 -0
  251. package/ios/RCTMGL/RCTMGLLocation.m +32 -0
  252. package/ios/RCTMGL/RCTMGLLocationManager.h +30 -0
  253. package/ios/RCTMGL/RCTMGLLocationManager.m +180 -0
  254. package/ios/RCTMGL/RCTMGLLocationManagerDelegate.h +20 -0
  255. package/ios/RCTMGL/RCTMGLLocationModule.h +15 -0
  256. package/ios/RCTMGL/RCTMGLLocationModule.m +99 -0
  257. package/ios/RCTMGL/RCTMGLLogging.h +18 -0
  258. package/ios/RCTMGL/RCTMGLLogging.m +132 -0
  259. package/ios/RCTMGL/RCTMGLMapTouchEvent.h +25 -0
  260. package/ios/RCTMGL/RCTMGLMapTouchEvent.m +77 -0
  261. package/ios/RCTMGL/RCTMGLMapView.h +91 -0
  262. package/ios/RCTMGL/RCTMGLMapView.m +536 -0
  263. package/ios/RCTMGL/RCTMGLMapViewManager.h +17 -0
  264. package/ios/RCTMGL/RCTMGLMapViewManager.m +625 -0
  265. package/ios/RCTMGL/RCTMGLNativeUserLocation.h +18 -0
  266. package/ios/RCTMGL/RCTMGLNativeUserLocation.m +49 -0
  267. package/ios/RCTMGL/RCTMGLNativeUserLocationManager.h +5 -0
  268. package/ios/RCTMGL/RCTMGLNativeUserLocationManager.m +25 -0
  269. package/ios/RCTMGL/RCTMGLPointAnnotation.h +41 -0
  270. package/ios/RCTMGL/RCTMGLPointAnnotation.m +251 -0
  271. package/ios/RCTMGL/RCTMGLPointAnnotationManager.h +13 -0
  272. package/ios/RCTMGL/RCTMGLPointAnnotationManager.m +36 -0
  273. package/ios/RCTMGL/RCTMGLRasterLayer.h +14 -0
  274. package/ios/RCTMGL/RCTMGLRasterLayer.m +30 -0
  275. package/ios/RCTMGL/RCTMGLRasterLayerManager.h +13 -0
  276. package/ios/RCTMGL/RCTMGLRasterLayerManager.m +35 -0
  277. package/ios/RCTMGL/RCTMGLRasterSource.h +16 -0
  278. package/ios/RCTMGL/RCTMGLRasterSource.m +35 -0
  279. package/ios/RCTMGL/RCTMGLRasterSourceManager.h +13 -0
  280. package/ios/RCTMGL/RCTMGLRasterSourceManager.m +32 -0
  281. package/ios/RCTMGL/RCTMGLShapeSource.h +52 -0
  282. package/ios/RCTMGL/RCTMGLShapeSource.m +180 -0
  283. package/ios/RCTMGL/RCTMGLShapeSourceManager.h +14 -0
  284. package/ios/RCTMGL/RCTMGLShapeSourceManager.m +205 -0
  285. package/ios/RCTMGL/RCTMGLSource.h +35 -0
  286. package/ios/RCTMGL/RCTMGLSource.m +143 -0
  287. package/ios/RCTMGL/RCTMGLStyle.h +219 -0
  288. package/ios/RCTMGL/RCTMGLStyle.m +1654 -0
  289. package/ios/RCTMGL/RCTMGLStyleValue.h +27 -0
  290. package/ios/RCTMGL/RCTMGLStyleValue.m +167 -0
  291. package/ios/RCTMGL/RCTMGLSymbolLayer.h +19 -0
  292. package/ios/RCTMGL/RCTMGLSymbolLayer.m +121 -0
  293. package/ios/RCTMGL/RCTMGLSymbolLayerManager.h +13 -0
  294. package/ios/RCTMGL/RCTMGLSymbolLayerManager.m +40 -0
  295. package/ios/RCTMGL/RCTMGLTileSource.h +22 -0
  296. package/ios/RCTMGL/RCTMGLTileSource.m +31 -0
  297. package/ios/RCTMGL/RCTMGLUserLocation.h +15 -0
  298. package/ios/RCTMGL/RCTMGLUserLocation.m +38 -0
  299. package/ios/RCTMGL/RCTMGLUtils.h +31 -0
  300. package/ios/RCTMGL/RCTMGLUtils.m +218 -0
  301. package/ios/RCTMGL/RCTMGLVectorLayer.h +15 -0
  302. package/ios/RCTMGL/RCTMGLVectorLayer.m +59 -0
  303. package/ios/RCTMGL/RCTMGLVectorSource.h +16 -0
  304. package/ios/RCTMGL/RCTMGLVectorSource.m +28 -0
  305. package/ios/RCTMGL/RCTMGLVectorSourceManager.h +14 -0
  306. package/ios/RCTMGL/RCTMGLVectorSourceManager.m +79 -0
  307. package/ios/RCTMGL/RNMBImageUtils.h +17 -0
  308. package/ios/RCTMGL/RNMBImageUtils.m +31 -0
  309. package/ios/RCTMGL/ViewManager.h +16 -0
  310. package/ios/RCTMGL/ViewManager.m +63 -0
  311. package/ios/RCTMGL/index.d.ts +1164 -0
  312. package/ios/RCTMGL.xcodeproj/project.pbxproj +774 -0
  313. package/ios/install.md +44 -0
  314. package/javascript/components/AbstractLayer.js +75 -0
  315. package/javascript/components/AbstractSource.js +15 -0
  316. package/javascript/components/BackgroundLayer.js +97 -0
  317. package/javascript/components/Callout.js +139 -0
  318. package/javascript/components/Camera.js +665 -0
  319. package/javascript/components/CircleLayer.js +101 -0
  320. package/javascript/components/FillExtrusionLayer.js +98 -0
  321. package/javascript/components/FillLayer.js +94 -0
  322. package/javascript/components/HeadingIndicator.js +31 -0
  323. package/javascript/components/HeatmapLayer.js +99 -0
  324. package/javascript/components/ImageSource.js +82 -0
  325. package/javascript/components/Images.js +119 -0
  326. package/javascript/components/Light.js +47 -0
  327. package/javascript/components/LineLayer.js +94 -0
  328. package/javascript/components/MapView.js +817 -0
  329. package/javascript/components/MarkerView.js +87 -0
  330. package/javascript/components/NativeBridgeComponent.js +86 -0
  331. package/javascript/components/NativeUserLocation.js +41 -0
  332. package/javascript/components/PointAnnotation.js +216 -0
  333. package/javascript/components/RasterLayer.js +95 -0
  334. package/javascript/components/RasterSource.js +124 -0
  335. package/javascript/components/ShapeSource.js +357 -0
  336. package/javascript/components/Style.js +264 -0
  337. package/javascript/components/SymbolLayer.js +120 -0
  338. package/javascript/components/UserLocation.js +273 -0
  339. package/javascript/components/VectorSource.js +200 -0
  340. package/javascript/components/annotations/Annotation.js +122 -0
  341. package/javascript/index.js +153 -0
  342. package/javascript/modules/location/locationManager.js +101 -0
  343. package/javascript/modules/offline/OfflineCreatePackOptions.js +46 -0
  344. package/javascript/modules/offline/OfflinePack.js +40 -0
  345. package/javascript/modules/offline/offlineManager.js +378 -0
  346. package/javascript/modules/snapshot/SnapshotOptions.js +67 -0
  347. package/javascript/modules/snapshot/snapshotManager.js +62 -0
  348. package/javascript/utils/BridgeValue.js +81 -0
  349. package/javascript/utils/Logger.js +114 -0
  350. package/javascript/utils/animated/Animated.js +39 -0
  351. package/javascript/utils/animated/AnimatedCoordinatesArray.js +191 -0
  352. package/javascript/utils/animated/AnimatedExtractCoordinateFromArray.js +43 -0
  353. package/javascript/utils/animated/AnimatedPoint.js +126 -0
  354. package/javascript/utils/animated/AnimatedRouteCoordinatesArray.js +124 -0
  355. package/javascript/utils/animated/AnimatedShape.js +72 -0
  356. package/javascript/utils/deprecation.js +25 -0
  357. package/javascript/utils/filterUtils.js +7 -0
  358. package/javascript/utils/geoUtils.js +73 -0
  359. package/javascript/utils/index.js +113 -0
  360. package/javascript/utils/styleMap.js +1901 -0
  361. package/maplibre-react-native.podspec +79 -0
  362. package/package.json +120 -0
  363. package/plugin/build/withMapbox.d.ts +12 -0
  364. package/plugin/build/withMapbox.js +119 -0
  365. package/plugin/install.md +32 -0
  366. package/react-native.config.js +10 -0
  367. package/scripts/autogenHelpers/DocJSONBuilder.js +458 -0
  368. package/scripts/autogenHelpers/JSDocNodeTree.js +131 -0
  369. package/scripts/autogenHelpers/MarkdownBuilder.js +29 -0
  370. package/scripts/autogenHelpers/globals.js +507 -0
  371. package/scripts/autogenerate.js +374 -0
  372. package/scripts/download-style-spec.sh +15 -0
  373. package/scripts/templates/RCTMGLStyle.h.ejs +33 -0
  374. package/scripts/templates/RCTMGLStyle.m.ejs +97 -0
  375. package/scripts/templates/RCTMGLStyleFactory.java.ejs +107 -0
  376. package/scripts/templates/component.md.ejs +122 -0
  377. package/scripts/templates/index.d.ts.ejs +56 -0
  378. package/scripts/templates/styleMap.js.ejs +115 -0
  379. package/setup-jest.js +121 -0
  380. package/style-spec/v8.json +5798 -0
  381. package/tsconfig.json +65 -0
@@ -0,0 +1,348 @@
1
+ package com.mapbox.rctmgl.modules;
2
+
3
+ import android.os.Handler;
4
+ import android.util.Log;
5
+
6
+ import com.facebook.react.bridge.Promise;
7
+ import com.facebook.react.bridge.ReactApplicationContext;
8
+ import com.facebook.react.bridge.ReactContextBaseJavaModule;
9
+ import com.facebook.react.bridge.ReactMethod;
10
+ import com.facebook.react.common.MapBuilder;
11
+ import com.facebook.react.module.annotations.ReactModule;
12
+ import com.mapbox.mapboxsdk.Mapbox;
13
+ import com.mapbox.mapboxsdk.WellKnownTileServer;
14
+ import com.mapbox.mapboxsdk.style.layers.Property;
15
+ import com.mapbox.rctmgl.components.camera.constants.CameraMode;
16
+ import com.mapbox.rctmgl.components.styles.RCTMGLStyleValue;
17
+ import com.mapbox.rctmgl.components.styles.sources.RCTSource;
18
+ import com.mapbox.rctmgl.events.constants.EventTypes;
19
+ import com.mapbox.rctmgl.http.CustomHeadersInterceptor;
20
+ import com.mapbox.rctmgl.location.UserLocationVerticalAlignment;
21
+ import com.mapbox.rctmgl.location.UserTrackingMode;
22
+
23
+ import okhttp3.Dispatcher;
24
+ import okhttp3.OkHttpClient;
25
+
26
+ import com.mapbox.mapboxsdk.module.http.HttpRequestUtil;
27
+
28
+ import java.util.HashMap;
29
+ import java.util.Map;
30
+
31
+ import javax.annotation.Nullable;
32
+
33
+ /**
34
+ * Created by nickitaliano on 8/18/17.
35
+ */
36
+
37
+ @ReactModule(name = RCTMGLModule.REACT_CLASS)
38
+ public class RCTMGLModule extends ReactContextBaseJavaModule {
39
+ public static final String REACT_CLASS = "RCTMGLModule";
40
+
41
+ private static boolean customHeaderInterceptorAdded = false;
42
+
43
+ private Handler mUiThreadHandler;
44
+ private ReactApplicationContext mReactContext;
45
+
46
+ public RCTMGLModule(ReactApplicationContext reactApplicationContext) {
47
+ super(reactApplicationContext);
48
+ mReactContext = reactApplicationContext;
49
+ }
50
+
51
+ @Override
52
+ public String getName() {
53
+ return REACT_CLASS;
54
+ }
55
+
56
+ @Override
57
+ @Nullable
58
+ public Map<String, Object> getConstants() {
59
+ // map style urls
60
+ Map<String, String> styleURLS = new HashMap<>();
61
+ styleURLS.put("Default", "https://demotiles.maplibre.org/style.json");
62
+
63
+ // events
64
+ Map<String, String> eventTypes = new HashMap<>();
65
+ eventTypes.put("MapClick", EventTypes.MAP_CLICK);
66
+ eventTypes.put("MapLongClick", EventTypes.MAP_LONG_CLICK);
67
+ eventTypes.put("RegionWillChange", EventTypes.REGION_WILL_CHANGE);
68
+ eventTypes.put("RegionIsChanging", EventTypes.REGION_IS_CHANGING);
69
+ eventTypes.put("RegionDidChange", EventTypes.REGION_DID_CHANGE);
70
+ eventTypes.put("UserLocationUpdated", EventTypes.USER_LOCATION_UPDATED);
71
+ eventTypes.put("WillStartLoadingMap", EventTypes.WILL_START_LOADING_MAP);
72
+ eventTypes.put("DidFinishLoadingMap", EventTypes.DID_FINISH_LOADING_MAP);
73
+ eventTypes.put("DidFailLoadingMap", EventTypes.DID_FAIL_LOADING_MAP);
74
+ eventTypes.put("WillStartRenderingFrame", EventTypes.WILL_START_RENDERING_FRAME);
75
+ eventTypes.put("DidFinishRenderingFrame", EventTypes.DID_FINISH_RENDERING_FRAME);
76
+ eventTypes.put("DidFinishRenderingFrameFully", EventTypes.DID_FINISH_RENDERING_FRAME_FULLY);
77
+ eventTypes.put("WillStartRenderingMap", EventTypes.WILL_START_RENDERING_MAP);
78
+ eventTypes.put("DidFinishRenderingMap", EventTypes.DID_FINISH_RENDERING_MAP);
79
+ eventTypes.put("DidFinishRenderingMapFully", EventTypes.DID_FINISH_RENDERING_MAP_FULLY);
80
+ eventTypes.put("DidFinishLoadingStyle", EventTypes.DID_FINISH_LOADING_STYLE);
81
+
82
+ // user tracking modes
83
+ Map<String, Integer> userTrackingModes = new HashMap<>();
84
+ userTrackingModes.put("None", UserTrackingMode.NONE);
85
+ userTrackingModes.put("Follow", UserTrackingMode.FOLLOW);
86
+ userTrackingModes.put("FollowWithCourse", UserTrackingMode.FollowWithCourse);
87
+ userTrackingModes.put("FollowWithHeading", UserTrackingMode.FollowWithHeading);
88
+
89
+ // user location vertical alignment
90
+ Map<String, Integer> userLocationVerticalAlignment = new HashMap<>();
91
+ userLocationVerticalAlignment.put("Center", UserLocationVerticalAlignment.CENTER);
92
+ userLocationVerticalAlignment.put("Top", UserLocationVerticalAlignment.TOP);
93
+ userLocationVerticalAlignment.put("Bottom", UserLocationVerticalAlignment.BOTTOM);
94
+
95
+ // camera modes
96
+ Map<String, Integer> cameraModes = new HashMap<>();
97
+ cameraModes.put("Flight", CameraMode.FLIGHT);
98
+ cameraModes.put("Ease", CameraMode.EASE);
99
+ cameraModes.put("Linear", CameraMode.LINEAR);
100
+ cameraModes.put("None", CameraMode.NONE);
101
+
102
+ // style source constants
103
+ Map<String, String> styleSourceConsts = new HashMap<>();
104
+ styleSourceConsts.put("DefaultSourceID", RCTSource.DEFAULT_ID);
105
+
106
+ // interpolation modes
107
+ Map<String, Integer> interpolationModes = new HashMap<>();
108
+ interpolationModes.put("Exponential", RCTMGLStyleValue.InterpolationModeExponential);
109
+ interpolationModes.put("Categorical", RCTMGLStyleValue.InterpolationModeCategorical);
110
+ interpolationModes.put("Interval", RCTMGLStyleValue.InterpolationModeInterval);
111
+ interpolationModes.put("Identity", RCTMGLStyleValue.InterpolationModeIdentity);
112
+
113
+ // line layer constants
114
+ Map<String, String> lineJoin = new HashMap<>();
115
+ lineJoin.put("Bevel", Property.LINE_JOIN_BEVEL);
116
+ lineJoin.put("Round", Property.LINE_JOIN_ROUND);
117
+ lineJoin.put("Miter", Property.LINE_JOIN_MITER);
118
+
119
+ Map<String, String> lineCap = new HashMap<>();
120
+ lineCap.put("Butt", Property.LINE_CAP_BUTT);
121
+ lineCap.put("Round", Property.LINE_CAP_ROUND);
122
+ lineCap.put("Square", Property.LINE_CAP_SQUARE);
123
+
124
+ Map<String, String> lineTranslateAnchor = new HashMap<>();
125
+ lineTranslateAnchor.put("Map", Property.LINE_TRANSLATE_ANCHOR_MAP);
126
+ lineTranslateAnchor.put("Viewport", Property.LINE_TRANSLATE_ANCHOR_VIEWPORT);
127
+
128
+ // circle layer constants
129
+ Map<String, String> circlePitchScale = new HashMap<>();
130
+ circlePitchScale.put("Map", Property.CIRCLE_PITCH_SCALE_MAP);
131
+ circlePitchScale.put("Viewport", Property.CIRCLE_PITCH_SCALE_VIEWPORT);
132
+
133
+ Map<String, String> circleTranslateAnchor = new HashMap<>();
134
+ circleTranslateAnchor.put("Map", Property.CIRCLE_TRANSLATE_ANCHOR_MAP);
135
+ circleTranslateAnchor.put("Viewport", Property.CIRCLE_TRANSLATE_ANCHOR_VIEWPORT);
136
+
137
+ Map<String, String> circlePitchAlignment = new HashMap<>();
138
+ circlePitchAlignment.put("Map", Property.CIRCLE_PITCH_ALIGNMENT_MAP);
139
+ circlePitchAlignment.put("Viewport", Property.CIRCLE_PITCH_ALIGNMENT_VIEWPORT);
140
+
141
+ // fill extrusion layer constants
142
+ Map<String, String> fillExtrusionTranslateAnchor = new HashMap<>();
143
+ fillExtrusionTranslateAnchor.put("Map", Property.FILL_EXTRUSION_TRANSLATE_ANCHOR_MAP);
144
+ fillExtrusionTranslateAnchor.put("Viewport", Property.FILL_EXTRUSION_TRANSLATE_ANCHOR_VIEWPORT);
145
+
146
+ // fill layer constants
147
+ Map<String, String> fillTranslateAnchor = new HashMap<>();
148
+ fillTranslateAnchor.put("Map", Property.FILL_TRANSLATE_ANCHOR_MAP);
149
+ fillTranslateAnchor.put("Viewport", Property.FILL_TRANSLATE_ANCHOR_VIEWPORT);
150
+
151
+ // symbol layer constants
152
+ Map<String, String> iconRotationAlignment = new HashMap<>();
153
+ iconRotationAlignment.put("Auto", Property.ICON_ROTATION_ALIGNMENT_AUTO);
154
+ iconRotationAlignment.put("Map", Property.ICON_ROTATION_ALIGNMENT_MAP);
155
+ iconRotationAlignment.put("Viewport", Property.ICON_ROTATION_ALIGNMENT_VIEWPORT);
156
+
157
+ Map<String, String> iconTextFit = new HashMap<>();
158
+ iconTextFit.put("None", Property.ICON_TEXT_FIT_NONE);
159
+ iconTextFit.put("Width", Property.ICON_TEXT_FIT_WIDTH);
160
+ iconTextFit.put("Height", Property.ICON_TEXT_FIT_HEIGHT);
161
+ iconTextFit.put("Both", Property.ICON_TEXT_FIT_BOTH);
162
+
163
+ Map<String, String> iconAnchor = new HashMap<>();
164
+ iconAnchor.put("Center", Property.ICON_ANCHOR_CENTER);
165
+ iconAnchor.put("Left", Property.ICON_ANCHOR_LEFT);
166
+ iconAnchor.put("Right", Property.ICON_ANCHOR_RIGHT);
167
+ iconAnchor.put("Top", Property.ICON_ANCHOR_TOP);
168
+ iconAnchor.put("Bottom", Property.ICON_ANCHOR_BOTTOM);
169
+ iconAnchor.put("TopLeft", Property.ICON_ANCHOR_TOP_LEFT);
170
+ iconAnchor.put("TopRight", Property.ICON_ANCHOR_TOP_RIGHT);
171
+ iconAnchor.put("BottomLeft", Property.ICON_ANCHOR_BOTTOM_LEFT);
172
+ iconAnchor.put("BottomRight", Property.ICON_ANCHOR_BOTTOM_RIGHT);
173
+
174
+ Map<String, String> iconPitchAlignment = new HashMap<>();
175
+ iconPitchAlignment.put("Auto", Property.ICON_PITCH_ALIGNMENT_AUTO);
176
+ iconPitchAlignment.put("Map", Property.ICON_PITCH_ALIGNMENT_MAP);
177
+ iconPitchAlignment.put("Viewport", Property.ICON_PITCH_ALIGNMENT_VIEWPORT);
178
+
179
+ Map<String, String> iconTranslateAnchor = new HashMap<>();
180
+ iconTranslateAnchor.put("Map", Property.ICON_TRANSLATE_ANCHOR_MAP);
181
+ iconTranslateAnchor.put("Viewport", Property.ICON_TRANSLATE_ANCHOR_VIEWPORT);
182
+
183
+ Map<String, String> symbolPlacement = new HashMap<>();
184
+ symbolPlacement.put("Line", Property.SYMBOL_PLACEMENT_LINE);
185
+ symbolPlacement.put("Point", Property.SYMBOL_PLACEMENT_POINT);
186
+
187
+ Map<String, String> textAnchor = new HashMap<>();
188
+ textAnchor.put("Center", Property.TEXT_ANCHOR_CENTER);
189
+ textAnchor.put("Left", Property.TEXT_ANCHOR_LEFT);
190
+ textAnchor.put("Right", Property.TEXT_ANCHOR_RIGHT);
191
+ textAnchor.put("Top", Property.TEXT_ANCHOR_TOP);
192
+ textAnchor.put("Bottom", Property.TEXT_ANCHOR_BOTTOM);
193
+ textAnchor.put("TopLeft", Property.TEXT_ANCHOR_TOP_LEFT);
194
+ textAnchor.put("TopRight", Property.TEXT_ANCHOR_TOP_RIGHT);
195
+ textAnchor.put("BottomLeft", Property.TEXT_ANCHOR_BOTTOM_LEFT);
196
+ textAnchor.put("BottomRight", Property.TEXT_ANCHOR_BOTTOM_RIGHT);
197
+
198
+ Map<String, String> textJustify = new HashMap<>();
199
+ textJustify.put("Center", Property.TEXT_JUSTIFY_CENTER);
200
+ textJustify.put("Left", Property.TEXT_JUSTIFY_LEFT);
201
+ textJustify.put("Right", Property.TEXT_JUSTIFY_RIGHT);
202
+
203
+ Map<String, String> textPitchAlignment = new HashMap<>();
204
+ textPitchAlignment.put("Auto", Property.TEXT_PITCH_ALIGNMENT_AUTO);
205
+ textPitchAlignment.put("Map", Property.TEXT_PITCH_ALIGNMENT_MAP);
206
+ textPitchAlignment.put("Viewport", Property.TEXT_PITCH_ALIGNMENT_VIEWPORT);
207
+
208
+ Map<String, String> textRotationAlignment = new HashMap<>();
209
+ textRotationAlignment.put("Auto", Property.TEXT_ROTATION_ALIGNMENT_AUTO);
210
+ textRotationAlignment.put("Map", Property.TEXT_ROTATION_ALIGNMENT_MAP);
211
+ textRotationAlignment.put("Viewport", Property.TEXT_ROTATION_ALIGNMENT_VIEWPORT);
212
+
213
+ Map<String, String> textTransform = new HashMap<>();
214
+ textTransform.put("None", Property.TEXT_TRANSFORM_NONE);
215
+ textTransform.put("Lowercase", Property.TEXT_TRANSFORM_LOWERCASE);
216
+ textTransform.put("Uppercase", Property.TEXT_TRANSFORM_UPPERCASE);
217
+
218
+ Map<String, String> textTranslateAnchor = new HashMap<>();
219
+ textTranslateAnchor.put("Map", Property.TEXT_TRANSLATE_ANCHOR_MAP);
220
+ textTranslateAnchor.put("Viewport", Property.TEXT_TRANSLATE_ANCHOR_VIEWPORT);
221
+
222
+ // light constants
223
+ Map<String, String> lightAnchor = new HashMap<>();
224
+ lightAnchor.put("Map", Property.ANCHOR_MAP);
225
+ lightAnchor.put("Viewport", Property.ANCHOR_VIEWPORT);
226
+
227
+ // offline region download states
228
+ Map<String, Integer> offlinePackDownloadStates = new HashMap<>();
229
+ offlinePackDownloadStates.put("Inactive", RCTMGLOfflineModule.INACTIVE_REGION_DOWNLOAD_STATE);
230
+ offlinePackDownloadStates.put("Active", RCTMGLOfflineModule.ACTIVE_REGION_DOWNLOAD_STATE);
231
+ offlinePackDownloadStates.put("Complete", RCTMGLOfflineModule.COMPLETE_REGION_DOWNLOAD_STATE);
232
+
233
+ // offline module callback names
234
+ Map<String, String> offlineModuleCallbackNames = new HashMap<>();
235
+ offlineModuleCallbackNames.put("Error", RCTMGLOfflineModule.OFFLINE_ERROR);
236
+ offlineModuleCallbackNames.put("Progress", RCTMGLOfflineModule.OFFLINE_PROGRESS);
237
+
238
+ // location module callback names
239
+ Map<String, String> locationModuleCallbackNames = new HashMap<>();
240
+ locationModuleCallbackNames.put("Update", RCTMGLLocationModule.LOCATION_UPDATE);
241
+
242
+ return MapBuilder.<String, Object>builder()
243
+ .put("StyleURL", styleURLS)
244
+ .put("EventTypes", eventTypes)
245
+ .put("UserTrackingModes", userTrackingModes)
246
+ .put("UserLocationVerticalAlignment", userLocationVerticalAlignment)
247
+ .put("CameraModes", cameraModes)
248
+ .put("StyleSource", styleSourceConsts)
249
+ .put("InterpolationMode", interpolationModes)
250
+ .put("LineJoin", lineJoin)
251
+ .put("LineCap", lineCap)
252
+ .put("LineTranslateAnchor", lineTranslateAnchor)
253
+ .put("CirclePitchScale", circlePitchScale)
254
+ .put("CircleTranslateAnchor", circleTranslateAnchor)
255
+ .put("CirclePitchAlignment", circlePitchAlignment)
256
+ .put("FillExtrusionTranslateAnchor", fillExtrusionTranslateAnchor)
257
+ .put("FillTranslateAnchor", fillTranslateAnchor)
258
+ .put("IconRotationAlignment", iconRotationAlignment)
259
+ .put("IconTextFit", iconTextFit)
260
+ .put("IconTranslateAnchor", iconTranslateAnchor)
261
+ .put("SymbolPlacement", symbolPlacement)
262
+ .put("IconAnchor", iconAnchor)
263
+ .put("TextAnchor", textAnchor)
264
+ .put("TextJustify", textJustify)
265
+ .put("IconPitchAlignment", iconPitchAlignment)
266
+ .put("TextPitchAlignment", textPitchAlignment)
267
+ .put("TextRotationAlignment", textRotationAlignment)
268
+ .put("TextTransform", textTransform)
269
+ .put("TextTranslateAnchor", textTranslateAnchor)
270
+ .put("LightAnchor", lightAnchor)
271
+ .put("OfflinePackDownloadState", offlinePackDownloadStates)
272
+ .put("OfflineCallbackName", offlineModuleCallbackNames)
273
+ .put("LocationCallbackName", locationModuleCallbackNames)
274
+ .build();
275
+ }
276
+
277
+ // TODO: How to handle this? API has changed significantly
278
+ @ReactMethod
279
+ public void setAccessToken(final String accessToken) {
280
+ mReactContext.runOnUiQueueThread(new Runnable() {
281
+ @Override
282
+ public void run() {
283
+ if (accessToken == null) {
284
+ Mapbox.getInstance(getReactApplicationContext());
285
+ } else {
286
+ Mapbox.getInstance(getReactApplicationContext(), accessToken, WellKnownTileServer.Mapbox);
287
+ }
288
+ }
289
+ });
290
+ }
291
+
292
+ @ReactMethod
293
+ public void removeCustomHeader(final String headerName) {
294
+ mReactContext.runOnUiQueueThread(new Runnable() {
295
+ @Override
296
+ public void run() {
297
+ CustomHeadersInterceptor.INSTANCE.removeHeader(headerName);
298
+ }
299
+ });
300
+ }
301
+
302
+ @ReactMethod
303
+ public void addCustomHeader(final String headerName, final String headerValue) {
304
+ mReactContext.runOnUiQueueThread(new Runnable() {
305
+ @Override
306
+ public void run() {
307
+ if (!customHeaderInterceptorAdded) {
308
+ Log.i("header", "Add interceptor");
309
+ OkHttpClient httpClient = new OkHttpClient.Builder()
310
+ .addInterceptor(CustomHeadersInterceptor.INSTANCE).dispatcher(getDispatcher()).build();
311
+ HttpRequestUtil.setOkHttpClient(httpClient);
312
+ customHeaderInterceptorAdded = true;
313
+ }
314
+
315
+ CustomHeadersInterceptor.INSTANCE.addHeader(headerName, headerValue);
316
+ }
317
+ });
318
+ }
319
+
320
+ // TODO: How to handle this? Underlying API has changed significantly on Android
321
+ @ReactMethod
322
+ public void getAccessToken(Promise promise) {
323
+ String token = Mapbox.getApiKey();
324
+ if(token == null) {
325
+ promise.reject("missing_access_token", "No access token has been set");
326
+ } else {
327
+ promise.resolve(token);
328
+ }
329
+ }
330
+
331
+ @ReactMethod
332
+ public void setConnected(final boolean connected) {
333
+ mReactContext.runOnUiQueueThread(new Runnable() {
334
+ @Override
335
+ public void run() {
336
+ Mapbox.setConnected(connected);
337
+ }
338
+ });
339
+ }
340
+
341
+ private Dispatcher getDispatcher() {
342
+ Dispatcher dispatcher = new Dispatcher();
343
+ // Matches core limit set on
344
+ // https://github.com/mapbox/mapbox-gl-native/blob/master/platform/android/src/http_file_source.cpp#L192
345
+ dispatcher.setMaxRequestsPerHost(20);
346
+ return dispatcher;
347
+ }
348
+ }