@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,27 @@
1
+ //
2
+ // RCTMGLStyleValue.h
3
+ // RCTMGL
4
+ //
5
+ // Created by Nick Italiano on 9/11/17.
6
+ // Copyright © 2017 Mapbox Inc. All rights reserved.
7
+ //
8
+
9
+ #import <Foundation/Foundation.h>
10
+ @import Mapbox;
11
+
12
+ @interface RCTMGLStyleValue : NSObject
13
+
14
+ @property (nonatomic, strong) NSString *styleType;
15
+ @property (nonatomic, strong) NSDictionary *rawStyleValue;
16
+ @property (nonatomic, readonly) NSExpression *mglStyleValue;
17
+
18
+ - (BOOL)shouldAddImage;
19
+ - (NSString *)getImageURI;
20
+ - (double)getImageScale;
21
+ - (MGLTransition)getTransition;
22
+ - (NSExpression *)getSphericalPosition;
23
+ - (BOOL)isVisible;
24
+
25
+ + (RCTMGLStyleValue*)make:(NSString*)expressionJSONStr;
26
+
27
+ @end
@@ -0,0 +1,167 @@
1
+ //
2
+ // RCTMGLStyleValue.m
3
+ // RCTMGL
4
+ //
5
+ // Created by Nick Italiano on 9/11/17.
6
+ // Copyright © 2017 Mapbox Inc. All rights reserved.
7
+ //
8
+
9
+ #import "RCTMGLStyleValue.h"
10
+ #import "RCTMGLUtils.h"
11
+ #import <React/RCTImageLoader.h>
12
+
13
+ @implementation RCTMGLStyleValue
14
+ {
15
+ NSObject *expressionJSON;
16
+ }
17
+
18
+ - (NSExpression *)mglStyleValue
19
+ {
20
+ if ([_styleType isEqualToString:@"color"] && [expressionJSON respondsToSelector:@selector(objectEnumerator)] && [[[(NSArray*)expressionJSON objectEnumerator] nextObject] isKindOfClass:[NSNumber class]]) {
21
+ UIColor *color = [RCTMGLUtils toColor:expressionJSON];
22
+ return [NSExpression expressionWithMGLJSONObject:color];
23
+ } else if ([_styleType isEqualToString:@"color"] && [expressionJSON isKindOfClass:[NSNumber class]]) {
24
+
25
+ UIColor *color = [RCTMGLUtils toColor:expressionJSON];
26
+ return [NSExpression expressionWithMGLJSONObject:color];
27
+ } else if ([_styleType isEqualToString:@"vector"] && [expressionJSON respondsToSelector:@selector(objectEnumerator)] && [[[(NSArray*)expressionJSON objectEnumerator] nextObject] isKindOfClass:[NSNumber class]]) {
28
+ CGVector vector = [RCTMGLUtils toCGVector:(NSArray<NSNumber *> *)expressionJSON];
29
+ return [NSExpression expressionWithMGLJSONObject:[NSValue valueWithCGVector:vector]];
30
+ } else if ([_styleType isEqualToString:@"image"] && [expressionJSON isKindOfClass:[NSDictionary class]]) {
31
+ return [NSExpression expressionForConstantValue:[self getImageURI]];
32
+ } else if ([_styleType isEqual:@"edgeinsets"] && [expressionJSON respondsToSelector:@selector(objectEnumerator)] && [[[(NSArray*)expressionJSON objectEnumerator] nextObject] isKindOfClass:[NSNumber class]]){
33
+ UIEdgeInsets edgeInsets = [RCTMGLUtils toUIEdgeInsets:(NSArray<NSNumber *> *)expressionJSON];
34
+ return [NSExpression expressionWithMGLJSONObject:[NSValue valueWithUIEdgeInsets:edgeInsets]];
35
+ } else if ([_styleType isEqualToString:@"enum"] && [expressionJSON isKindOfClass:[NSNumber class]]) {
36
+ // ensure we pass through values as NSUInteger when mapping to an MGL enum
37
+ NSUInteger uintValue = [(NSNumber*)expressionJSON unsignedIntegerValue];
38
+ id rawValue = [NSValue value:&uintValue withObjCType:@encode(NSUInteger)];
39
+ return [NSExpression expressionWithMGLJSONObject:rawValue];
40
+ } else if ([expressionJSON respondsToSelector:@selector(objectEnumerator)] && [[[(NSArray*)expressionJSON objectEnumerator] nextObject] isKindOfClass:[NSNumber class]]) {
41
+ return [NSExpression expressionForConstantValue:expressionJSON];
42
+ } else {
43
+ return [NSExpression expressionWithMGLJSONObject:expressionJSON];
44
+ }
45
+ }
46
+
47
+ - (void)setStyleObject:(NSObject *)object
48
+ {
49
+ expressionJSON = object;
50
+ }
51
+
52
+ - (NSObject *)parse:(NSDictionary *)rawStyleValue
53
+ {
54
+ NSObject *object = nil;
55
+ NSString *type = (NSString *)rawStyleValue[@"type"];
56
+
57
+ if ([type isEqualToString:@"string"]) {
58
+ object = (NSString *)rawStyleValue[@"value"];
59
+ } else if ([type isEqualToString:@"number"]) {
60
+ object = (NSNumber *)rawStyleValue[@"value"];
61
+ } else if ([type isEqualToString:@"boolean"]) {
62
+ object = rawStyleValue[@"value"];
63
+ } else if ([type isEqualToString:@"hashmap"]) {
64
+ NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
65
+ NSArray *values = (NSArray *)rawStyleValue[@"value"];
66
+
67
+ for (int i = 0; i < values.count; i++) {
68
+ NSObject *key = [self parse:values[i][0]];
69
+ NSObject *value = [self parse:values[i][1]];
70
+ dict[[key mutableCopy]] = value;
71
+ }
72
+
73
+ object = dict;
74
+ } else if ([type isEqualToString:@"array"]) {
75
+ NSMutableArray *arr = [[NSMutableArray alloc] init];
76
+ NSArray *values = (NSArray *)rawStyleValue[@"value"];
77
+
78
+ for (int i = 0; i < values.count; i++) {
79
+ [arr addObject:[self parse:values[i]]];
80
+ }
81
+
82
+ object = arr;
83
+ }
84
+
85
+ return object;
86
+ }
87
+
88
+
89
+
90
+ - (BOOL)shouldAddImage
91
+ {
92
+ NSString *imageURI = [self getImageURI];
93
+
94
+ return [imageURI containsString:@"://"];
95
+ }
96
+
97
+ - (NSString *)getImageURI
98
+ {
99
+ if ([expressionJSON isKindOfClass:[NSDictionary class]]) {
100
+ return [expressionJSON valueForKey:@"uri"];
101
+ } else if ([expressionJSON isKindOfClass:[NSArray class]]) {
102
+ return nil;
103
+ } else {
104
+ return (NSString *)expressionJSON;
105
+ }
106
+ }
107
+
108
+ - (double)getImageScale
109
+ {
110
+ if ([expressionJSON isKindOfClass:[NSDictionary class]]) {
111
+ id scale = [expressionJSON valueForKey:@"scale"];
112
+ if ([scale isKindOfClass:[NSNumber class]]) {
113
+ return [scale doubleValue];
114
+ } else {
115
+ return 1.0;
116
+ }
117
+ } else {
118
+ return 1.0;
119
+ }
120
+ }
121
+
122
+ - (MGLTransition)getTransition
123
+ {
124
+ if (![expressionJSON isKindOfClass:[NSDictionary class]]) {
125
+ return MGLTransitionMake(0.f, 0.f);
126
+ }
127
+
128
+ NSDictionary *config = (NSDictionary *)expressionJSON;
129
+ double duration = config[@"duration"] != nil ? [config[@"duration"] doubleValue] : 300.0;
130
+ double delay = config[@"delay"] != nil ? [config[@"delay"] doubleValue] : 0.0;
131
+
132
+ const double millisecondsToSeconds = 1.0/1000.0;
133
+
134
+ return MGLTransitionMake(duration * millisecondsToSeconds, delay * millisecondsToSeconds);
135
+ }
136
+
137
+ - (NSExpression *)getSphericalPosition
138
+ {
139
+ NSArray *values = (NSArray<NSNumber *> *)expressionJSON;
140
+
141
+ CGFloat radial = [values[0] floatValue];
142
+ CLLocationDistance azimuthal = [values[1] doubleValue];
143
+ CLLocationDistance polar = [values[2] doubleValue];
144
+
145
+ MGLSphericalPosition pos = MGLSphericalPositionMake(radial, azimuthal, polar);
146
+ return [NSExpression expressionWithMGLJSONObject:@(pos)];
147
+ }
148
+
149
+ - (BOOL)isVisible
150
+ {
151
+ if ([expressionJSON isKindOfClass:[NSString class]]) {
152
+ NSString *visible = (NSString *)expressionJSON;
153
+ return [visible isEqualToString:@"visible"];
154
+ }
155
+ return YES;
156
+ }
157
+
158
+ + (RCTMGLStyleValue*)make:(NSDictionary*)rawStyleValue;
159
+ {
160
+ RCTMGLStyleValue *styleValue = [[RCTMGLStyleValue alloc] init];
161
+ styleValue.styleType = (NSString *)rawStyleValue[@"styletype"];
162
+ NSObject *object = [styleValue parse:(NSDictionary *)rawStyleValue[@"stylevalue"]];
163
+ [styleValue setStyleObject:object];
164
+ return styleValue;
165
+ }
166
+
167
+ @end
@@ -0,0 +1,19 @@
1
+ //
2
+ // RCTMGLSymbolLayer.h
3
+ // RCTMGL
4
+ //
5
+ // Created by Nick Italiano on 9/19/17.
6
+ // Copyright © 2017 Mapbox Inc. All rights reserved.
7
+ //
8
+
9
+ #import <React/RCTComponent.h>
10
+ #import "RCTMGLVectorLayer.h"
11
+
12
+ @interface RCTMGLSymbolLayer : RCTMGLVectorLayer<RCTInvalidating>
13
+
14
+ @property (nonatomic, strong) NSMutableArray<id<RCTComponent>> *reactSubviews;
15
+
16
+ @property (nonatomic, assign) BOOL snapshot;
17
+ @property (nonatomic, copy) NSString *sourceLayerID;
18
+
19
+ @end
@@ -0,0 +1,121 @@
1
+ //
2
+ // RCTMGLSymbolLayer.m
3
+ // RCTMGL
4
+ //
5
+ // Created by Nick Italiano on 9/19/17.
6
+ // Copyright © 2017 Mapbox Inc. All rights reserved.
7
+ //
8
+
9
+ #import "RCTMGLSymbolLayer.h"
10
+ #import "RCTMGLStyle.h"
11
+ #import <React/UIView+React.h>
12
+ #import <React/RCTLog.h>
13
+
14
+ @implementation RCTMGLSymbolLayer
15
+
16
+ - (instancetype)initWithFrame:(CGRect)frame
17
+ {
18
+ if (self = [super initWithFrame:frame]) {
19
+ _reactSubviews = [[NSMutableArray alloc] init];
20
+ }
21
+ return self;
22
+ }
23
+
24
+ - (void)invalidate
25
+ {
26
+ if (_snapshot == YES && self.style != nil) {
27
+ [self.style removeImageForName:self.id];
28
+ }
29
+ }
30
+
31
+ #pragma clang diagnostic push
32
+ #pragma clang diagnostic ignored "-Wobjc-missing-super-calls"
33
+ - (void)insertReactSubview:(id<RCTComponent>)subview atIndex:(NSInteger)atIndex {
34
+ [_reactSubviews insertObject:(UIView *)subview atIndex:(NSUInteger) atIndex];
35
+ }
36
+ #pragma clang diagnostic pop
37
+
38
+ #pragma clang diagnostic push
39
+ #pragma clang diagnostic ignored "-Wobjc-missing-super-calls"
40
+ - (void)removeReactSubview:(id<RCTComponent>)subview {
41
+ [_reactSubviews removeObject:(UIView *)subview];
42
+ }
43
+ #pragma clang diagnostic pop
44
+
45
+ #pragma clang diagnostic push
46
+ #pragma clang diagnostic ignored "-Wobjc-missing-super-calls"
47
+ - (NSArray<id<RCTComponent>> *)reactSubviews {
48
+ return nil;
49
+ }
50
+ #pragma clang diagnostic pop
51
+
52
+ - (void)setSnapshot:(BOOL)snapshot
53
+ {
54
+ _snapshot = snapshot;
55
+
56
+ if (self.style != nil) {
57
+ UIImage *image;
58
+ MGLSymbolStyleLayer *layer = (MGLSymbolStyleLayer *) self.styleLayer;
59
+
60
+ if (_snapshot == YES) {
61
+ image = [self _createViewSnapshot];
62
+ [self.style setImage:image forName:self.id];
63
+ layer.iconImageName = [NSExpression expressionWithFormat:self.id];
64
+ } else {
65
+ image = [self.style imageForName:self.id];
66
+
67
+ if (image != nil) {
68
+ [self.style removeImageForName:self.id];
69
+ layer.iconImageName = nil;
70
+ }
71
+ }
72
+ }
73
+ }
74
+
75
+ - (void)addedToMap
76
+ {
77
+ [super addedToMap];
78
+
79
+ if (_snapshot == YES) {
80
+ UIImage *image = [self _createViewSnapshot];
81
+
82
+ if (image != nil) {
83
+ [self.style setImage:image forName:self.id];
84
+
85
+ MGLSymbolStyleLayer *layer = (MGLSymbolStyleLayer *)self.styleLayer;
86
+ layer.iconImageName = [NSExpression expressionForConstantValue:self.id];
87
+ }
88
+ }
89
+ }
90
+
91
+ - (MGLSymbolStyleLayer*)makeLayer:(MGLStyle*)style
92
+ {
93
+ MGLSource *source = [self layerWithSourceIDInStyle: style];
94
+ if (source == nil) { return nil; }
95
+ MGLSymbolStyleLayer *layer = [[MGLSymbolStyleLayer alloc] initWithIdentifier:self.id source:source];
96
+ layer.sourceLayerIdentifier = self.sourceLayerID;
97
+ return layer;
98
+ }
99
+
100
+ - (void)addStyles
101
+ {
102
+ RCTMGLStyle *style = [[RCTMGLStyle alloc] initWithMGLStyle:self.style];
103
+ style.bridge = self.bridge;
104
+ [style symbolLayer:(MGLSymbolStyleLayer*)self.styleLayer withReactStyle:self.reactStyle isValid:^{ return [self isAddedToMap];
105
+ }];
106
+ }
107
+
108
+ - (UIImage *)_createViewSnapshot
109
+ {
110
+ if (_reactSubviews.count == 0) {
111
+ return nil;
112
+ }
113
+ UIView *view = (UIView *)_reactSubviews[0];
114
+ UIGraphicsBeginImageContextWithOptions(view.bounds.size, NO, 0.f);
115
+ [view drawViewHierarchyInRect:view.bounds afterScreenUpdates:YES];
116
+ UIImage *snapshot = UIGraphicsGetImageFromCurrentImageContext();
117
+ UIGraphicsEndImageContext();
118
+ return snapshot;
119
+ }
120
+
121
+ @end
@@ -0,0 +1,13 @@
1
+ //
2
+ // RCTMGLSymbolLayerManager.h
3
+ // RCTMGL
4
+ //
5
+ // Created by Nick Italiano on 9/19/17.
6
+ // Copyright © 2017 Mapbox Inc. All rights reserved.
7
+ //
8
+
9
+ #import "ViewManager.h"
10
+
11
+ @interface RCTMGLSymbolLayerManager : ViewManager
12
+
13
+ @end
@@ -0,0 +1,40 @@
1
+ //
2
+ // RCTMGLSymbolLayerManager.m
3
+ // RCTMGL
4
+ //
5
+ // Created by Nick Italiano on 9/19/17.
6
+ // Copyright © 2017 Mapbox Inc. All rights reserved.
7
+ //
8
+
9
+ #import "RCTMGLSymbolLayerManager.h"
10
+ #import "RCTMGLSymbolLayer.h"
11
+
12
+ @implementation RCTMGLSymbolLayerManager
13
+
14
+ RCT_EXPORT_MODULE()
15
+
16
+ // circle layer props
17
+ RCT_EXPORT_VIEW_PROPERTY(sourceLayerID, NSString);
18
+
19
+ // standard layer props
20
+ RCT_EXPORT_VIEW_PROPERTY(id, NSString);
21
+ RCT_EXPORT_VIEW_PROPERTY(sourceID, NSString);
22
+ RCT_EXPORT_VIEW_PROPERTY(filter, NSArray);
23
+ RCT_EXPORT_VIEW_PROPERTY(snapshot, BOOL);
24
+
25
+ RCT_EXPORT_VIEW_PROPERTY(aboveLayerID, NSString);
26
+ RCT_EXPORT_VIEW_PROPERTY(belowLayerID, NSString);
27
+ RCT_EXPORT_VIEW_PROPERTY(layerIndex, NSNumber);
28
+ RCT_EXPORT_VIEW_PROPERTY(reactStyle, NSDictionary);
29
+
30
+ RCT_EXPORT_VIEW_PROPERTY(maxZoomLevel, NSNumber);
31
+ RCT_EXPORT_VIEW_PROPERTY(minZoomLevel, NSNumber);
32
+
33
+ - (UIView*)view
34
+ {
35
+ RCTMGLSymbolLayer *layer = [RCTMGLSymbolLayer new];
36
+ layer.bridge = self.bridge;
37
+ return layer;
38
+ }
39
+
40
+ @end
@@ -0,0 +1,22 @@
1
+ //
2
+ // RCTMGLTileSource.h
3
+ // RCTMGL
4
+ //
5
+
6
+ #import "RCTMGLSource.h"
7
+ @import Mapbox;
8
+
9
+ @interface RCTMGLTileSource : RCTMGLSource
10
+
11
+ @property (nonatomic, copy) NSString *url;
12
+ @property (nonatomic, strong) NSArray<NSString *> *tileUrlTemplates;
13
+ @property (nonatomic, copy) NSString *attribution;
14
+
15
+ @property (nonatomic, strong) NSNumber *minZoomLevel;
16
+ @property (nonatomic, strong) NSNumber *maxZoomLevel;
17
+
18
+ @property (nonatomic, assign) BOOL tms;
19
+
20
+ - (NSDictionary<MGLTileSourceOption, id>*)getOptions;
21
+
22
+ @end
@@ -0,0 +1,31 @@
1
+ //
2
+ // BaseSource.m
3
+ // RCTMGL
4
+ //
5
+
6
+ #import "RCTMGLTileSource.h"
7
+
8
+ @implementation RCTMGLTileSource
9
+
10
+ - (NSDictionary<MGLTileSourceOption, id>*)getOptions {
11
+ NSMutableDictionary<MGLTileSourceOption, id> *options = [[NSMutableDictionary alloc] init];
12
+
13
+ if (self.maxZoomLevel != nil) {
14
+ options[MGLTileSourceOptionMaximumZoomLevel] = self.maxZoomLevel;
15
+ }
16
+
17
+ if (self.minZoomLevel != nil) {
18
+ options[MGLTileSourceOptionMinimumZoomLevel] = self.minZoomLevel;
19
+ }
20
+
21
+ if (self.tms) {
22
+ options[MGLTileSourceOptionTileCoordinateSystem] = [NSNumber numberWithUnsignedInteger:MGLTileCoordinateSystemTMS];
23
+ }
24
+
25
+ if (self.attribution != nil) {
26
+ options[MGLTileSourceOptionAttributionHTMLString] = self.attribution;
27
+ }
28
+
29
+ return options;
30
+ }
31
+ @end
@@ -0,0 +1,15 @@
1
+ //
2
+ // RCTMGLUserLocation.h
3
+ // RCTMGL
4
+
5
+ #import <Foundation/Foundation.h>
6
+ #import <CoreLocation/CoreLocation.h>
7
+ #import <Mapbox/MGLUserLocationAnnotationView.h>
8
+
9
+ @interface RCTMGLUserLocation : NSObject
10
+
11
+ + (id)sharedInstance;
12
+
13
+ - (MGLUserLocationAnnotationView*)hiddenUserAnnotation;
14
+
15
+ @end
@@ -0,0 +1,38 @@
1
+ //
2
+ // RCTMGLUserLocation.m
3
+ // RCTMGL
4
+ //
5
+
6
+ #import "RCTMGLUserLocation.h"
7
+ #import <Mapbox/MGLUserLocationAnnotationView.h>
8
+
9
+ @interface HiddenUserLocationAnnotationView : MGLUserLocationAnnotationView
10
+
11
+ @end
12
+
13
+ @implementation HiddenUserLocationAnnotationView
14
+
15
+
16
+ - (void)update {
17
+ self.frame = CGRectNull;
18
+ }
19
+
20
+ @end
21
+
22
+
23
+ @implementation RCTMGLUserLocation : NSObject
24
+
25
+ + (id)sharedInstance
26
+ {
27
+ static RCTMGLUserLocation *userLocation = nil;
28
+ static dispatch_once_t onceToken;
29
+ dispatch_once(&onceToken, ^{ userLocation = [[self alloc] init]; });
30
+ return userLocation;
31
+ }
32
+
33
+ - (MGLUserLocationAnnotationView*)hiddenUserAnnotation
34
+ {
35
+ return [[HiddenUserLocationAnnotationView alloc] init];
36
+ }
37
+
38
+ @end
@@ -0,0 +1,31 @@
1
+ //
2
+ // RCTConvert+Mapbox.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 <MapKit/MapKit.h>
10
+ #import <React/RCTBridge.h>
11
+ #import <React/RCTConvert.h>
12
+ #import <React/RCTImageLoader.h>
13
+
14
+ @import Mapbox;
15
+
16
+ @interface RCTMGLUtils: NSObject
17
+
18
+ + (CLLocationCoordinate2D)fromFeature:(NSString*)json;
19
+ + (MGLShape*)shapeFromGeoJSON:(NSString*)json;
20
+ + (MGLCoordinateBounds)fromFeatureCollection:(NSString*)json;
21
+ + (NSArray<NSNumber *> *)fromCoordinateBounds:(MGLCoordinateBounds)bounds;
22
+ + (NSTimeInterval)fromMS:(NSNumber*)number;
23
+ + (NSNumber*)clamp:(NSNumber*)value min:(NSNumber*)min max:(NSNumber*)max;
24
+ + (UIColor*)toColor:(id)value;
25
+ + (void)fetchImage:(RCTBridge*)bridge url:(NSString*)url scale:(double)scale callback:(RCTImageLoaderCompletionBlock)callback;
26
+ + (void)fetchImages:(RCTBridge *)bridge style:(MGLStyle *)style objects:(NSDictionary<NSString *, NSString *>*)objects forceUpdate:(BOOL)forceUpdate callback:(void (^)(void))callback;
27
+ + (CGVector)toCGVector:(NSArray<NSNumber*>*)arr;
28
+ + (UIEdgeInsets)toUIEdgeInsets:(NSArray<NSNumber *> *)arr;
29
+ + (NSURL*)styleURLFromStyleJSON:(NSString *)styleJSON;
30
+
31
+ @end