@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,100 @@
1
+ package com.mapbox.rctmgl.events;
2
+
3
+ import android.location.Location;
4
+ import androidx.annotation.NonNull;
5
+
6
+ import com.facebook.react.bridge.Arguments;
7
+ import com.facebook.react.bridge.WritableMap;
8
+ import com.facebook.react.bridge.WritableNativeMap;
9
+ import com.mapbox.rctmgl.components.mapview.RCTMGLMapView;
10
+ import com.mapbox.rctmgl.events.constants.EventKeys;
11
+ import com.mapbox.rctmgl.events.constants.EventTypes;
12
+
13
+ import java.util.UUID;
14
+
15
+ public class LocationEvent implements IEvent {
16
+ private UUID uuid;
17
+ private RCTMGLMapView mapView;
18
+ private Location location;
19
+
20
+ public LocationEvent(@NonNull Location location, RCTMGLMapView mapView) {
21
+ this.mapView = mapView;
22
+ this.location = location;
23
+ this.uuid = UUID.randomUUID();
24
+ }
25
+
26
+ public LocationEvent(Location location) {
27
+ this(location, null);
28
+ }
29
+
30
+ @Override
31
+ public int getID() {
32
+ if (mapView != null) {
33
+ return mapView.getId();
34
+ }
35
+ return -1;
36
+ }
37
+
38
+ public UUID getUUID() {
39
+ return uuid;
40
+ }
41
+
42
+ @Override
43
+ public String getKey() {
44
+ return EventKeys.USER_LOCATION_UPDATE;
45
+ }
46
+
47
+ @Override
48
+ public String getType() {
49
+ return EventTypes.USER_LOCATION_UPDATED;
50
+ }
51
+
52
+ @Override
53
+ public long getTimestamp() {
54
+ return System.currentTimeMillis();
55
+ }
56
+
57
+ @Override
58
+ public boolean equals(IEvent event) {
59
+ LocationEvent other = (LocationEvent) event;
60
+ return getUUID().equals(other.getUUID());
61
+ }
62
+
63
+ public boolean equals(LocationEvent event) {
64
+ return uuid.equals(event.getUUID());
65
+ }
66
+
67
+ @Override
68
+ public WritableMap getPayload() {
69
+ WritableMap positionProperties = new WritableNativeMap();
70
+ WritableMap coords = new WritableNativeMap();
71
+
72
+ coords.putDouble("longitude", location.getLongitude());
73
+ coords.putDouble("latitude", location.getLatitude());
74
+ coords.putDouble("altitude", location.getAltitude());
75
+ coords.putDouble("accuracy", location.getAccuracy());
76
+ // A better solution will be to pull the heading from the compass engine,
77
+ // unfortunately the api is not publicly available in the mapbox sdk
78
+ coords.putDouble("heading", location.getBearing());
79
+ coords.putDouble("course", location.getBearing());
80
+ coords.putDouble("speed", location.getSpeed());
81
+
82
+ positionProperties.putMap("coords", coords);
83
+ positionProperties.putDouble("timestamp", location.getTime());
84
+
85
+ return positionProperties;
86
+ }
87
+
88
+ @Override
89
+ public WritableMap toJSON() {
90
+ WritableMap map = Arguments.createMap();
91
+ map.putString("type", getType());
92
+ map.putMap("payload", getPayload());
93
+ return map;
94
+ }
95
+
96
+ @Override
97
+ public boolean canCoalesce() {
98
+ return true;
99
+ }
100
+ }
@@ -0,0 +1,47 @@
1
+ package com.mapbox.rctmgl.events;
2
+
3
+ import android.view.View;
4
+
5
+ import com.facebook.react.bridge.Arguments;
6
+ import com.facebook.react.bridge.WritableMap;
7
+
8
+ import com.mapbox.rctmgl.events.constants.EventKeys;
9
+
10
+ /**
11
+ * Created by nickitaliano on 8/27/17.
12
+ */
13
+
14
+ public class MapChangeEvent extends AbstractEvent {
15
+ private WritableMap mPayload;
16
+
17
+ public MapChangeEvent(View view, String eventType) {
18
+ this(view, eventType, Arguments.createMap());
19
+ }
20
+
21
+ public MapChangeEvent(View view, String eventType, WritableMap payload) {
22
+ super(view, eventType);
23
+ mPayload = payload;
24
+ }
25
+
26
+ @Override
27
+ public String getKey() {
28
+ return EventKeys.MAP_ONCHANGE;
29
+ }
30
+
31
+ @Override
32
+ public WritableMap getPayload() {
33
+ // FMTODO
34
+ WritableMap payloadClone = Arguments.createMap();
35
+ payloadClone.merge(mPayload);
36
+ return payloadClone;
37
+ }
38
+
39
+ @Override
40
+ public boolean canCoalesce() {
41
+ // Make sure EventDispatcher never merges EventKeys.MAP_ONCHANGE events.
42
+ // This event name is used to emit events with different
43
+ // com.mapbox.rctmgl.events.constants.EventTypes which are dispatched separately on
44
+ // the JS side
45
+ return false;
46
+ }
47
+ }
@@ -0,0 +1,51 @@
1
+ package com.mapbox.rctmgl.events;
2
+
3
+ import android.graphics.PointF;
4
+ import androidx.annotation.NonNull;
5
+ import android.view.View;
6
+
7
+ import com.facebook.react.bridge.WritableMap;
8
+ import com.facebook.react.bridge.WritableNativeMap;
9
+ import com.mapbox.mapboxsdk.geometry.LatLng;
10
+
11
+ import com.mapbox.rctmgl.events.constants.EventKeys;
12
+ import com.mapbox.rctmgl.events.constants.EventTypes;
13
+ import com.mapbox.rctmgl.utils.GeoJSONUtils;
14
+
15
+ /**
16
+ * Created by nickitaliano on 8/23/17.
17
+ */
18
+
19
+ public class MapClickEvent extends AbstractEvent {
20
+ private LatLng mTouchedLatLng;
21
+ private PointF mScreenPoint;
22
+
23
+ public MapClickEvent(View view, @NonNull LatLng latLng, @NonNull PointF screenPoint) {
24
+ this(view, latLng, screenPoint, EventTypes.MAP_CLICK);
25
+ }
26
+
27
+ public MapClickEvent(View view, @NonNull LatLng latLng, @NonNull PointF screenPoint, String eventType) {
28
+ super(view, eventType);
29
+ mTouchedLatLng = latLng;
30
+ mScreenPoint = screenPoint;
31
+ }
32
+
33
+ @Override
34
+ public String getKey() {
35
+ String eventType = getType();
36
+
37
+ if (eventType.equals(EventTypes.MAP_LONG_CLICK)) {
38
+ return EventKeys.MAP_LONG_CLICK;
39
+ }
40
+
41
+ return EventKeys.MAP_CLICK;
42
+ }
43
+
44
+ @Override
45
+ public WritableMap getPayload() {
46
+ WritableMap properties = new WritableNativeMap();
47
+ properties.putDouble("screenPointX", mScreenPoint.x);
48
+ properties.putDouble("screenPointY", mScreenPoint.y);
49
+ return GeoJSONUtils.toPointFeature(mTouchedLatLng, properties);
50
+ }
51
+ }
@@ -0,0 +1,36 @@
1
+ package com.mapbox.rctmgl.events;
2
+
3
+ import android.view.View;
4
+
5
+ import com.facebook.react.bridge.Arguments;
6
+ import com.facebook.react.bridge.WritableMap;
7
+ import com.mapbox.rctmgl.events.constants.EventKeys;
8
+ import com.mapbox.rctmgl.events.constants.EventTypes;
9
+ import com.mapbox.rctmgl.location.UserTrackingMode;
10
+
11
+ /**
12
+ * Created by nickitaliano on 12/19/17.
13
+ */
14
+
15
+ public class MapUserTrackingModeEvent extends AbstractEvent {
16
+ private int mUserTrackingMode;
17
+
18
+ public MapUserTrackingModeEvent(View view, int userTrackingMode) {
19
+ super(view, EventTypes.MAP_USER_TRACKING_MODE_CHANGE);
20
+ mUserTrackingMode = userTrackingMode;
21
+ }
22
+
23
+ @Override
24
+ public String getKey() {
25
+ return EventKeys.MAP_USER_TRACKING_MODE_CHANGE;
26
+ }
27
+
28
+ @Override
29
+ public WritableMap getPayload() {
30
+ WritableMap payload = Arguments.createMap();
31
+ payload.putBoolean("followUserLocation", mUserTrackingMode != UserTrackingMode.NONE);
32
+ payload.putString("followUserMode", UserTrackingMode.toString(mUserTrackingMode));
33
+
34
+ return payload;
35
+ }
36
+ }
@@ -0,0 +1,29 @@
1
+ package com.mapbox.rctmgl.events;
2
+
3
+ import com.facebook.react.bridge.ReadableMap;
4
+ import com.facebook.react.bridge.WritableMap;
5
+
6
+ /**
7
+ * Created by nickitaliano on 10/24/17.
8
+ */
9
+
10
+ public class OfflineEvent extends AbstractEvent {
11
+ private String mEventKey;
12
+ private WritableMap mPayload;
13
+
14
+ public OfflineEvent(String eventKey, String eventType, WritableMap payload) {
15
+ super(eventType);
16
+ mEventKey = eventKey;
17
+ mPayload = payload;
18
+ }
19
+
20
+ @Override
21
+ public String getKey() {
22
+ return mEventKey;
23
+ }
24
+
25
+ @Override
26
+ public WritableMap getPayload() {
27
+ return mPayload;
28
+ }
29
+ }
@@ -0,0 +1,46 @@
1
+ package com.mapbox.rctmgl.events;
2
+
3
+ import android.graphics.PointF;
4
+ import androidx.annotation.NonNull;
5
+ import android.view.View;
6
+
7
+ import com.facebook.react.bridge.WritableMap;
8
+ import com.facebook.react.bridge.WritableNativeMap;
9
+ import com.mapbox.mapboxsdk.plugins.markerview.MarkerView;
10
+ import com.mapbox.mapboxsdk.geometry.LatLng;
11
+ import com.mapbox.rctmgl.components.annotation.RCTMGLPointAnnotation;
12
+ import com.mapbox.rctmgl.events.constants.EventKeys;
13
+ import com.mapbox.rctmgl.events.constants.EventTypes;
14
+ import com.mapbox.rctmgl.utils.ConvertUtils;
15
+ import com.mapbox.rctmgl.utils.GeoJSONUtils;
16
+
17
+ /**
18
+ * Created by nickitaliano on 10/11/17.
19
+ */
20
+
21
+ public class PointAnnotationClickEvent extends MapClickEvent {
22
+ private RCTMGLPointAnnotation mView;
23
+ private LatLng mTouchedLatLng;
24
+ private PointF mScreenPoint;
25
+
26
+ public PointAnnotationClickEvent(RCTMGLPointAnnotation view, @NonNull LatLng latLng, @NonNull PointF screenPoint, String eventType) {
27
+ super(view, latLng, screenPoint, eventType);
28
+ mView = view;
29
+ mTouchedLatLng = latLng;
30
+ mScreenPoint = screenPoint;
31
+ }
32
+
33
+ @Override
34
+ public String getKey() {
35
+ return getType().equals(EventTypes.ANNOTATION_SELECTED) ? EventKeys.POINT_ANNOTATION_SELECTED : EventKeys.POINT_ANNOTATION_DESELECTED;
36
+ }
37
+
38
+ @Override
39
+ public WritableMap getPayload() {
40
+ WritableMap properties = new WritableNativeMap();
41
+ properties.putString("id", mView.getID());
42
+ properties.putDouble("screenPointX", mScreenPoint.x);
43
+ properties.putDouble("screenPointY", mScreenPoint.y);
44
+ return GeoJSONUtils.toPointFeature(mTouchedLatLng, properties);
45
+ }
46
+ }
@@ -0,0 +1,51 @@
1
+ package com.mapbox.rctmgl.events;
2
+
3
+ import android.graphics.PointF;
4
+ import androidx.annotation.NonNull;
5
+ import android.view.View;
6
+
7
+ import com.facebook.react.bridge.WritableMap;
8
+ import com.facebook.react.bridge.WritableNativeMap;
9
+ import com.mapbox.mapboxsdk.plugins.markerview.MarkerView;
10
+ import com.mapbox.mapboxsdk.geometry.LatLng;
11
+ import com.mapbox.rctmgl.components.annotation.RCTMGLPointAnnotation;
12
+ import com.mapbox.rctmgl.events.constants.EventKeys;
13
+ import com.mapbox.rctmgl.events.constants.EventTypes;
14
+ import com.mapbox.rctmgl.utils.ConvertUtils;
15
+ import com.mapbox.rctmgl.utils.GeoJSONUtils;
16
+
17
+ public class PointAnnotationDragEvent extends MapClickEvent {
18
+ RCTMGLPointAnnotation mView;
19
+ private LatLng mTouchedLatLng;
20
+ private PointF mScreenPoint;
21
+
22
+ public PointAnnotationDragEvent(RCTMGLPointAnnotation view, @NonNull LatLng latLng, @NonNull PointF screenPoint, String eventType) {
23
+ super(view, latLng, screenPoint, eventType);
24
+ mView = view;
25
+ mTouchedLatLng = latLng;
26
+ mScreenPoint = screenPoint;
27
+ }
28
+
29
+ @Override
30
+ public String getKey() {
31
+ String eventType = getType();
32
+
33
+ if (eventType.equals(EventTypes.ANNOTATION_DRAG_START)) {
34
+ return EventKeys.POINT_ANNOTATION_DRAG_START;
35
+ }
36
+ if (eventType.equals(EventTypes.ANNOTATION_DRAG_END)) {
37
+ return EventKeys.POINT_ANNOTATION_DRAG_END;
38
+ }
39
+
40
+ return EventKeys.POINT_ANNOTATION_DRAG;
41
+ }
42
+
43
+ @Override
44
+ public WritableMap getPayload() {
45
+ WritableMap properties = new WritableNativeMap();
46
+ properties.putString("id", mView.getID());
47
+ properties.putDouble("screenPointX", mScreenPoint.x);
48
+ properties.putDouble("screenPointY", mScreenPoint.y);
49
+ return GeoJSONUtils.toPointFeature(mTouchedLatLng, properties);
50
+ }
51
+ }
@@ -0,0 +1,39 @@
1
+ package com.mapbox.rctmgl.events.constants;
2
+
3
+ /**
4
+ * Created by nickitaliano on 8/27/17.
5
+ */
6
+
7
+ public class EventKeys {
8
+ public static final String NAMESPACE = "rct.mapbox";
9
+
10
+ // map events
11
+ public static final String MAP_CLICK = ns("map.press");
12
+ public static final String MAP_LONG_CLICK = ns("map.longpress");
13
+ public static final String MAP_ONCHANGE = ns("map.change");
14
+ public static final String MAP_ON_LOCATION_CHANGE = ns("map.location.change");
15
+ public static final String MAP_ANDROID_CALLBACK = ns("map.androidcallback");
16
+ public static final String MAP_USER_TRACKING_MODE_CHANGE = ns("map.usertrackingmodechange");
17
+
18
+ // point annotation events
19
+ public static final String POINT_ANNOTATION_SELECTED = ns("pointannotation.selected");
20
+ public static final String POINT_ANNOTATION_DESELECTED = ns("pointannotation.deselected");
21
+ public static final String POINT_ANNOTATION_DRAG_START = ns("pointannotation.dragstart");
22
+ public static final String POINT_ANNOTATION_DRAG = ns("pointannotation.drag");
23
+ public static final String POINT_ANNOTATION_DRAG_END = ns("pointannotation.dragend");
24
+
25
+ // source events
26
+ public static final String SHAPE_SOURCE_LAYER_CLICK = ns("shapesource.layer.pressed");
27
+ public static final String VECTOR_SOURCE_LAYER_CLICK = ns("vectorsource.layer.pressed");
28
+ public static final String RASTER_SOURCE_LAYER_CLICK = ns("rastersource.layer.pressed");
29
+
30
+ // images event
31
+ public static final String IMAGES_MISSING = ns("images.missing");
32
+
33
+ // location events
34
+ public static final String USER_LOCATION_UPDATE = ns("user.location.update");
35
+
36
+ private static String ns(String name) {
37
+ return String.format("%s.%s", NAMESPACE, name);
38
+ }
39
+ }
@@ -0,0 +1,51 @@
1
+ package com.mapbox.rctmgl.events.constants;
2
+
3
+ /**
4
+ * Created by nickitaliano on 8/24/17.
5
+ */
6
+
7
+ public class EventTypes {
8
+ // map event types
9
+ public static final String MAP_CLICK = "press";
10
+ public static final String MAP_LONG_CLICK = "longpress";
11
+ public static final String MAP_USER_TRACKING_MODE_CHANGE = "usertrackingmodechange";
12
+
13
+ public static final String REGION_WILL_CHANGE = "regionwillchange";
14
+ public static final String REGION_IS_CHANGING = "regionischanging";
15
+ public static final String REGION_DID_CHANGE = "regiondidchange";
16
+ public static final String USER_LOCATION_UPDATED = "userlocationdupdated";
17
+
18
+ public static final String WILL_START_LOADING_MAP = "willstartloadingmap";
19
+ public static final String DID_FINISH_LOADING_MAP = "didfinishloadingmap";
20
+ public static final String DID_FAIL_LOADING_MAP = "didfailloadingmap";
21
+
22
+ public static final String WILL_START_RENDERING_FRAME = "willstartrenderingframe";
23
+ public static final String DID_FINISH_RENDERING_FRAME = "didfinishrenderingframe";
24
+ public static final String DID_FINISH_RENDERING_FRAME_FULLY = "didfinishrenderingframefully";
25
+
26
+ public static final String WILL_START_RENDERING_MAP = "willstartrenderingmap";
27
+ public static final String DID_FINISH_RENDERING_MAP = "didfinishrenderingmap";
28
+ public static final String DID_FINISH_RENDERING_MAP_FULLY = "didfinishrenderingmapfully";
29
+
30
+ public static final String DID_FINISH_LOADING_STYLE = "didfinishloadingstyle";
31
+
32
+ // point annotation event types
33
+ public static final String ANNOTATION_SELECTED = "annotationselected";
34
+ public static final String ANNOTATION_DESELECTED = "annotationdeselected";
35
+ public static final String ANNOTATION_DRAG_START = "annotationdragstart";
36
+ public static final String ANNOTATION_DRAG = "annotationdrag";
37
+ public static final String ANNOTATION_DRAG_END = "annotationdragend";
38
+
39
+ // offline event types
40
+ public static final String OFFLINE_ERROR = "offlineerror";
41
+ public static final String OFFLINE_TILE_LIMIT = "offlinetilelimit";
42
+ public static final String OFFLINE_STATUS = "offlinestatus";
43
+
44
+ // shape source event types
45
+ public static final String SHAPE_SOURCE_LAYER_CLICK = "shapesourcelayerpress";
46
+ public static final String VECTOR_SOURCE_LAYER_CLICK = "vectorsourcelayerpress";
47
+ public static final String RASTER_SOURCE_LAYER_CLICK = "rastersourcelayerpress";
48
+
49
+ // image missing event type
50
+ public static final String IMAGES_MISSING = "imagesmissing";
51
+ }
@@ -0,0 +1,38 @@
1
+ package com.mapbox.rctmgl.http;
2
+
3
+ import android.util.Log;
4
+
5
+ import org.jetbrains.annotations.NotNull;
6
+
7
+ import java.io.IOException;
8
+ import java.util.HashMap;
9
+ import java.util.Map;
10
+
11
+ import okhttp3.Interceptor;
12
+ import okhttp3.Request;
13
+ import okhttp3.Response;
14
+
15
+ public class CustomHeadersInterceptor implements Interceptor {
16
+
17
+ public static final CustomHeadersInterceptor INSTANCE = new CustomHeadersInterceptor();
18
+ private Map<String, String> customHeaders = new HashMap<>();
19
+
20
+ public void addHeader(@NotNull final String headerName, @NotNull String headerValue) {
21
+ customHeaders.put(headerName, headerValue);
22
+ }
23
+
24
+ public void removeHeader(@NotNull final String headerName) {
25
+ customHeaders.remove(headerName);
26
+ }
27
+
28
+ @Override
29
+ public Response intercept(@NotNull Chain chain) throws IOException {
30
+ Request.Builder modifiedHeaderBuilder = chain.request().newBuilder();
31
+ for (Map.Entry<String, String> entry : customHeaders.entrySet()) {
32
+ modifiedHeaderBuilder.addHeader(entry.getKey(), entry.getValue());
33
+ }
34
+
35
+ Request request = modifiedHeaderBuilder.build();
36
+ return chain.proceed(request);
37
+ }
38
+ }
@@ -0,0 +1,168 @@
1
+ package com.mapbox.rctmgl.location;
2
+
3
+ import android.content.Context;
4
+ import android.location.Location;
5
+ import android.os.Looper;
6
+ import android.util.Log;
7
+
8
+ import com.mapbox.mapboxsdk.location.engine.LocationEngine;
9
+ import com.mapbox.mapboxsdk.location.engine.LocationEngineCallback;
10
+
11
+ /*
12
+ import com.mapbox.android.core.location.LocationEngineListener;
13
+ import com.mapbox.android.core.location.LocationEnginePriority;
14
+ */
15
+
16
+ import com.mapbox.mapboxsdk.location.engine.LocationEngineProvider;
17
+ import com.mapbox.mapboxsdk.location.engine.LocationEngineRequest;
18
+ import com.mapbox.mapboxsdk.location.engine.LocationEngineResult;
19
+ import com.mapbox.mapboxsdk.location.permissions.PermissionsManager;
20
+
21
+ import java.lang.ref.WeakReference;
22
+ import java.util.ArrayList;
23
+ import java.util.List;
24
+ import java.util.Locale;
25
+
26
+ /**
27
+ * Created by nickitaliano on 12/12/17.
28
+ */
29
+
30
+ @SuppressWarnings({"MissingPermission"})
31
+ public class LocationManager implements LocationEngineCallback<LocationEngineResult> {
32
+ static final long DEFAULT_FASTEST_INTERVAL_MILLIS = 1000;
33
+ static final long DEFAULT_INTERVAL_MILLIS = 1000;
34
+
35
+ public static final String LOG_TAG = "LocationManager";
36
+
37
+ private LocationEngine locationEngine;
38
+ private Context context;
39
+ private List<OnUserLocationChange> listeners = new ArrayList<>();
40
+
41
+ private float mMinDisplacement = 0;
42
+ private boolean isActive = false;
43
+ private Location lastLocation = null;
44
+
45
+ private LocationEngineRequest locationEngineRequest = null;
46
+
47
+ private static WeakReference<LocationManager> INSTANCE = null;
48
+
49
+ public static LocationManager getInstance(Context context) {
50
+ if (INSTANCE == null) {
51
+ INSTANCE = new WeakReference<>(new LocationManager(context));
52
+ }
53
+ return INSTANCE.get();
54
+ }
55
+
56
+ public interface OnUserLocationChange {
57
+ void onLocationChange(Location location);
58
+ }
59
+
60
+ private LocationManager(Context context) {
61
+ this.context = context;
62
+ this.buildEngineRequest();
63
+
64
+ }
65
+ private void buildEngineRequest() {
66
+ locationEngine = LocationEngineProvider.getBestLocationEngine(this.context.getApplicationContext());
67
+ locationEngineRequest = new LocationEngineRequest.Builder(DEFAULT_INTERVAL_MILLIS)
68
+ .setFastestInterval(DEFAULT_FASTEST_INTERVAL_MILLIS)
69
+ .setPriority(LocationEngineRequest.PRIORITY_HIGH_ACCURACY)
70
+ .setDisplacement(mMinDisplacement)
71
+ .build();
72
+ }
73
+
74
+ public void addLocationListener(OnUserLocationChange listener) {
75
+ if (!listeners.contains(listener)) {
76
+ listeners.add(listener);
77
+ }
78
+ }
79
+
80
+ public void removeLocationListener(OnUserLocationChange listener) {
81
+ if (listeners.contains(listener)) {
82
+ listeners.remove(listener);
83
+ }
84
+ }
85
+ public void setMinDisplacement(float minDisplacement) {
86
+ mMinDisplacement = minDisplacement;
87
+ }
88
+ public void enable() {
89
+ if (!PermissionsManager.areLocationPermissionsGranted(context)) {
90
+ return;
91
+ }
92
+
93
+ // remove existing listeners
94
+ locationEngine.removeLocationUpdates(this);
95
+
96
+ // refresh location engine request with new values
97
+ this.buildEngineRequest();
98
+
99
+ // add new listeners
100
+ locationEngine.requestLocationUpdates(
101
+ locationEngineRequest,
102
+ this,
103
+ Looper.getMainLooper()
104
+ );
105
+ isActive = true;
106
+ }
107
+
108
+
109
+ public void disable() {
110
+ locationEngine.removeLocationUpdates(this);
111
+ isActive = false;
112
+ }
113
+
114
+ public void dispose() {
115
+ if (locationEngine == null) {
116
+ return;
117
+ }
118
+ disable();
119
+ locationEngine.removeLocationUpdates(this);
120
+ }
121
+
122
+ public boolean isActive() {
123
+ return locationEngine != null && this.isActive;
124
+ }
125
+
126
+ public Location getLastKnownLocation() {
127
+ if (locationEngine == null) {
128
+ return null;
129
+ }
130
+ return lastLocation;
131
+ }
132
+
133
+
134
+ public void getLastKnownLocation(LocationEngineCallback<LocationEngineResult> callback) {
135
+ if (locationEngine == null) {
136
+ callback.onFailure(new Exception("LocationEngine not initialized"));
137
+ }
138
+
139
+ try {
140
+ locationEngine.getLastLocation(callback);
141
+ }
142
+ catch(Exception exception) {
143
+ Log.w(LOG_TAG, exception);
144
+ callback.onFailure(exception);
145
+ }
146
+ }
147
+
148
+ public LocationEngine getEngine() {
149
+ return locationEngine;
150
+ }
151
+
152
+ public void onLocationChanged(Location location) {
153
+ lastLocation = location;
154
+ for (OnUserLocationChange listener : listeners) {
155
+ listener.onLocationChange(location);
156
+ }
157
+ }
158
+
159
+ @Override
160
+ public void onFailure(Exception exception) {
161
+ // FMTODO handle this.
162
+ }
163
+
164
+ @Override
165
+ public void onSuccess(LocationEngineResult result) {
166
+ onLocationChanged(result.getLastLocation());
167
+ }
168
+ }