@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,30 @@
1
+ //
2
+ // RCTMGLLocationManager.h
3
+ // RCTMGL
4
+ //
5
+ // Created by Nick Italiano on 6/21/18.
6
+ // Copyright © 2018 Mapbox Inc. All rights reserved.
7
+ //
8
+
9
+ #import <Foundation/Foundation.h>
10
+
11
+ #import "RCTMGLLocation.h"
12
+ #import "RCTMGLLocationManagerDelegate.h"
13
+
14
+ typedef void (^RCTMGLLocationBlock)(RCTMGLLocation *location);
15
+
16
+ @interface RCTMGLLocationManager : NSObject
17
+
18
+ @property (nonatomic, strong) id<RCTMGLLocationManagerDelegate> delegate;
19
+
20
+ + (id)sharedInstance;
21
+
22
+ - (void)start:(CLLocationDistance)minDisplacement;
23
+ - (void)stop;
24
+ - (void)setMinDisplacement:(CLLocationDistance)minDisplacement;
25
+ - (BOOL)isEnabled;
26
+ - (RCTMGLLocation *)getLastKnownLocation;
27
+ - (void)addListener:(RCTMGLLocationBlock)listener;
28
+ - (void)removeListener:(RCTMGLLocationBlock)listener;
29
+
30
+ @end
@@ -0,0 +1,180 @@
1
+ //
2
+ // RCTMGLLocationManager.m
3
+ // RCTMGL
4
+ //
5
+ // Created by Nick Italiano on 6/21/18.
6
+ // Copyright © 2018 Mapbox Inc. All rights reserved.
7
+ //
8
+
9
+ #import <CoreLocation/CoreLocation.h>
10
+ #import "RCTMGLLocationManager.h"
11
+
12
+ @interface RCTMGLLocationManager()<CLLocationManagerDelegate>
13
+ @end
14
+
15
+ @implementation RCTMGLLocationManager
16
+ {
17
+ CLLocationManager *locationManager;
18
+ CLLocation *lastKnownLocation;
19
+ CLHeading *lastKnownHeading;
20
+ CLLocationDistance displacement;
21
+ NSMutableArray<RCTMGLLocationBlock> *listeners;
22
+ BOOL isListening;
23
+ }
24
+
25
+ + (id)sharedInstance
26
+ {
27
+ static RCTMGLLocationManager *manager = nil;
28
+ static dispatch_once_t onceToken;
29
+ dispatch_once(&onceToken, ^{ manager = [[self alloc] init]; });
30
+ return manager;
31
+ }
32
+
33
+ - (instancetype)init
34
+ {
35
+ if (self = [super init]) {
36
+ [self _setupLocationManager];
37
+ listeners = [[NSMutableArray alloc] init];
38
+ displacement = 0.0;
39
+ }
40
+ return self;
41
+ }
42
+
43
+ - (void)dealloc
44
+ {
45
+ locationManager.delegate = nil;
46
+ [self stop];
47
+ }
48
+
49
+ - (void)start:(CLLocationDistance)minDisplacement
50
+ {
51
+
52
+ displacement = minDisplacement;
53
+
54
+ if ([self isEnabled]) {
55
+ return;
56
+ }
57
+
58
+ dispatch_async(dispatch_get_main_queue(), ^{
59
+ [self->locationManager requestWhenInUseAuthorization];
60
+ [self->locationManager startUpdatingLocation];
61
+ [self->locationManager startUpdatingHeading];
62
+ [self->locationManager setDistanceFilter:(minDisplacement)];
63
+ self->isListening = YES;
64
+ });
65
+ }
66
+
67
+ - (void)setMinDisplacement:(CLLocationDistance)minDisplacement
68
+ {
69
+
70
+ displacement = minDisplacement;
71
+
72
+ dispatch_async(dispatch_get_main_queue(), ^{
73
+ [self->locationManager setDistanceFilter:(minDisplacement)];
74
+ });
75
+ }
76
+
77
+ - (void)stop
78
+ {
79
+ if (![self isEnabled]) {
80
+ return;
81
+ }
82
+
83
+ dispatch_async(dispatch_get_main_queue(), ^{
84
+ [self->locationManager stopUpdatingLocation];
85
+ [self->locationManager stopUpdatingHeading];
86
+ self->isListening = NO;
87
+ });
88
+ }
89
+
90
+ - (BOOL)isEnabled
91
+ {
92
+ return isListening;
93
+ }
94
+
95
+ - (RCTMGLLocation *)getLastKnownLocation
96
+ {
97
+ CLLocation* newLastLocation = locationManager.location;
98
+ if (newLastLocation) {
99
+ lastKnownLocation = newLastLocation;
100
+ }
101
+ RCTMGLLocation *location = [self _convertToMapboxLocation:lastKnownLocation];
102
+ return location;
103
+ }
104
+
105
+ - (void)addListener:(RCTMGLLocationBlock)listener
106
+ {
107
+ if (![listeners containsObject:listener]) {
108
+ [listeners addObject:listener];
109
+ }
110
+ }
111
+
112
+ - (void)removeListener:(RCTMGLLocationBlock)listener
113
+ {
114
+ NSUInteger indexOf = [listeners indexOfObject:listener];
115
+
116
+ if (indexOf == NSNotFound) {
117
+ return;
118
+ }
119
+
120
+ [listeners removeObjectAtIndex:indexOf];
121
+ }
122
+
123
+ - (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)heading
124
+ {
125
+ lastKnownHeading = heading;
126
+
127
+ if (displacement > 0) {
128
+ return;
129
+ }
130
+
131
+ [self _updateDelegate];
132
+ }
133
+
134
+ - (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray<CLLocation *> *)locations
135
+ {
136
+ lastKnownLocation = [locations lastObject];
137
+ [self _updateDelegate];
138
+ }
139
+
140
+ - (void)_setupLocationManager
141
+ {
142
+ __weak RCTMGLLocationManager *weakSelf = self;
143
+
144
+ dispatch_async(dispatch_get_main_queue(), ^{
145
+ self->locationManager = [[CLLocationManager alloc] init];
146
+ self->locationManager.delegate = weakSelf;
147
+ });
148
+ }
149
+
150
+ - (void)_updateDelegate
151
+ {
152
+ if (_delegate == nil) {
153
+ return;
154
+ }
155
+
156
+ RCTMGLLocation *userLocation = [self _convertToMapboxLocation:lastKnownLocation];
157
+
158
+ if (listeners.count > 0) {
159
+ for (int i = 0; i < listeners.count; i++) {
160
+ RCTMGLLocationBlock listener = listeners[i];
161
+ listener(userLocation);
162
+ }
163
+ }
164
+
165
+ [_delegate locationManager:self didUpdateLocation:userLocation];
166
+ }
167
+
168
+ - (RCTMGLLocation *)_convertToMapboxLocation:(CLLocation *)location
169
+ {
170
+ if (location == nil) {
171
+ return nil;
172
+ }
173
+
174
+ RCTMGLLocation *userLocation = [[RCTMGLLocation alloc] init];
175
+ userLocation.location = location;
176
+ userLocation.heading = lastKnownHeading;
177
+ return userLocation;
178
+ }
179
+
180
+ @end
@@ -0,0 +1,20 @@
1
+ //
2
+ // RCTMGLLocationManagerDelegate.h
3
+ // RCTMGL
4
+ //
5
+ // Created by Nick Italiano on 6/21/18.
6
+ // Copyright © 2018 Mapbox Inc. All rights reserved.
7
+ //
8
+
9
+ #import <CoreLocation/CoreLocation.h>
10
+
11
+ #import "RCTMGLLocation.h"
12
+
13
+ @class RCTMGLLocationManager;
14
+
15
+ @protocol RCTMGLLocationManagerDelegate<NSObject>
16
+
17
+ - (void)locationManager:(RCTMGLLocationManager *)locationManager didUpdateLocation:(RCTMGLLocation *)location;
18
+
19
+ @end
20
+
@@ -0,0 +1,15 @@
1
+ //
2
+ // RCTMGLLocationManager.h
3
+ // RCTMGL
4
+ //
5
+ // Created by Nick Italiano on 6/21/18.
6
+ // Copyright © 2018 Mapbox Inc. All rights reserved.
7
+ //
8
+
9
+ #import <Foundation/Foundation.h>
10
+ #import <React/RCTBridgeModule.h>
11
+ #import <React/RCTEventEmitter.h>
12
+
13
+ @interface RCTMGLLocationModule : RCTEventEmitter<RCTBridgeModule>
14
+
15
+ @end
@@ -0,0 +1,99 @@
1
+ //
2
+ // RCTMGLLocationManager.m
3
+ // RCTMGL
4
+ //
5
+ // Created by Nick Italiano on 6/21/18.
6
+ // Copyright © 2018 Mapbox Inc. All rights reserved.
7
+ //
8
+
9
+ #import <CoreLocation/CoreLocation.h>
10
+
11
+ #import "RCTMGLLocation.h"
12
+ #import "RCTMGLLocationModule.h"
13
+ #import "RCTMGLLocationManager.h"
14
+ #import "RCTMGLLocationManagerDelegate.h"
15
+ #import "RCTMGLEventTypes.h"
16
+
17
+ @interface RCTMGLLocationModule() <RCTMGLLocationManagerDelegate>
18
+ @end
19
+
20
+ @implementation RCTMGLLocationModule
21
+ {
22
+ RCTMGLLocationManager *locationManager;
23
+ BOOL hasListeners;
24
+ }
25
+
26
+ RCT_EXPORT_MODULE();
27
+
28
+ + (BOOL)requiresMainQueueSetup
29
+ {
30
+ return NO;
31
+ }
32
+
33
+ - (instancetype)init
34
+ {
35
+ if (self = [super init]) {
36
+ locationManager = [[RCTMGLLocationManager alloc] init];
37
+ locationManager.delegate = self;
38
+ }
39
+ return self;
40
+ }
41
+
42
+ - (void)startObserving
43
+ {
44
+ [super startObserving];
45
+ hasListeners = YES;
46
+ }
47
+
48
+ - (void)stopObserving
49
+ {
50
+ [super stopObserving];
51
+ hasListeners = NO;
52
+ }
53
+
54
+ - (NSArray<NSString *> *)supportedEvents
55
+ {
56
+ return @[RCT_MAPBOX_USER_LOCATION_UPDATE];
57
+ }
58
+
59
+ RCT_EXPORT_METHOD(start:(CLLocationDistance)minDisplacement)
60
+ {
61
+ [locationManager start:minDisplacement];
62
+ }
63
+
64
+ RCT_EXPORT_METHOD(pause)
65
+ {
66
+ [locationManager stop];
67
+ }
68
+
69
+ RCT_EXPORT_METHOD(stop)
70
+ {
71
+ [locationManager stop];
72
+ }
73
+
74
+ RCT_EXPORT_METHOD(setMinDisplacement:(CLLocationDistance)minDisplacement)
75
+ {
76
+ [locationManager setMinDisplacement:minDisplacement];
77
+ }
78
+
79
+ RCT_EXPORT_METHOD(getLastKnownLocation:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
80
+ {
81
+ RCTMGLLocation *lastKnownLocation = [locationManager getLastKnownLocation];
82
+ resolve(lastKnownLocation);
83
+ }
84
+
85
+ - (void)locationManager:(RCTMGLLocationManager *)locationManager didUpdateLocation:(RCTMGLLocation *)location
86
+ {
87
+ if (!hasListeners) {
88
+ return;
89
+ }
90
+
91
+ if (self.bridge == nil) {
92
+ return;
93
+ }
94
+
95
+ [self sendEventWithName:RCT_MAPBOX_USER_LOCATION_UPDATE body:[location toJSON]];
96
+ }
97
+
98
+ @end
99
+
@@ -0,0 +1,18 @@
1
+ #ifndef RCTMGLLogging_h
2
+ #define RCTMGLLogging_h
3
+
4
+ #import <Foundation/Foundation.h>
5
+ #import <React/RCTEventEmitter.h>
6
+
7
+
8
+ @class MGLLoggingConfiguration;
9
+
10
+ @interface RCTMGLLogging : RCTEventEmitter <RCTBridgeModule>
11
+
12
+ @property (nonatomic, nonnull) MGLLoggingConfiguration* loggingConfiguration;
13
+
14
+ - (void)setLoggingLevel:(nonnull NSString*) logLevel;
15
+
16
+ @end
17
+
18
+ #endif /* RCTMGLLogging_h */
@@ -0,0 +1,132 @@
1
+ #import "RCTMGLLogging.h"
2
+
3
+ @import Mapbox;
4
+
5
+ @interface RCTMGLLogging()
6
+ @property (nonatomic) BOOL hasListeners;
7
+ @end
8
+
9
+ @implementation RCTMGLLogging
10
+
11
+ + (id)allocWithZone:(NSZone *)zone {
12
+ static RCTMGLLogging *sharedInstance = nil;
13
+ static dispatch_once_t onceToken;
14
+ dispatch_once(&onceToken, ^{
15
+ sharedInstance = [super allocWithZone:zone];
16
+ });
17
+ return sharedInstance;
18
+ }
19
+
20
+ -(id)init {
21
+ if ( self = [super init] ) {
22
+ self.loggingConfiguration = [MGLLoggingConfiguration sharedConfiguration];
23
+ [self.loggingConfiguration setLoggingLevel:MGLLoggingLevelWarning];
24
+ __weak typeof(self) weakSelf = self;
25
+ self.loggingConfiguration.handler = ^(MGLLoggingLevel loggingLevel, NSString *filePath, NSUInteger line, NSString *message) {
26
+ [weakSelf sendLogWithLevel:loggingLevel filePath: filePath line: line message: message];
27
+ };
28
+ }
29
+ return self;
30
+ }
31
+
32
+ RCT_EXPORT_MODULE();
33
+
34
+ + (BOOL)requiresMainQueueSetup
35
+ {
36
+ return YES;
37
+ }
38
+
39
+ - (NSArray<NSString *> *)supportedEvents
40
+ {
41
+ return @[@"LogEvent"];
42
+ }
43
+
44
+ - (void)startObserving
45
+ {
46
+ [super startObserving];
47
+ self.hasListeners = true;
48
+ }
49
+
50
+ - (void)stopObserving
51
+ {
52
+ [super stopObserving];
53
+ self.hasListeners = false;
54
+ }
55
+
56
+ - (void)sendLogWithLevel:(MGLLoggingLevel)loggingLevel filePath:(NSString*)filePath line:(NSUInteger)line message:(NSString*)message
57
+ {
58
+ if (!self.hasListeners) return;
59
+
60
+ NSString* level = @"n/a";
61
+ switch (loggingLevel) {
62
+ case MGLLoggingLevelInfo:
63
+ level = @"info";
64
+ break;
65
+ case MGLLoggingLevelError:
66
+ level = @"error";
67
+ break;
68
+ #if MGL_LOGGING_ENABLE_DEBUG
69
+ case MGLLoggingLevelDebug:
70
+ level = @"debug";
71
+ break;
72
+ #endif
73
+ case MGLLoggingLevelWarning:
74
+ level = @"warning";
75
+ break;
76
+ case MGLLoggingLevelNone:
77
+ level = @"none";
78
+ break;
79
+ case MGLLoggingLevelFault:
80
+ level = @"fault";
81
+ break;
82
+ case MGLLoggingLevelVerbose:
83
+ level = @"verbose";
84
+ break;
85
+ }
86
+
87
+ NSString* type = nil;
88
+ if ([message hasPrefix:@"Failed to load glyph range"]) {
89
+ type = @"missing_font";
90
+ }
91
+
92
+ NSMutableDictionary* body = [@{
93
+ @"level": level,
94
+ @"message": message,
95
+ @"filePath": filePath,
96
+ @"line": @(line)
97
+ } mutableCopy];
98
+
99
+ if (type != nil) {
100
+ body[@"type"] = type;
101
+ }
102
+ [self sendEventWithName:@"LogEvent" body:body];
103
+ }
104
+
105
+ RCT_EXPORT_METHOD(setLogLevel: (nonnull NSString*)logLevel)
106
+ {
107
+ MGLLoggingLevel mglLogLevel = MGLLoggingLevelNone;
108
+ if ([logLevel isEqualToString:@"none"]) {
109
+ mglLogLevel = MGLLoggingLevelNone;
110
+ } else if ([logLevel isEqualToString:@"debug"]) {
111
+ mglLogLevel = MGLLoggingLevelInfo;
112
+ } else if ([logLevel isEqualToString:@"fault"]) {
113
+ mglLogLevel = MGLLoggingLevelFault;
114
+ } else if ([logLevel isEqualToString:@"error"]) {
115
+ mglLogLevel = MGLLoggingLevelError;
116
+ } else if ([logLevel isEqualToString:@"warning"]) {
117
+ mglLogLevel = MGLLoggingLevelWarning;
118
+ } else if ([logLevel isEqualToString:@"info"]) {
119
+ mglLogLevel = MGLLoggingLevelInfo;
120
+ } else if ([logLevel isEqualToString:@"debug"]) {
121
+ #if MGL_LOGGING_ENABLE_DEBUG
122
+ mglLogLevel = MGLLoggingLevelDebug;
123
+ #else
124
+ mglLogLevel = MGLLoggingLevelVerbose;
125
+ #endif
126
+ } else if ([logLevel isEqualToString:@"verbose"]) {
127
+ mglLogLevel = MGLLoggingLevelVerbose;
128
+ }
129
+ self.loggingConfiguration.loggingLevel = mglLogLevel;
130
+ }
131
+
132
+ @end
@@ -0,0 +1,25 @@
1
+ //
2
+ // RCTMGLTouchEvent.h
3
+ // RCTMGL
4
+ //
5
+ // Created by Nick Italiano on 8/25/17.
6
+ // Copyright © 2017 Mapbox Inc. All rights reserved.
7
+ //
8
+
9
+ #import <Foundation/Foundation.h>
10
+ #import "RCTMGLEvent.h"
11
+ #import "RCTMGLPointAnnotation.h"
12
+ @import Mapbox;
13
+
14
+ @interface RCTMGLMapTouchEvent : RCTMGLEvent
15
+
16
+ @property (nonatomic, copy) NSString *id;
17
+ @property (nonatomic, assign) CLLocationCoordinate2D coordinate;
18
+ @property (nonatomic, assign) CGPoint screenPoint;
19
+
20
+ + (RCTMGLMapTouchEvent*)makeTapEvent:(MGLMapView*)mapView withPoint:(CGPoint)point;
21
+ + (RCTMGLMapTouchEvent*)makeLongPressEvent:(MGLMapView*)mapView withPoint:(CGPoint)point;
22
+ + (RCTMGLMapTouchEvent *)makeAnnotationTapEvent:(RCTMGLPointAnnotation *)pointAnnotation;
23
+ + (RCTMGLMapTouchEvent *)makeAnnotationTapEventOnDrag:(RCTMGLPointAnnotation *)pointAnnotation;
24
+
25
+ @end
@@ -0,0 +1,77 @@
1
+ //
2
+ // RCTMGLTouchEvent.m
3
+ // RCTMGL
4
+ //
5
+ // Created by Nick Italiano on 8/25/17.
6
+ // Copyright © 2017 Mapbox Inc. All rights reserved.
7
+ //
8
+
9
+ #import "RCTMGLMapTouchEvent.h"
10
+ #import "RCTMGLEventTypes.h"
11
+ #import "RCTMGLPointAnnotation.h"
12
+ @import Mapbox;
13
+
14
+ @implementation RCTMGLMapTouchEvent
15
+
16
+ - (NSDictionary*)payload
17
+ {
18
+ MGLPointFeature *feature = [[MGLPointFeature alloc] init];
19
+ feature.coordinate = _coordinate;
20
+ if (_id == nil) {
21
+ feature.attributes = @{
22
+ @"screenPointX": [NSNumber numberWithDouble:_screenPoint.x],
23
+ @"screenPointY":[NSNumber numberWithDouble:_screenPoint.y]
24
+ };
25
+ } else {
26
+ feature.attributes = @{
27
+ @"id": _id,
28
+ @"screenPointX": [NSNumber numberWithDouble:_screenPoint.x],
29
+ @"screenPointY":[NSNumber numberWithDouble:_screenPoint.y]
30
+ };
31
+ }
32
+ return [feature geoJSONDictionary];
33
+ }
34
+
35
+ + (RCTMGLMapTouchEvent*)makeTapEvent:(MGLMapView*)mapView withPoint:(CGPoint)point
36
+ {
37
+ return [RCTMGLMapTouchEvent _fromPoint:point withMapView:mapView andEventType:RCT_MAPBOX_EVENT_TAP];
38
+ }
39
+
40
+ + (RCTMGLMapTouchEvent*)makeLongPressEvent:(MGLMapView*)mapView withPoint:(CGPoint)point
41
+ {
42
+ return [RCTMGLMapTouchEvent _fromPoint:point withMapView:mapView andEventType:RCT_MAPBOX_EVENT_LONGPRESS];
43
+ }
44
+
45
+ + (RCTMGLMapTouchEvent *)makeAnnotationTapEvent:(RCTMGLPointAnnotation *)pointAnnotation
46
+ {
47
+ RCTMGLMapTouchEvent *event = [[RCTMGLMapTouchEvent alloc] init];
48
+ event.type = RCT_MAPBOX_ANNOTATION_TAP;
49
+ event.id = pointAnnotation.id;
50
+ event.coordinate = pointAnnotation.coordinate;
51
+ event.screenPoint = [pointAnnotation.superview convertPoint:pointAnnotation.frame.origin toView:nil];
52
+ return event;
53
+ }
54
+
55
+ + (RCTMGLMapTouchEvent *)makeAnnotationTapEventOnDrag:(RCTMGLPointAnnotation *)pointAnnotation
56
+ {
57
+ RCTMGLMapTouchEvent *event = [[RCTMGLMapTouchEvent alloc] init];
58
+ event.type = RCT_MAPBOX_ANNOTATION_TAP;
59
+ event.id = pointAnnotation.id;
60
+ CGPoint screenPoint = [pointAnnotation.superview convertPoint:pointAnnotation.layer.position toView:nil];
61
+ screenPoint.x -= (pointAnnotation.layer.bounds.size.width * pointAnnotation.layer.anchorPoint.x);
62
+ screenPoint.y -= (pointAnnotation.layer.bounds.size.height * pointAnnotation.layer.anchorPoint.y);
63
+ event.screenPoint = screenPoint;
64
+ event.coordinate = [pointAnnotation.map convertPoint:pointAnnotation.layer.position toCoordinateFromView:pointAnnotation.map];
65
+ return event;
66
+ }
67
+
68
+ + (RCTMGLMapTouchEvent*)_fromPoint:(CGPoint)point withMapView:(MGLMapView *)mapView andEventType:(NSString*)eventType
69
+ {
70
+ RCTMGLMapTouchEvent *event = [[RCTMGLMapTouchEvent alloc] init];
71
+ event.type = eventType;
72
+ event.coordinate = [mapView convertPoint:point toCoordinateFromView:mapView];
73
+ event.screenPoint = point;
74
+ return event;
75
+ }
76
+
77
+ @end
@@ -0,0 +1,91 @@
1
+ //
2
+ // RCTMGLMapView.h
3
+ // RCTMGL
4
+ //
5
+ // Created by Nick Italiano on 8/23/17.
6
+ // Copyright © 2017 Mapbox Inc. All rights reserved.
7
+ //
8
+
9
+ #import <React/RCTComponent.h>
10
+ #import "RCTMGLSource.h"
11
+ #import "RCTMGLShapeSource.h"
12
+ #import "RCTMGLPointAnnotation.h"
13
+ #import "RCTMGLLight.h"
14
+
15
+ @import Mapbox;
16
+
17
+ @class CameraUpdateQueue;
18
+ @class RCTMGLImages;
19
+ @class RCTMGLLogging;
20
+
21
+ @protocol RCTMGLMapViewCamera<NSObject>
22
+ - (void)initialLayout;
23
+ - (void)didChangeUserTrackingMode:(MGLUserTrackingMode)mode animated:(BOOL)animated;
24
+ @end
25
+
26
+ typedef void (^FoundLayerBlock) (MGLStyleLayer* __nonnull layer);
27
+ typedef void (^StyleLoadedBlock) (MGLStyle* __nonnull style);
28
+
29
+ @interface RCTMGLMapView : MGLMapView<RCTInvalidating>
30
+
31
+ @property (nonatomic, strong, nonnull) RCTMGLLogging* logging;
32
+ @property (nonatomic, strong) CameraUpdateQueue *cameraUpdateQueue;
33
+ @property (nonatomic, weak) id<RCTMGLMapViewCamera> reactCamera;
34
+ @property (nonatomic, strong) NSMutableArray<id<RCTComponent>> *reactSubviews;
35
+ @property (nonatomic, strong) NSMutableArray<RCTMGLSource*> *sources;
36
+ @property (nonatomic, strong) NSMutableArray<RCTMGLImages*> *images;
37
+ @property (nonatomic, strong) NSMutableArray<RCTMGLLayer*> *layers;
38
+ @property (nonatomic, strong) NSMutableArray<RCTMGLPointAnnotation*> *pointAnnotations;
39
+ @property (nonatomic, strong) RCTMGLLight *light;
40
+ @property (nonatomic, copy) NSArray<NSNumber *> *reactContentInset;
41
+
42
+ @property (nonatomic, strong) NSMutableDictionary<NSString*, NSMutableArray<FoundLayerBlock>*> *layerWaiters;
43
+ @property (nonatomic, strong) NSMutableArray<StyleLoadedBlock> *styleWaiters;
44
+
45
+ @property (nonatomic, assign) BOOL reactLocalizeLabels;
46
+ @property (nonatomic, assign) BOOL reactScrollEnabled;
47
+ @property (nonatomic, assign) BOOL reactPitchEnabled;
48
+ @property (nonatomic, assign) BOOL reactRotateEnabled;
49
+ @property (nonatomic, assign) BOOL reactAttributionEnabled;
50
+ @property (nonatomic, strong) NSDictionary<NSString *, NSNumber *> *reactAttributionPosition;
51
+ @property (nonatomic, assign) BOOL reactLogoEnabled;
52
+ @property (nonatomic, assign) BOOL reactCompassEnabled;
53
+ @property (nonatomic, assign) BOOL reactZoomEnabled;
54
+
55
+ @property (nonatomic, assign) NSInteger *reactCompassViewPosition;
56
+ @property (nonatomic, assign) CGPoint reactCompassViewMargins;
57
+
58
+ @property (nonatomic, copy) NSString *reactStyleURL;
59
+ @property (nonatomic, assign) NSInteger reactPreferredFramesPerSecond;
60
+
61
+ @property (nonatomic, assign) MGLCoordinateBounds maxBounds;
62
+
63
+ @property (nonatomic, assign) BOOL isUserInteraction;
64
+ @property (nonatomic, assign) BOOL useNativeUserLocationAnnotationView;
65
+
66
+ @property (nonatomic, copy) RCTBubblingEventBlock onPress;
67
+ @property (nonatomic, copy) RCTBubblingEventBlock onLongPress;
68
+ @property (nonatomic, copy) RCTBubblingEventBlock onMapChange;
69
+
70
+
71
+ - (void)layerAdded:(MGLStyleLayer*) layer;
72
+
73
+ - (CLLocationDistance)getMetersPerPixelAtLatitude:(double)latitude withZoom:(double)zoomLevel;
74
+ - (CLLocationDistance)altitudeFromZoom:(double)zoomLevel;
75
+ - (CLLocationDistance)altitudeFromZoom:(double)zoomLevel atLatitude:(CLLocationDegrees)latitude;
76
+ - (CLLocationDistance)altitudeFromZoom:(double)zoomLevel atLatitude:(CLLocationDegrees)latitude atPitch:(CGFloat)pitch;
77
+ - (RCTMGLPointAnnotation*)getRCTPointAnnotation:(MGLPointAnnotation*)mglAnnotation;
78
+ - (NSArray<RCTMGLSource *> *)getAllTouchableSources;
79
+ - (NSArray<RCTMGLSource *> *)getAllShapeSources;
80
+ - (NSArray<RCTMGLImages *> *)getAllImages;
81
+ - (RCTMGLSource *)getTouchableSourceWithHighestZIndex:(NSArray<RCTMGLSource *> *)touchableSources;
82
+ - (NSString *)takeSnap:(BOOL)writeToDisk;
83
+ - (void)didChangeUserTrackingMode:(MGLUserTrackingMode)mode animated:(BOOL)animated;
84
+
85
+ - (void)waitForLayerWithID:(nonnull NSString*)layerID then:(void (^ _Nonnull)(MGLStyleLayer* _Nonnull layer))foundLayer;
86
+
87
+ - (void)setSourceVisibility:(BOOL)visiblity sourceId:(nonnull NSString*)sourceId sourceLayerId:(nullable NSString*)sourceLayerId;
88
+
89
+ - (void)notifyStyleLoaded;
90
+
91
+ @end