@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,74 @@
1
+ package com.mapbox.rctmgl.utils;
2
+
3
+ import com.facebook.react.bridge.Dynamic;
4
+ import com.facebook.react.bridge.ReadableArray;
5
+ import com.facebook.react.bridge.ReadableMap;
6
+ import com.google.gson.JsonArray;
7
+ import com.mapbox.mapboxsdk.style.expressions.Expression;
8
+ import com.mapbox.mapboxsdk.style.expressions.Expression.Converter;
9
+
10
+ import org.json.JSONArray;
11
+
12
+ import java.util.Locale;
13
+
14
+ import javax.annotation.Nullable;
15
+
16
+ public class ExpressionParser {
17
+ static final String TYPE_STRING = "string";
18
+ static final String TYPE_ARRAY = "array";
19
+ static final String TYPE_NUMBER = "number";
20
+ static final String TYPE_MAP = "hashmap";
21
+ static final String TYPE_BOOL = "boolean";
22
+
23
+ public static @Nullable Expression from(@Nullable ReadableArray rawExpressions) {
24
+ if (rawExpressions == null || rawExpressions.size() == 0) {
25
+ return null;
26
+ }
27
+
28
+ return Expression.Converter.convert(ConvertUtils.toJsonArray(rawExpressions));
29
+ }
30
+
31
+ public static Expression fromTyped(ReadableMap rawExpressions) {
32
+ JsonArray array = (JsonArray)ConvertUtils.typedToJsonElement(rawExpressions);
33
+ return Expression.Converter.convert(array);
34
+ }
35
+
36
+
37
+
38
+ public static Expression from(ReadableMap rawExpression) {
39
+ return Expression.raw("[" + stringExpression(rawExpression) + "]");
40
+ }
41
+
42
+ private static String stringExpression(ReadableMap item) {
43
+ String expression = "";
44
+ String type = item.getString("type");
45
+
46
+ if (TYPE_STRING.equals(type)) {
47
+ String value = item.getString("value");
48
+ expression = String.format(Locale.ENGLISH, "\"%s\"", value);
49
+ } else if (TYPE_NUMBER.equals(type)) {
50
+ Double value = item.getDouble("value");
51
+ expression = String.format(Locale.ENGLISH, "%f", value);
52
+ } else if (TYPE_BOOL.equals(type)) {
53
+ Boolean value = item.getBoolean("value");
54
+ expression = String.format(Locale.ENGLISH, "%b", value);
55
+ } else if (TYPE_ARRAY.equals(type)) {
56
+ ReadableArray entries = item.getArray("value");
57
+
58
+ expression += "[";
59
+
60
+ for (int i = 0; i < entries.size(); i++) {
61
+ String entryExpression = stringExpression(entries.getMap(i));
62
+ expression += entryExpression;
63
+
64
+ if (i < entries.size() - 1) {
65
+ expression += ",";
66
+ }
67
+ }
68
+
69
+ expression += "]";
70
+ }
71
+
72
+ return expression;
73
+ }
74
+ }
@@ -0,0 +1,209 @@
1
+ package com.mapbox.rctmgl.utils;
2
+
3
+ import com.facebook.react.bridge.Arguments;
4
+ import com.facebook.react.bridge.ReadableArray;
5
+ import com.facebook.react.bridge.WritableArray;
6
+ import com.facebook.react.bridge.WritableMap;
7
+ import com.facebook.react.bridge.WritableNativeArray;
8
+ import com.facebook.react.bridge.WritableNativeMap;
9
+ import com.mapbox.geojson.Feature;
10
+ import com.mapbox.geojson.FeatureCollection;
11
+ import com.mapbox.geojson.Geometry;
12
+ import com.mapbox.geojson.GeometryCollection;
13
+ import com.mapbox.geojson.LineString;
14
+ import com.mapbox.geojson.MultiPoint;
15
+ import com.mapbox.geojson.Point;
16
+ import com.mapbox.geojson.Polygon;
17
+ import com.mapbox.mapboxsdk.geometry.LatLng;
18
+ import com.mapbox.mapboxsdk.geometry.LatLngBounds;
19
+ import com.mapbox.mapboxsdk.geometry.LatLngQuad;
20
+ import com.mapbox.mapboxsdk.style.light.Position;
21
+ import com.mapbox.turf.TurfMeasurement;
22
+
23
+ import java.util.ArrayList;
24
+ import java.util.List;
25
+
26
+ /**
27
+ * Created by nickitaliano on 11/7/17.
28
+ */
29
+
30
+ public class GeoJSONUtils {
31
+ public static WritableMap fromFeature(Feature feature) {
32
+ WritableMap map = Arguments.createMap();
33
+ map.putString("type", "Feature");
34
+ map.putString("id", feature.id());
35
+
36
+ WritableMap geometry = fromGeometry(feature.geometry());
37
+ map.putMap("geometry", geometry);
38
+
39
+ WritableMap properties = ConvertUtils.toWritableMap(feature.properties());
40
+ map.putMap("properties", properties);
41
+
42
+ return map;
43
+ }
44
+
45
+ public static WritableMap fromGeometry(Geometry geometry) {
46
+ final String type = geometry.type();
47
+
48
+ switch (type) {
49
+ case "Point":
50
+ return fromPoint((Point) geometry);
51
+ case "LineString":
52
+ return fromLineString((LineString) geometry);
53
+ case "Polygon":
54
+ return fromPolygon((Polygon) geometry);
55
+ default:
56
+ return null;
57
+ }
58
+ }
59
+
60
+ public static WritableMap fromPoint(Point point) {
61
+ WritableMap map = Arguments.createMap();
62
+ map.putString("type", "Point");
63
+ map.putArray("coordinates", getCoordinates(point));
64
+ return map;
65
+ }
66
+
67
+ public static WritableMap fromLineString(LineString lineString) {
68
+ WritableMap map = Arguments.createMap();
69
+ map.putString("type", "LineString");
70
+ map.putArray("coordinates", getCoordinates(lineString));
71
+ return map;
72
+ }
73
+
74
+ public static WritableMap fromPolygon(Polygon polygon) {
75
+ WritableMap map = Arguments.createMap();
76
+ map.putString("type", "Polygon");
77
+ map.putArray("coordinates", getCoordinates(polygon));
78
+ return map;
79
+ }
80
+
81
+ public static WritableArray getCoordinates(Point point) {
82
+ return Arguments.fromArray(pointToDoubleArray(point));
83
+ }
84
+
85
+ public static WritableArray getCoordinates(LineString lineString) {
86
+ WritableArray array = Arguments.createArray();
87
+
88
+ List<Point> points = lineString.coordinates();
89
+ for (Point point : points) {
90
+ array.pushArray(Arguments.fromArray(pointToDoubleArray(point)));
91
+ }
92
+
93
+ return array;
94
+ }
95
+
96
+ public static WritableArray getCoordinates(Polygon polygon) {
97
+ WritableArray array = Arguments.createArray();
98
+
99
+ List<List<Point>> points = polygon.coordinates();
100
+ if (points == null) {
101
+ return array;
102
+ }
103
+
104
+ for (List<Point> curPoint : points) {
105
+ WritableArray innerArray = Arguments.createArray();
106
+
107
+ for (Point point : curPoint) {
108
+ innerArray.pushArray(Arguments.fromArray(pointToDoubleArray(point)));
109
+ }
110
+
111
+ array.pushArray(innerArray);
112
+ }
113
+
114
+ return array;
115
+ }
116
+
117
+ public static WritableMap toPointFeature(LatLng latLng, WritableMap properties) {
118
+ WritableMap map = new WritableNativeMap();
119
+ map.putString("type", "Feature");
120
+ map.putMap("geometry", toPointGeometry(latLng));
121
+ map.putMap("properties", properties);
122
+ return map;
123
+ }
124
+
125
+ public static WritableMap toPointGeometry(LatLng latLng) {
126
+ WritableMap geometry = new WritableNativeMap();
127
+ geometry.putString("type", "Point");
128
+ geometry.putArray("coordinates", fromLatLng(latLng));
129
+ return geometry;
130
+ }
131
+
132
+ public static WritableArray fromLatLng(LatLng latLng) {
133
+ double[] coords = new double[]{ latLng.getLongitude(), latLng.getLatitude() };
134
+ WritableArray writableCoords = new WritableNativeArray();
135
+ writableCoords.pushDouble(coords[0]);
136
+ writableCoords.pushDouble(coords[1]);
137
+ return writableCoords;
138
+ }
139
+
140
+ public static LatLng toLatLng(Point point) {
141
+ if (point == null) {
142
+ return null;
143
+ }
144
+ return new LatLng(point.latitude(), point.longitude());
145
+ }
146
+
147
+ public static LatLng toLatLng(ReadableArray coordinates) {
148
+ if (coordinates == null || coordinates.size() < 2) {
149
+ return null;
150
+ }
151
+ return new LatLng(coordinates.getDouble(1), coordinates.getDouble(0));
152
+ }
153
+
154
+ public static Point toPointGeometry(String featureJSONString) {
155
+ Feature feature = Feature.fromJson(featureJSONString);
156
+ if (feature == null) {
157
+ return null;
158
+ }
159
+ return (Point)feature.geometry();
160
+ }
161
+
162
+ public static WritableArray fromLatLngBounds(LatLngBounds latLngBounds) {
163
+ WritableArray array = Arguments.createArray();
164
+
165
+ LatLng[] latLngs = latLngBounds.toLatLngs();
166
+ for (LatLng latLng : latLngs) {
167
+ array.pushArray(fromLatLng(latLng));
168
+ }
169
+
170
+ return array;
171
+ }
172
+
173
+ private static GeometryCollection toGeometryCollection(List<Feature> features) {
174
+ ArrayList<Geometry> geometries = new ArrayList<>();
175
+ geometries.ensureCapacity(features.size());
176
+ for (Feature feature : features) {
177
+ geometries.add(feature.geometry());
178
+ }
179
+ return GeometryCollection.fromGeometries(geometries);
180
+ }
181
+
182
+ public static LatLngBounds toLatLngBounds(FeatureCollection featureCollection) {
183
+ List<Feature> features = featureCollection.features();
184
+
185
+ double[] bbox = TurfMeasurement.bbox(toGeometryCollection(features));
186
+
187
+ return LatLngBounds.from(bbox[3], bbox[2], bbox[1], bbox[0]);
188
+ }
189
+
190
+ public static LatLngQuad toLatLngQuad(ReadableArray array) {
191
+ // [top left, top right, bottom right, bottom left]
192
+ if (array == null || array.size() < 4) {
193
+ return null;
194
+ }
195
+ return new LatLngQuad(
196
+ toLatLng(array.getArray(0)),
197
+ toLatLng(array.getArray(1)),
198
+ toLatLng(array.getArray(2)),
199
+ toLatLng(array.getArray(3))
200
+ );
201
+ }
202
+
203
+ public static double[] pointToDoubleArray(Point point) {
204
+ if (point == null) {
205
+ return new double[] { 0.0, 0.0 };
206
+ }
207
+ return new double[] { point.longitude(), point.latitude() };
208
+ }
209
+ }
@@ -0,0 +1,38 @@
1
+ package com.mapbox.rctmgl.utils;
2
+
3
+ import android.graphics.PointF;
4
+
5
+ import com.mapbox.mapboxsdk.geometry.LatLng;
6
+ import com.mapbox.mapboxsdk.geometry.LatLngBounds;
7
+ import com.mapbox.mapboxsdk.geometry.VisibleRegion;
8
+
9
+ /**
10
+ * Created by nickitaliano on 1/5/18.
11
+ * Ported from https://github.com/mapbox/geo-viewport/blob/master/index.js
12
+ * This port only assumes we will have 512 vector tile sizes
13
+ */
14
+
15
+ public class GeoViewport {
16
+ private static SphericalMercator sphericalMercator = new SphericalMercator();
17
+
18
+ public static VisibleRegion getRegion(LatLng centerCoord, int zoomLevel, int viewportWidth, int viewportHeight) {
19
+ PointF px = sphericalMercator.getPX(centerCoord, zoomLevel);
20
+
21
+ LatLng tl = sphericalMercator.getLatLng(new PointF(
22
+ px.x - (viewportWidth / 2),
23
+ px.y - (viewportHeight / 2)
24
+ ), zoomLevel);
25
+
26
+ LatLng br = sphericalMercator.getLatLng(new PointF(
27
+ px.x + (viewportWidth / 2),
28
+ px.y + (viewportHeight / 2)
29
+ ), zoomLevel);
30
+
31
+ LatLng farLeft = tl;
32
+ LatLng farRight = new LatLng(tl.getLatitude(), br.getLongitude());
33
+ LatLng nearLeft = new LatLng(br.getLatitude(), tl.getLongitude());
34
+ LatLng nearRight = br;
35
+
36
+ return new VisibleRegion(farLeft, farRight, nearLeft, nearRight, null);
37
+ }
38
+ }
@@ -0,0 +1,25 @@
1
+ package com.mapbox.rctmgl.utils;
2
+
3
+ public class ImageEntry {
4
+ public String uri;
5
+ public double scale = 1.0;
6
+ public static final double defaultScale = 0.0;
7
+
8
+ public ImageEntry(String _uri, Double _scale) {
9
+ uri = _uri;
10
+ scale = _scale;
11
+ }
12
+
13
+ public ImageEntry(String _uri) {
14
+ uri = _uri;
15
+ scale = ImageEntry.defaultScale;
16
+ }
17
+
18
+ public double getScaleOr(double v) {
19
+ if (scale == ImageEntry.defaultScale) {
20
+ return v;
21
+ } else {
22
+ return scale;
23
+ }
24
+ }
25
+ }
@@ -0,0 +1,30 @@
1
+ package com.mapbox.rctmgl.utils;
2
+
3
+ import android.content.Context;
4
+ import android.content.res.Resources;
5
+ import android.graphics.drawable.Drawable;
6
+ import androidx.core.content.ContextCompat;
7
+
8
+ /**
9
+ * Created by nickitaliano on 10/19/17.
10
+ */
11
+
12
+ public class ResourceUtils {
13
+ public static Drawable getDrawableByName(Context context, String resourceName) {
14
+ if (context == null || resourceName == null || resourceName.isEmpty()) {
15
+ return null;
16
+ }
17
+
18
+ Resources resources = context.getResources();
19
+ if (resources == null) {
20
+ return null;
21
+ }
22
+
23
+ final int resID = resources.getIdentifier(resourceName, "drawable", context.getPackageName());
24
+ if (resID == 0) {
25
+ return null;
26
+ }
27
+
28
+ return ContextCompat.getDrawable(context, resID);
29
+ }
30
+ }
@@ -0,0 +1,30 @@
1
+ package com.mapbox.rctmgl.utils;
2
+
3
+ import com.mapbox.mapboxsdk.maps.MapboxMap;
4
+
5
+ import com.mapbox.rctmgl.components.AbstractEventEmitter;
6
+ import com.mapbox.rctmgl.events.IEvent;
7
+
8
+ /**
9
+ * Created by nickitaliano on 8/31/17.
10
+ */
11
+
12
+ public class SimpleEventCallback implements MapboxMap.CancelableCallback {
13
+ private AbstractEventEmitter mEventEmitter;
14
+ private IEvent mEvent;
15
+
16
+ public SimpleEventCallback(AbstractEventEmitter eventEmitter, IEvent event) {
17
+ mEventEmitter = eventEmitter;
18
+ mEvent = event;
19
+ }
20
+
21
+ @Override
22
+ public void onCancel() {
23
+ mEventEmitter.handleEvent(mEvent);
24
+ }
25
+
26
+ @Override
27
+ public void onFinish() {
28
+ mEventEmitter.handleEvent(mEvent);
29
+ }
30
+ }
@@ -0,0 +1,69 @@
1
+ package com.mapbox.rctmgl.utils;
2
+
3
+ import android.graphics.Point;
4
+ import android.graphics.PointF;
5
+
6
+ import com.mapbox.mapboxsdk.geometry.LatLng;
7
+
8
+ import java.util.ArrayList;
9
+ import java.util.HashMap;
10
+ import java.util.List;
11
+ import java.util.Map;
12
+
13
+ /**
14
+ * Created by nickitaliano on 1/4/18.
15
+ * Ported from https://github.com/mapbox/sphericalmercator/blob/master/sphericalmercator.js
16
+ * This port only assumes we will have 512 vector tile sizes
17
+ */
18
+
19
+ public class SphericalMercator {
20
+ public static final double D2R = Math.PI / 180;
21
+ public static final double R2D = 180 / Math.PI;
22
+
23
+ private static Map<String, List<Double>> cache;
24
+
25
+ public SphericalMercator() {
26
+ int tileSize = 512;
27
+
28
+ if (cache == null) {
29
+ cache = new HashMap<>();
30
+ cache.put("Bc", new ArrayList<Double>());
31
+ cache.put("Cc", new ArrayList<Double>());
32
+ cache.put("zc", new ArrayList<Double>());
33
+ cache.put("Ac", new ArrayList<Double>());
34
+
35
+ double size = (double) tileSize;
36
+ for (int d = 0; d < 30; d++) {
37
+ cache.get("Bc").add(size / 360);
38
+ cache.get("Cc").add(size / (2 * Math.PI));
39
+ cache.get("zc").add(size / 2);
40
+ cache.get("Ac").add(size);
41
+ size *= 2;
42
+ }
43
+ }
44
+ }
45
+
46
+ public PointF getPX(LatLng latLng, int zoomLevel) {
47
+ double d = cache.get("zc").get(zoomLevel);
48
+ double f = Math.min(Math.max(Math.sin(D2R * latLng.getLatitude()), -0.9999), 0.9999);
49
+ double x = Math.round(d + latLng.getLongitude() * cache.get("Bc").get(zoomLevel));
50
+ double y = Math.round(d + 0.5 * Math.log((1 + f) / (1 - f)) * (-cache.get("Cc").get(zoomLevel)));
51
+
52
+ if (x > cache.get("Ac").get(zoomLevel)) {
53
+ x = cache.get("Ac").get(zoomLevel);
54
+ }
55
+
56
+ if (y > cache.get("Ac").get(zoomLevel)) {
57
+ y = cache.get("Ac").get(zoomLevel);
58
+ }
59
+
60
+ return new PointF((float) x, (float) y);
61
+ }
62
+
63
+ public LatLng getLatLng(PointF px, int zoomLevel) {
64
+ double g = ((double)px.y - cache.get("zc").get(zoomLevel)) / (-cache.get("Cc").get(zoomLevel));
65
+ double lon = ((double) px.x - cache.get("zc").get(zoomLevel)) / cache.get("Bc").get(zoomLevel);
66
+ double lat = R2D * (2 * Math.atan(Math.exp(g)) - 0.5 * Math.PI);
67
+ return new LatLng(lat, lon);
68
+ }
69
+ }
@@ -0,0 +1,5 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
3
+ <size android:height="1dp" android:width="1dp" />
4
+ <solid android:color="@android:color/transparent" />
5
+ </shape>
@@ -0,0 +1,17 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3
+ android:id="@+id/annotation_layout"
4
+ android:layout_width="wrap_content"
5
+ android:layout_height="wrap_content">
6
+
7
+ <ImageView
8
+ android:id="@+id/annotation_img"
9
+ android:layout_width="match_parent"
10
+ android:layout_height="match_parent" />
11
+
12
+ <LinearLayout
13
+ android:orientation="vertical"
14
+ android:id="@+id/annotation_view_container"
15
+ android:layout_width="wrap_content"
16
+ android:layout_height="wrap_content" />
17
+ </RelativeLayout>
@@ -0,0 +1,3 @@
1
+ <resources>
2
+ <string name="app_name">RCTMGL</string>
3
+ </resources>
@@ -0,0 +1 @@
1
+ include ':rctmgl'
package/app.plugin.js ADDED
@@ -0,0 +1 @@
1
+ module.exports = require('./plugin/build/withMapbox');
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,9 @@
1
+ module.exports = {
2
+ presets: ['module:metro-react-native-babel-preset'],
3
+ plugins: [['@babel/plugin-proposal-class-properties', {loose: true}]],
4
+ env: {
5
+ production: {
6
+ plugins: ['transform-remove-console'],
7
+ },
8
+ },
9
+ };
@@ -0,0 +1,39 @@
1
+ <!-- This file was autogenerated from Annotation.js do not modify -->
2
+ ## <MapboxGL.Annotation />
3
+ ###
4
+
5
+ ### props
6
+ | Prop | Type | Default | Required | Description |
7
+ | ---- | :--: | :-----: | :------: | :----------: |
8
+ | id | `string` | `none` | `true` | FIX ME NO DESCRIPTION |
9
+ | animated | `bool` | `false` | `false` | FIX ME NO DESCRIPTION |
10
+ | animationDuration | `number` | `1000` | `false` | FIX ME NO DESCRIPTION |
11
+ | animationEasingFunction | `func` | `Easing.linear` | `false` | FIX ME NO DESCRIPTION |
12
+ | coordinates | `array` | `none` | `false` | FIX ME NO DESCRIPTION |
13
+ | onPress | `func` | `none` | `false` | FIX ME NO DESCRIPTION |
14
+ | children | `any` | `none` | `false` | FIX ME NO DESCRIPTION |
15
+ | style | `any` | `none` | `false` | FIX ME NO DESCRIPTION |
16
+ | icon | `union` | `none` | `false` | FIX ME NO DESCRIPTION |
17
+
18
+ ### methods
19
+ #### onPress()
20
+
21
+
22
+
23
+ ##### arguments
24
+ | Name | Type | Required | Description |
25
+ | ---- | :--: | :------: | :----------: |
26
+
27
+
28
+
29
+ #### symbolStyle()
30
+
31
+
32
+
33
+ ##### arguments
34
+ | Name | Type | Required | Description |
35
+ | ---- | :--: | :------: | :----------: |
36
+
37
+
38
+
39
+
@@ -0,0 +1,17 @@
1
+ Comparsion of various annotations available in React native mapbox:
2
+
3
+ |*Feature* | *SymbolLayer* |*PointAnnotation* |*MarkerView* |*CircleLayer* |
4
+ |-----------------------|--------------------|--------------------------------------|-------------------------|---------------------|
5
+ |Can use images | &check; | | | |
6
+ |RN Views as childern | iOS: static |iOS: interactive <br/> android: static|interactive | |
7
+ |Interactions | click |iOS: full <br/> android: click & drag & callout | supports full interactivity in the sense that inside MarkerViews one can place any RN View, which can be interacted with. Not to be misunderstood with drag n drop interactivity. | click |
8
+ |Control Z-index | &check; |iOS: always on top, android: n/a |always on top | &check; |
9
+ |Clustering | &check; | | | &check; |
10
+ |Style with expressions | &check; | | | &check; |
11
+ |iOS implementation | [MGLStyleSymbolLayer](https://docs.mapbox.com/ios/api/maps/5.8.0/Classes/MGLSymbolStyleLayer.html) |[MGLAnnotationView](https://docs.mapbox.com/ios/api/maps/5.8.0/Classes/MGLAnnotationView.html) |[MGLAnnotationView](https://docs.mapbox.com/ios/api/maps/5.8.0/Classes/MGLAnnotationView.html) |[MGLCircleStyleLayer](https://docs.mapbox.com/ios/api/maps/5.8.0/Classes/MGLCircleStyleLayer.html) |
12
+ |android implementation | [SymbolLayer](https://docs.mapbox.com/android/api/map-sdk/9.0.0/com/mapbox/mapboxsdk/style/layers/SymbolLayer.html)|[annotation.Symbol](https://docs.mapbox.com/android/api/plugins/annotation/0.8.0/com/mapbox/mapboxsdk/plugins/annotation/Symbol.html)|[annotation.Marker](https://docs.mapbox.com/android/api/plugins/markerview/0.4.0/com/mapbox/mapboxsdk/plugins/markerview/MarkerView.html) |[CircleLayer](https://docs.mapbox.com/android/api/map-sdk/9.0.0/com/mapbox/mapboxsdk/style/layers/CircleLayer.html)|
13
+
14
+
15
+ Related links:
16
+ * iOS [markers and annotations](https://docs.mapbox.com/ios/maps/overview/markers-and-annotations/)
17
+ * android [annotation plugin](https://docs.mapbox.com/android/plugins/overview/annotation/)