@rnmapbox/maps 10.0.0-beta.76 → 10.0.0-beta.78

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 (426) hide show
  1. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/AbstractMapFeature.kt +10 -1
  2. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/annotation/RCTMGLMarkerView.kt +4 -2
  3. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/annotation/RCTMGLPointAnnotation.kt +4 -3
  4. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/camera/CameraUpdateQueue.kt +1 -3
  5. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/camera/RCTMGLCamera.kt +17 -22
  6. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/images/RCTMGLImages.kt +3 -2
  7. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/location/RCTMGLNativeUserLocation.kt +3 -2
  8. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/mapview/RCTMGLMapView.kt +82 -75
  9. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/mapview/RCTMGLMapViewManager.kt +8 -6
  10. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/RCTMGLStyle.kt +7 -1
  11. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/RCTMGLStyleFactory.java +5 -5
  12. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/atmosphere/RCTMGLAtmosphere.kt +3 -2
  13. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTLayer.kt +43 -15
  14. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLBackgroundLayer.kt +21 -0
  15. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLBackgroundLayerManager.kt +65 -0
  16. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLCircleLayer.kt +40 -0
  17. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLCircleLayerManager.kt +76 -0
  18. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillExtrusionLayer.kt +43 -0
  19. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillExtrusionLayerManager.kt +76 -0
  20. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillLayer.kt +40 -0
  21. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillLayerManager.kt +76 -0
  22. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLHeatmapLayer.kt +40 -0
  23. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLHeatmapLayerManager.kt +76 -0
  24. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLLineLayer.kt +40 -0
  25. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLLineLayerManager.kt +76 -0
  26. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLRasterLayer.kt +18 -0
  27. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLRasterLayerManager.kt +65 -0
  28. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLSkyLayerManager.kt +76 -0
  29. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLSymbolLayer.kt +40 -0
  30. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLSymbolLayerManager.kt +76 -0
  31. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/light/RCTMGLLight.kt +4 -1
  32. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLImageSource.kt +69 -0
  33. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLImageSourceManager.kt +54 -0
  34. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLRasterDemSource.kt +82 -0
  35. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLRasterDemSourceManager.kt +30 -0
  36. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLRasterSource.kt +37 -0
  37. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLRasterSourceManager.kt +32 -0
  38. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLShapeSource.kt +5 -0
  39. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLShapeSourceManager.kt +10 -4
  40. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLTileSource.kt +44 -0
  41. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLTileSourceManager.kt +69 -0
  42. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLVectorSource.kt +78 -0
  43. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLVectorSourceManager.kt +69 -0
  44. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTSource.kt +107 -87
  45. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/terrain/RCTMGLTerrain.kt +3 -2
  46. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/events/PointAnnotationDragEvent.java +4 -2
  47. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/modules/RCTMGLOfflineModule.kt +4 -4
  48. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/utils/GeoJSONUtils.kt +52 -44
  49. package/ios/RCTMGL-v10/RCTMGLCamera.swift +11 -31
  50. package/ios/RCTMGL-v10/RCTMGLInteractiveElement.swift +13 -1
  51. package/ios/RCTMGL-v10/RCTMGLLayer.swift +35 -6
  52. package/ios/RCTMGL-v10/RCTMGLLocationModule.swift +27 -4
  53. package/ios/RCTMGL-v10/RCTMGLMapView.swift +17 -2
  54. package/ios/RCTMGL-v10/RCTMGLMapViewManager.m +1 -0
  55. package/ios/RCTMGL-v10/RCTMGLSource.swift +35 -17
  56. package/lib/commonjs/MGLModule.js.map +1 -1
  57. package/lib/commonjs/Mapbox.js +13 -6
  58. package/lib/commonjs/Mapbox.js.map +1 -1
  59. package/lib/commonjs/classes/AnimatedCoordinatesArray.js.map +1 -1
  60. package/lib/commonjs/classes/AnimatedExtractCoordinateFromArray.js.map +1 -1
  61. package/lib/commonjs/classes/AnimatedPoint.js.map +1 -1
  62. package/lib/commonjs/classes/AnimatedRouteCoordinatesArray.js.map +1 -1
  63. package/lib/commonjs/classes/AnimatedShape.js.map +1 -1
  64. package/lib/commonjs/classes/index.d.js.map +1 -1
  65. package/lib/commonjs/classes/index.js.map +1 -1
  66. package/lib/commonjs/components/AbstractLayer.js +1 -2
  67. package/lib/commonjs/components/AbstractLayer.js.map +1 -1
  68. package/lib/commonjs/components/AbstractSource.js.map +1 -1
  69. package/lib/commonjs/components/Annotation.js.map +1 -1
  70. package/lib/commonjs/components/Atmosphere.js.map +1 -1
  71. package/lib/commonjs/components/BackgroundLayer.js.map +1 -1
  72. package/lib/commonjs/components/Callout.js +7 -33
  73. package/lib/commonjs/components/Callout.js.map +1 -1
  74. package/lib/commonjs/components/Camera.js +4 -4
  75. package/lib/commonjs/components/Camera.js.map +1 -1
  76. package/lib/commonjs/components/CircleLayer.js.map +1 -1
  77. package/lib/commonjs/components/FillExtrusionLayer.js.map +1 -1
  78. package/lib/commonjs/components/FillLayer.js.map +1 -1
  79. package/lib/commonjs/components/HeadingIndicator.js +12 -3
  80. package/lib/commonjs/components/HeadingIndicator.js.map +1 -1
  81. package/lib/commonjs/components/HeatmapLayer.js.map +1 -1
  82. package/lib/commonjs/components/Image.js.map +1 -1
  83. package/lib/commonjs/components/ImageSource.js.map +1 -1
  84. package/lib/commonjs/components/Images.js.map +1 -1
  85. package/lib/commonjs/components/Light.js.map +1 -1
  86. package/lib/commonjs/components/LineLayer.js.map +1 -1
  87. package/lib/commonjs/components/MapView.js +12 -1
  88. package/lib/commonjs/components/MapView.js.map +1 -1
  89. package/lib/commonjs/components/MarkerView.js.map +1 -1
  90. package/lib/commonjs/components/NativeBridgeComponent.js.map +1 -1
  91. package/lib/commonjs/components/NativeUserLocation.js.map +1 -1
  92. package/lib/commonjs/components/PointAnnotation.js.map +1 -1
  93. package/lib/commonjs/components/RasterDemSource.js.map +1 -1
  94. package/lib/commonjs/components/RasterLayer.js.map +1 -1
  95. package/lib/commonjs/components/RasterSource.js.map +1 -1
  96. package/lib/commonjs/components/ShapeSource.js.map +1 -1
  97. package/lib/commonjs/components/SkyLayer.js.map +1 -1
  98. package/lib/commonjs/components/Style.js.map +1 -1
  99. package/lib/commonjs/components/SymbolLayer.js.map +1 -1
  100. package/lib/commonjs/components/Terrain.js.map +1 -1
  101. package/lib/commonjs/components/UserLocation.js +6 -5
  102. package/lib/commonjs/components/UserLocation.js.map +1 -1
  103. package/lib/commonjs/components/VectorSource.js.map +1 -1
  104. package/lib/commonjs/global.d.js.map +1 -1
  105. package/lib/commonjs/index.js.map +1 -1
  106. package/lib/commonjs/index.web.js.map +1 -1
  107. package/lib/commonjs/modules/location/locationManager.js.map +1 -1
  108. package/lib/commonjs/modules/offline/OfflineCreatePackOptions.js.map +1 -1
  109. package/lib/commonjs/modules/offline/OfflinePack.js.map +1 -1
  110. package/lib/commonjs/modules/offline/offlineManager.js.map +1 -1
  111. package/lib/commonjs/modules/snapshot/SnapshotOptions.js.map +1 -1
  112. package/lib/commonjs/modules/snapshot/snapshotManager.js.map +1 -1
  113. package/lib/commonjs/requestAndroidLocationPermissions.js.map +1 -1
  114. package/lib/commonjs/types/BaseProps.js.map +1 -1
  115. package/lib/commonjs/types/OnPressEvent.js.map +1 -1
  116. package/lib/commonjs/types/Position.js.map +1 -1
  117. package/lib/commonjs/types/index.js.map +1 -1
  118. package/lib/commonjs/utils/BridgeValue.js.map +1 -1
  119. package/lib/commonjs/utils/Logger.js.map +1 -1
  120. package/lib/commonjs/utils/MapboxStyles.d.js +84 -84
  121. package/lib/commonjs/utils/MapboxStyles.d.js.map +1 -1
  122. package/lib/commonjs/utils/StyleValue.js.map +1 -1
  123. package/lib/commonjs/utils/animated/Animated.js.map +1 -1
  124. package/lib/commonjs/utils/deprecation.js.map +1 -1
  125. package/lib/commonjs/utils/filterUtils.js.map +1 -1
  126. package/lib/commonjs/utils/geoUtils.js.map +1 -1
  127. package/lib/commonjs/utils/getAnnotationsLayerID.js.map +1 -1
  128. package/lib/commonjs/utils/index.js +0 -16
  129. package/lib/commonjs/utils/index.js.map +1 -1
  130. package/lib/commonjs/utils/nativeRef.js.map +1 -1
  131. package/lib/commonjs/utils/styleMap.js +1 -1217
  132. package/lib/commonjs/utils/styleMap.js.map +1 -1
  133. package/lib/commonjs/web/MapContext.js.map +1 -1
  134. package/lib/commonjs/web/MapboxModule.js.map +1 -1
  135. package/lib/commonjs/web/UnimplementedComponent.js.map +1 -1
  136. package/lib/commonjs/web/components/Camera.js.map +1 -1
  137. package/lib/commonjs/web/components/MapView.js.map +1 -1
  138. package/lib/commonjs/web/index.js.map +1 -1
  139. package/lib/commonjs/web/utils/Logger.js.map +1 -1
  140. package/lib/module/MGLModule.js.map +1 -1
  141. package/lib/module/Mapbox.js +6 -6
  142. package/lib/module/Mapbox.js.map +1 -1
  143. package/lib/module/classes/AnimatedCoordinatesArray.js.map +1 -1
  144. package/lib/module/classes/AnimatedExtractCoordinateFromArray.js.map +1 -1
  145. package/lib/module/classes/AnimatedPoint.js.map +1 -1
  146. package/lib/module/classes/AnimatedRouteCoordinatesArray.js.map +1 -1
  147. package/lib/module/classes/AnimatedShape.js.map +1 -1
  148. package/lib/module/classes/index.d.js.map +1 -1
  149. package/lib/module/classes/index.js.map +1 -1
  150. package/lib/module/components/AbstractLayer.js +1 -1
  151. package/lib/module/components/AbstractLayer.js.map +1 -1
  152. package/lib/module/components/AbstractSource.js.map +1 -1
  153. package/lib/module/components/Annotation.js.map +1 -1
  154. package/lib/module/components/Atmosphere.js.map +1 -1
  155. package/lib/module/components/BackgroundLayer.js.map +1 -1
  156. package/lib/module/components/Callout.js +7 -33
  157. package/lib/module/components/Callout.js.map +1 -1
  158. package/lib/module/components/Camera.js +3 -3
  159. package/lib/module/components/Camera.js.map +1 -1
  160. package/lib/module/components/CircleLayer.js.map +1 -1
  161. package/lib/module/components/FillExtrusionLayer.js.map +1 -1
  162. package/lib/module/components/FillLayer.js.map +1 -1
  163. package/lib/module/components/HeadingIndicator.js +12 -3
  164. package/lib/module/components/HeadingIndicator.js.map +1 -1
  165. package/lib/module/components/HeatmapLayer.js.map +1 -1
  166. package/lib/module/components/Image.js.map +1 -1
  167. package/lib/module/components/ImageSource.js.map +1 -1
  168. package/lib/module/components/Images.js.map +1 -1
  169. package/lib/module/components/Light.js.map +1 -1
  170. package/lib/module/components/LineLayer.js.map +1 -1
  171. package/lib/module/components/MapView.js +12 -1
  172. package/lib/module/components/MapView.js.map +1 -1
  173. package/lib/module/components/MarkerView.js.map +1 -1
  174. package/lib/module/components/NativeBridgeComponent.js.map +1 -1
  175. package/lib/module/components/NativeUserLocation.js.map +1 -1
  176. package/lib/module/components/PointAnnotation.js.map +1 -1
  177. package/lib/module/components/RasterDemSource.js.map +1 -1
  178. package/lib/module/components/RasterLayer.js.map +1 -1
  179. package/lib/module/components/RasterSource.js.map +1 -1
  180. package/lib/module/components/ShapeSource.js.map +1 -1
  181. package/lib/module/components/SkyLayer.js.map +1 -1
  182. package/lib/module/components/Style.js.map +1 -1
  183. package/lib/module/components/SymbolLayer.js.map +1 -1
  184. package/lib/module/components/Terrain.js.map +1 -1
  185. package/lib/module/components/UserLocation.js +5 -4
  186. package/lib/module/components/UserLocation.js.map +1 -1
  187. package/lib/module/components/VectorSource.js.map +1 -1
  188. package/lib/module/global.d.js.map +1 -1
  189. package/lib/module/index.js.map +1 -1
  190. package/lib/module/index.web.js.map +1 -1
  191. package/lib/module/modules/location/locationManager.js.map +1 -1
  192. package/lib/module/modules/offline/OfflineCreatePackOptions.js.map +1 -1
  193. package/lib/module/modules/offline/OfflinePack.js.map +1 -1
  194. package/lib/module/modules/offline/offlineManager.js.map +1 -1
  195. package/lib/module/modules/snapshot/SnapshotOptions.js.map +1 -1
  196. package/lib/module/modules/snapshot/snapshotManager.js.map +1 -1
  197. package/lib/module/requestAndroidLocationPermissions.js.map +1 -1
  198. package/lib/module/types/BaseProps.js.map +1 -1
  199. package/lib/module/types/OnPressEvent.js.map +1 -1
  200. package/lib/module/types/Position.js.map +1 -1
  201. package/lib/module/types/index.js.map +1 -1
  202. package/lib/module/utils/BridgeValue.js.map +1 -1
  203. package/lib/module/utils/Logger.js.map +1 -1
  204. package/lib/module/utils/MapboxStyles.d.js +84 -84
  205. package/lib/module/utils/MapboxStyles.d.js.map +1 -1
  206. package/lib/module/utils/StyleValue.js.map +1 -1
  207. package/lib/module/utils/animated/Animated.js.map +1 -1
  208. package/lib/module/utils/deprecation.js.map +1 -1
  209. package/lib/module/utils/filterUtils.js.map +1 -1
  210. package/lib/module/utils/geoUtils.js.map +1 -1
  211. package/lib/module/utils/getAnnotationsLayerID.js.map +1 -1
  212. package/lib/module/utils/index.js +0 -14
  213. package/lib/module/utils/index.js.map +1 -1
  214. package/lib/module/utils/nativeRef.js.map +1 -1
  215. package/lib/module/utils/styleMap.js +0 -1201
  216. package/lib/module/utils/styleMap.js.map +1 -1
  217. package/lib/module/web/MapContext.js.map +1 -1
  218. package/lib/module/web/MapboxModule.js.map +1 -1
  219. package/lib/module/web/UnimplementedComponent.js.map +1 -1
  220. package/lib/module/web/components/Camera.js.map +1 -1
  221. package/lib/module/web/components/MapView.js.map +1 -1
  222. package/lib/module/web/index.js.map +1 -1
  223. package/lib/module/web/utils/Logger.js.map +1 -1
  224. package/lib/typescript/MGLModule.d.ts.map +1 -1
  225. package/lib/typescript/Mapbox.d.ts +1 -1
  226. package/lib/typescript/Mapbox.d.ts.map +1 -1
  227. package/lib/typescript/components/AbstractLayer.d.ts +1 -0
  228. package/lib/typescript/components/AbstractLayer.d.ts.map +1 -1
  229. package/lib/typescript/components/AbstractSource.d.ts.map +1 -1
  230. package/lib/typescript/components/Annotation.d.ts.map +1 -1
  231. package/lib/typescript/components/Atmosphere.d.ts.map +1 -1
  232. package/lib/typescript/components/BackgroundLayer.d.ts +5 -1
  233. package/lib/typescript/components/BackgroundLayer.d.ts.map +1 -1
  234. package/lib/typescript/components/Callout.d.ts +41 -0
  235. package/lib/typescript/components/Callout.d.ts.map +1 -0
  236. package/lib/typescript/components/Camera.d.ts +2 -1
  237. package/lib/typescript/components/Camera.d.ts.map +1 -1
  238. package/lib/typescript/components/CircleLayer.d.ts +4 -0
  239. package/lib/typescript/components/CircleLayer.d.ts.map +1 -1
  240. package/lib/typescript/components/FillExtrusionLayer.d.ts +5 -1
  241. package/lib/typescript/components/FillExtrusionLayer.d.ts.map +1 -1
  242. package/lib/typescript/components/FillLayer.d.ts +4 -0
  243. package/lib/typescript/components/FillLayer.d.ts.map +1 -1
  244. package/lib/typescript/components/HeadingIndicator.d.ts +2 -1
  245. package/lib/typescript/components/HeadingIndicator.d.ts.map +1 -1
  246. package/lib/typescript/components/HeatmapLayer.d.ts +5 -1
  247. package/lib/typescript/components/HeatmapLayer.d.ts.map +1 -1
  248. package/lib/typescript/components/Image.d.ts.map +1 -1
  249. package/lib/typescript/components/ImageSource.d.ts +4 -0
  250. package/lib/typescript/components/ImageSource.d.ts.map +1 -1
  251. package/lib/typescript/components/Images.d.ts.map +1 -1
  252. package/lib/typescript/components/Light.d.ts.map +1 -1
  253. package/lib/typescript/components/LineLayer.d.ts +4 -0
  254. package/lib/typescript/components/LineLayer.d.ts.map +1 -1
  255. package/lib/typescript/components/MapView.d.ts +15 -5
  256. package/lib/typescript/components/MapView.d.ts.map +1 -1
  257. package/lib/typescript/components/MarkerView.d.ts.map +1 -1
  258. package/lib/typescript/components/NativeBridgeComponent.d.ts.map +1 -1
  259. package/lib/typescript/components/NativeUserLocation.d.ts.map +1 -1
  260. package/lib/typescript/components/PointAnnotation.d.ts +5 -9
  261. package/lib/typescript/components/PointAnnotation.d.ts.map +1 -1
  262. package/lib/typescript/components/RasterDemSource.d.ts +4 -0
  263. package/lib/typescript/components/RasterDemSource.d.ts.map +1 -1
  264. package/lib/typescript/components/RasterLayer.d.ts +5 -1
  265. package/lib/typescript/components/RasterLayer.d.ts.map +1 -1
  266. package/lib/typescript/components/RasterSource.d.ts +4 -0
  267. package/lib/typescript/components/RasterSource.d.ts.map +1 -1
  268. package/lib/typescript/components/ShapeSource.d.ts +4 -0
  269. package/lib/typescript/components/ShapeSource.d.ts.map +1 -1
  270. package/lib/typescript/components/SkyLayer.d.ts +4 -0
  271. package/lib/typescript/components/SkyLayer.d.ts.map +1 -1
  272. package/lib/typescript/components/Style.d.ts.map +1 -1
  273. package/lib/typescript/components/SymbolLayer.d.ts +5 -1
  274. package/lib/typescript/components/SymbolLayer.d.ts.map +1 -1
  275. package/lib/typescript/components/Terrain.d.ts.map +1 -1
  276. package/lib/typescript/components/UserLocation.d.ts +1 -1
  277. package/lib/typescript/components/UserLocation.d.ts.map +1 -1
  278. package/lib/typescript/components/VectorSource.d.ts +4 -0
  279. package/lib/typescript/components/VectorSource.d.ts.map +1 -1
  280. package/lib/typescript/index.d.ts.map +1 -1
  281. package/lib/typescript/modules/location/locationManager.d.ts.map +1 -1
  282. package/lib/typescript/modules/offline/OfflineCreatePackOptions.d.ts.map +1 -1
  283. package/lib/typescript/modules/offline/OfflinePack.d.ts.map +1 -1
  284. package/lib/typescript/modules/offline/offlineManager.d.ts.map +1 -1
  285. package/lib/typescript/modules/snapshot/SnapshotOptions.d.ts.map +1 -1
  286. package/lib/typescript/modules/snapshot/snapshotManager.d.ts.map +1 -1
  287. package/lib/typescript/requestAndroidLocationPermissions.d.ts.map +1 -1
  288. package/lib/typescript/types/BaseProps.d.ts +1 -0
  289. package/lib/typescript/types/BaseProps.d.ts.map +1 -1
  290. package/lib/typescript/types/OnPressEvent.d.ts.map +1 -1
  291. package/lib/typescript/types/Position.d.ts.map +1 -1
  292. package/lib/typescript/types/index.d.ts.map +1 -1
  293. package/lib/typescript/utils/BridgeValue.d.ts.map +1 -1
  294. package/lib/typescript/utils/Logger.d.ts.map +1 -1
  295. package/lib/typescript/utils/StyleValue.d.ts.map +1 -1
  296. package/lib/typescript/utils/animated/Animated.d.ts.map +1 -1
  297. package/lib/typescript/utils/deprecation.d.ts.map +1 -1
  298. package/lib/typescript/utils/filterUtils.d.ts.map +1 -1
  299. package/lib/typescript/utils/geoUtils.d.ts.map +1 -1
  300. package/lib/typescript/utils/getAnnotationsLayerID.d.ts.map +1 -1
  301. package/lib/typescript/utils/index.d.ts +0 -14
  302. package/lib/typescript/utils/index.d.ts.map +1 -1
  303. package/lib/typescript/utils/nativeRef.d.ts.map +1 -1
  304. package/lib/typescript/utils/styleMap.d.ts +0 -1406
  305. package/lib/typescript/utils/styleMap.d.ts.map +1 -1
  306. package/lib/typescript/web/MapContext.d.ts.map +1 -1
  307. package/lib/typescript/web/components/Camera.d.ts.map +1 -1
  308. package/lib/typescript/web/components/MapView.d.ts.map +1 -1
  309. package/lib/typescript/web/utils/Logger.d.ts.map +1 -1
  310. package/package.json +37 -39
  311. package/plugin/build/withMapbox.d.ts +10 -6
  312. package/plugin/build/withMapbox.js +122 -137
  313. package/plugin/install.md +21 -0
  314. package/plugin/src/withMapbox.ts +172 -139
  315. package/{javascript → src}/Mapbox.ts +4 -1
  316. package/{javascript → src}/components/AbstractLayer.tsx +2 -1
  317. package/{javascript → src}/components/BackgroundLayer.tsx +6 -1
  318. package/{javascript/components/Callout.js → src/components/Callout.tsx} +53 -45
  319. package/{javascript → src}/components/Camera.tsx +2 -1
  320. package/{javascript → src}/components/CircleLayer.tsx +5 -0
  321. package/{javascript → src}/components/FillExtrusionLayer.tsx +6 -1
  322. package/{javascript → src}/components/FillLayer.tsx +5 -0
  323. package/src/components/HeadingIndicator.tsx +41 -0
  324. package/{javascript → src}/components/HeatmapLayer.tsx +6 -1
  325. package/{javascript → src}/components/ImageSource.tsx +5 -0
  326. package/{javascript → src}/components/LineLayer.tsx +5 -0
  327. package/{javascript → src}/components/MapView.tsx +31 -7
  328. package/{javascript → src}/components/PointAnnotation.tsx +8 -4
  329. package/{javascript → src}/components/RasterDemSource.tsx +5 -0
  330. package/{javascript → src}/components/RasterLayer.tsx +6 -1
  331. package/{javascript → src}/components/RasterSource.tsx +5 -0
  332. package/{javascript → src}/components/ShapeSource.tsx +5 -0
  333. package/{javascript → src}/components/SkyLayer.tsx +5 -0
  334. package/{javascript → src}/components/SymbolLayer.tsx +6 -1
  335. package/{javascript → src}/components/UserLocation.tsx +2 -2
  336. package/{javascript → src}/components/VectorSource.tsx +5 -0
  337. package/{javascript → src}/types/BaseProps.ts +1 -0
  338. package/{javascript → src}/utils/index.ts +0 -8
  339. package/src/utils/styleMap.ts +284 -0
  340. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLBackgroundLayer.java +0 -23
  341. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLBackgroundLayerManager.java +0 -60
  342. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLCircleLayer.java +0 -53
  343. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLCircleLayerManager.java +0 -73
  344. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillExtrusionLayer.java +0 -51
  345. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillExtrusionLayerManager.java +0 -76
  346. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillLayer.java +0 -51
  347. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillLayerManager.java +0 -77
  348. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLHeatmapLayer.java +0 -51
  349. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLHeatmapLayerManager.java +0 -73
  350. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLLineLayer.java +0 -51
  351. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLLineLayerManager.java +0 -75
  352. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLRasterLayer.java +0 -24
  353. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLRasterLayerManager.java +0 -60
  354. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLSkyLayerManager.java +0 -73
  355. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLSymbolLayer.java +0 -51
  356. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTMGLSymbolLayerManager.java +0 -71
  357. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLImageSource.java +0 -76
  358. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLImageSourceManager.java +0 -68
  359. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLRasterDemSource.java +0 -122
  360. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLRasterDemSourceManager.java +0 -64
  361. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLRasterSource.java +0 -43
  362. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLRasterSourceManager.java +0 -39
  363. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLTileSource.java +0 -103
  364. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLTileSourceManager.java +0 -80
  365. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLVectorSource.java +0 -100
  366. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/sources/RCTMGLVectorSourceManager.java +0 -80
  367. package/javascript/components/Callout.d.ts +0 -35
  368. package/javascript/components/HeadingIndicator.tsx +0 -30
  369. package/javascript/utils/styleMap.ts +0 -1882
  370. package/lib/commonjs/components/Callout.d.js +0 -9
  371. package/lib/commonjs/components/Callout.d.js.map +0 -1
  372. package/lib/module/components/Callout.d.js +0 -2
  373. package/lib/module/components/Callout.d.js.map +0 -1
  374. /package/{javascript → src}/MGLModule.ts +0 -0
  375. /package/{javascript → src}/assets/heading.png +0 -0
  376. /package/{javascript → src}/assets/heading@2x.png +0 -0
  377. /package/{javascript → src}/assets/heading@3x.png +0 -0
  378. /package/{javascript → src}/classes/AnimatedCoordinatesArray.js +0 -0
  379. /package/{javascript → src}/classes/AnimatedExtractCoordinateFromArray.js +0 -0
  380. /package/{javascript → src}/classes/AnimatedPoint.js +0 -0
  381. /package/{javascript → src}/classes/AnimatedRouteCoordinatesArray.js +0 -0
  382. /package/{javascript → src}/classes/AnimatedShape.js +0 -0
  383. /package/{javascript → src}/classes/index.d.ts +0 -0
  384. /package/{javascript → src}/classes/index.js +0 -0
  385. /package/{javascript → src}/components/AbstractSource.tsx +0 -0
  386. /package/{javascript → src}/components/Annotation.tsx +0 -0
  387. /package/{javascript → src}/components/Atmosphere.tsx +0 -0
  388. /package/{javascript → src}/components/Image.tsx +0 -0
  389. /package/{javascript → src}/components/Images.tsx +0 -0
  390. /package/{javascript → src}/components/Light.tsx +0 -0
  391. /package/{javascript → src}/components/MarkerView.tsx +0 -0
  392. /package/{javascript → src}/components/NativeBridgeComponent.tsx +0 -0
  393. /package/{javascript → src}/components/NativeUserLocation.tsx +0 -0
  394. /package/{javascript → src}/components/Style.tsx +0 -0
  395. /package/{javascript → src}/components/Terrain.tsx +0 -0
  396. /package/{javascript → src}/global.d.ts +0 -0
  397. /package/{javascript → src}/index.ts +0 -0
  398. /package/{javascript → src}/index.web.js +0 -0
  399. /package/{javascript → src}/modules/location/locationManager.ts +0 -0
  400. /package/{javascript → src}/modules/offline/OfflineCreatePackOptions.ts +0 -0
  401. /package/{javascript → src}/modules/offline/OfflinePack.ts +0 -0
  402. /package/{javascript → src}/modules/offline/offlineManager.ts +0 -0
  403. /package/{javascript → src}/modules/snapshot/SnapshotOptions.ts +0 -0
  404. /package/{javascript → src}/modules/snapshot/snapshotManager.ts +0 -0
  405. /package/{javascript → src}/requestAndroidLocationPermissions.ts +0 -0
  406. /package/{javascript → src}/types/OnPressEvent.ts +0 -0
  407. /package/{javascript → src}/types/Position.ts +0 -0
  408. /package/{javascript → src}/types/index.ts +0 -0
  409. /package/{javascript → src}/utils/BridgeValue.ts +0 -0
  410. /package/{javascript → src}/utils/Logger.ts +0 -0
  411. /package/{javascript → src}/utils/MapboxStyles.d.ts +0 -0
  412. /package/{javascript → src}/utils/StyleValue.ts +0 -0
  413. /package/{javascript → src}/utils/animated/Animated.ts +0 -0
  414. /package/{javascript → src}/utils/deprecation.ts +0 -0
  415. /package/{javascript → src}/utils/filterUtils.ts +0 -0
  416. /package/{javascript → src}/utils/geoUtils.ts +0 -0
  417. /package/{javascript → src}/utils/getAnnotationsLayerID.ts +0 -0
  418. /package/{javascript → src}/utils/nativeRef.ts +0 -0
  419. /package/{javascript → src}/web/MapContext.ts +0 -0
  420. /package/{javascript → src}/web/MapboxModule.js +0 -0
  421. /package/{javascript → src}/web/UnimplementedComponent.js +0 -0
  422. /package/{javascript → src}/web/components/Camera.tsx +0 -0
  423. /package/{javascript → src}/web/components/MapView.tsx +0 -0
  424. /package/{javascript → src}/web/index.js +0 -0
  425. /package/{javascript → src}/web/install.md +0 -0
  426. /package/{javascript → src}/web/utils/Logger.ts +0 -0
@@ -16,6 +16,7 @@ import com.mapbox.geojson.Feature
16
16
  import com.mapbox.maps.Style
17
17
  import com.mapbox.maps.extension.style.StyleContract
18
18
  import com.mapbox.maps.extension.style.sources.Source
19
+ import com.mapbox.rctmgl.components.RemovalReason
19
20
  import com.mapbox.rctmgl.components.styles.sources.RCTSource.OnPressEvent
20
21
  import com.mapbox.rctmgl.utils.LatLng
21
22
  import com.mapbox.rctmgl.utils.Logger
@@ -23,6 +24,9 @@ import java.lang.ClassCastException
23
24
  import java.util.ArrayList
24
25
  import java.util.HashMap
25
26
 
27
+ data class FeatureInfo(val feature: AbstractMapFeature?, var added: Boolean) {
28
+ }
29
+
26
30
  abstract class RCTSource<T : Source?>(context: Context?) : AbstractMapFeature(context) {
27
31
  @JvmField
28
32
  protected var mMap: MapboxMap? = null
@@ -31,19 +35,40 @@ abstract class RCTSource<T : Source?>(context: Context?) : AbstractMapFeature(co
31
35
  protected var mSource: T? = null
32
36
  protected var mHasPressListener = false
33
37
  protected var mTouchHitbox: Map<String, Double>? = null
34
- protected var mLayers: MutableList<AbstractSourceConsumer>
35
- private var mQueuedLayers: MutableList<AbstractSourceConsumer>?
38
+ private var mSubFeatures = mutableListOf<FeatureInfo>()
39
+
36
40
  val layerIDs: List<String>
37
41
  get() {
38
- val layerIDs: MutableList<String> = ArrayList()
39
- for (i in mLayers.indices) {
40
- val layer = mLayers[i]
41
- val id = layer.iD
42
- if (id != null) {
43
- layerIDs.add(id)
42
+ return mSubFeatures.mapIndexed { index, featureInfo ->
43
+ if (featureInfo.added && featureInfo.feature is AbstractSourceConsumer) {
44
+ featureInfo.feature.iD
45
+ } else {
46
+ null
47
+ }
48
+ }.filterNotNull()
49
+ }
50
+
51
+ abstract fun hasNoDataSoRefersToExisting(): Boolean;
52
+
53
+ public var mExisting: Boolean? = null
54
+
55
+ val existing: Boolean
56
+ get() {
57
+ var result: Boolean = false
58
+ mExisting?.also {
59
+ result = it
60
+ } ?: run {
61
+ if (hasNoDataSoRefersToExisting()) {
62
+ Logger.w(
63
+ LOG_TAG,
64
+ "RCTSource: soure with id: $id seems to refer to existing value but existing flag is not set. This is deprecated."
65
+ )
66
+ result = true
67
+ } else {
68
+ result = false
44
69
  }
45
70
  }
46
- return layerIDs
71
+ return result
47
72
  }
48
73
 
49
74
  private fun getSourceAs(style: Style, id: String?): T? {
@@ -55,18 +80,6 @@ abstract class RCTSource<T : Source?>(context: Context?) : AbstractMapFeature(co
55
80
  }
56
81
  }
57
82
 
58
- protected fun addLayerToMap(layer: AbstractSourceConsumer?, childPosition: Int) {
59
- mMapView?.let {
60
- val mapView = it
61
- layer?.let {
62
- it.addToMap(mapView)
63
- if (!mLayers.contains(it)) {
64
- mLayers.add(childPosition, it)
65
- }
66
- }
67
- }
68
- }
69
-
70
83
  open fun hasPressListener(): Boolean {
71
84
  return mHasPressListener
72
85
  }
@@ -94,52 +107,60 @@ abstract class RCTSource<T : Source?>(context: Context?) : AbstractMapFeature(co
94
107
  .build()
95
108
  } else mTouchHitbox
96
109
  }
97
- val layerCount: Int
98
- get() {
99
- var totalCount = 0
100
- if (mQueuedLayers != null) {
101
- totalCount = mQueuedLayers!!.size
110
+
111
+ fun addToMap(existings: Boolean, style: Style, mapView: RCTMGLMapView) {
112
+ mSource = null
113
+ if (existings) {
114
+ val existingSource = getSourceAs(style, iD)
115
+ if (existingSource != null) {
116
+ mSource = existingSource
117
+ } else {
118
+ Logger.w(LOG_TAG, "Source $iD was makred as existing but was not found in style")
102
119
  }
103
- totalCount += mLayers.size
104
- return totalCount
105
120
  }
121
+ if (mSource == null) {
122
+ mSource = makeSource()
123
+ style.addSource(mSource as StyleContract.StyleSourceExtension)
124
+ }
125
+ mSubFeatures?.forEach {
126
+ it.feature?.let {
127
+ it.addToMap(mapView)
128
+ }
129
+ it.added = true
130
+ }
131
+ }
106
132
 
107
133
  override fun addToMap(mapView: RCTMGLMapView) {
108
134
  super.addToMap(mapView)
109
135
  mMap = mapView.getMapboxMap()
110
- mMap?.getStyle(object : Style.OnStyleLoaded {
111
- override fun onStyleLoaded(style: Style) {
112
- val existingSource = getSourceAs(style, iD)
113
- if (existingSource != null) {
114
- mSource = existingSource
115
- } else {
116
- mSource = makeSource()
117
- style.addSource(mSource as StyleContract.StyleSourceExtension)
118
- }
119
- if (mQueuedLayers != null && mQueuedLayers!!.size > 0) { // first load
120
- for (i in mQueuedLayers!!.indices) {
121
- addLayerToMap(mQueuedLayers!![i], i)
122
- }
123
- mQueuedLayers = null
124
- } else if (mLayers.size > 0) { // handles the case of switching style url, but keeping layers on map
125
- for (i in mLayers.indices) {
126
- addLayerToMap(mLayers[i], i)
127
- }
136
+ val map = mMap
137
+ if (map == null) {
138
+ Logger.e("RCTSource", "map is exepted to be valid but was null, $iD")
139
+ return
140
+ }
141
+ val style = map.getStyle()
142
+ if (existing || style == null) {
143
+ map.getStyle(object : Style.OnStyleLoaded {
144
+ override fun onStyleLoaded(style: Style) {
145
+ addToMap(existing, style, mapView)
128
146
  }
129
- }
130
- })
147
+ })
148
+ } else {
149
+ addToMap(existing, style, mapView)
150
+ }
151
+
131
152
  }
132
153
 
133
- override fun removeFromMap(mapView: RCTMGLMapView) {
134
- if (mLayers.size > 0) {
135
- for (i in mLayers.indices) {
136
- val layer = mLayers[i]
137
- layer.removeFromMap(mapView)
154
+ override fun removeFromMap(mapView: RCTMGLMapView, reason: RemovalReason): Boolean {
155
+
156
+ mSubFeatures.forEach { it
157
+ var featureInfo = it
158
+ featureInfo.feature?.let {
159
+ if (it.removeFromMap(mapView, reason)) {
160
+ featureInfo.added = false
161
+ }
138
162
  }
139
163
  }
140
- if (mQueuedLayers != null) {
141
- mQueuedLayers!!.clear()
142
- }
143
164
  if (mMap != null && mSource != null && mMap!!.getStyle() != null) {
144
165
  try {
145
166
  iD?.let { mMap?.getStyle()?.removeStyleSource(it) }
@@ -147,51 +168,52 @@ abstract class RCTSource<T : Source?>(context: Context?) : AbstractMapFeature(co
147
168
  Logger.w(LOG_TAG, String.format("RCTSource.removeFromMap: %s - %s", mSource, ex.message), ex)
148
169
  }
149
170
  }
150
- super.removeFromMap(mapView)
171
+ return super.removeFromMap(mapView, reason)
151
172
  }
152
173
 
153
174
  fun addLayer(childView: View?, childPosition: Int) {
154
- if (childView !is AbstractSourceConsumer) {
155
- return
175
+ var feature: AbstractMapFeature? = null
176
+ if (childView !is AbstractMapFeature) {
177
+ Logger.w(LOG_TAG, "Attempted to insert view: $childView to shape source: $iD, since it's not a MapFeature it will not be added")
178
+ } else {
179
+ feature = childView
156
180
  }
157
- val layer = childView
158
- if (mMap == null) {
159
- mQueuedLayers?.add(childPosition, layer)
181
+
182
+ val mapView = mMapView
183
+
184
+ val added = if (mapView != null && feature != null) {
185
+ feature.addToMap(mapView)
186
+ true
160
187
  } else {
161
- addLayerToMap(layer, childPosition)
188
+ false
162
189
  }
190
+ mSubFeatures.add(childPosition, FeatureInfo(feature, added))
163
191
  }
164
192
 
165
193
  fun removeLayer(childPosition: Int) {
166
- val layer: AbstractSourceConsumer
167
- layer = if (mQueuedLayers != null && mQueuedLayers!!.size > 0) {
168
- mQueuedLayers!![childPosition]
169
- } else {
170
- mLayers[childPosition]
194
+ var featureInfo = mSubFeatures[childPosition]
195
+ if (featureInfo.added) {
196
+ val mapView = mMapView
197
+ if (mapView != null) {
198
+ featureInfo.feature?.let { it.removeFromMap(mapView, RemovalReason.VIEW_REMOVAL) }
199
+ }
200
+ featureInfo.added = false
171
201
  }
172
- removeLayerFromMap(layer, childPosition)
202
+ mSubFeatures.removeAt(childPosition)
173
203
  }
174
204
 
175
- fun getLayerAt(childPosition: Int): AbstractSourceConsumer {
176
- return if (mQueuedLayers != null && mQueuedLayers!!.size > 0) {
177
- mQueuedLayers!![childPosition]
178
- } else mLayers[childPosition]
205
+ val childViews: List<AbstractMapFeature>
206
+ get() = mSubFeatures.map { it.feature }.filterNotNull()
207
+
208
+ override fun getChildAt(childPosition: Int): View {
209
+ return childViews[childPosition]
179
210
  }
180
211
 
181
- protected fun removeLayerFromMap(layer: AbstractSourceConsumer?, childPosition: Int) {
182
- mMapView?.let {
183
- val mapView = it
184
- layer?.let {
185
- it.removeFromMap(mapView)
186
- }
187
- }
188
- if (mQueuedLayers != null && mQueuedLayers!!.size > 0) {
189
- mQueuedLayers?.removeAt(childPosition)
190
- } else {
191
- mLayers.removeAt(childPosition)
192
- }
212
+ override fun getChildCount(): Int {
213
+ return childViews.size;
193
214
  }
194
215
 
216
+
195
217
  abstract fun makeSource(): T
196
218
  class OnPressEvent(var features: List<Feature>, var latLng: LatLng, var screenPoint: PointF)
197
219
 
@@ -209,7 +231,5 @@ abstract class RCTSource<T : Source?>(context: Context?) : AbstractMapFeature(co
209
231
  }
210
232
 
211
233
  init {
212
- mLayers = ArrayList()
213
- mQueuedLayers = ArrayList()
214
234
  }
215
235
  }
@@ -5,6 +5,7 @@ import com.facebook.react.bridge.ReadableMap
5
5
  import com.mapbox.maps.MapboxMap
6
6
  import com.mapbox.maps.extension.style.terrain.generated.Terrain
7
7
  import com.mapbox.maps.extension.style.terrain.generated.removeTerrain
8
+ import com.mapbox.rctmgl.components.RemovalReason
8
9
  import com.mapbox.rctmgl.components.mapview.RCTMGLMapView
9
10
  import com.mapbox.rctmgl.components.styles.RCTMGLStyle
10
11
  import com.mapbox.rctmgl.components.styles.RCTMGLStyleFactory
@@ -44,10 +45,10 @@ class RCTMGLTerrain(context: Context?) : AbstractSourceConsumer(context) {
44
45
  mapView.savedStyle?.let { terrain.bindTo(it) }
45
46
  }
46
47
 
47
- override fun removeFromMap(mapView: RCTMGLMapView) {
48
+ override fun removeFromMap(mapView: RCTMGLMapView, reason: RemovalReason): Boolean {
48
49
  mapView.savedStyle?.let { it.removeTerrain() }
49
50
  mMap = null
50
- super.removeFromMap(mapView)
51
+ return super.removeFromMap(mapView, reason)
51
52
  }
52
53
 
53
54
  fun makeTerrain(): Terrain {
@@ -43,9 +43,11 @@ public class PointAnnotationDragEvent extends MapClickEvent {
43
43
  @Override
44
44
  public WritableMap getPayload() {
45
45
  WritableMap properties = new WritableNativeMap();
46
- properties.putString("id", mView.getID());
47
46
  properties.putDouble("screenPointX", mScreenPoint.x);
48
47
  properties.putDouble("screenPointY", mScreenPoint.y);
49
- return GeoJSONUtils.toPointFeature(mTouchedLatLng, properties);
48
+ WritableMap feature = GeoJSONUtils.toPointFeature(mTouchedLatLng, properties);
49
+ feature.putString("id", mView.getID());
50
+
51
+ return feature;
50
52
  }
51
53
  }
@@ -147,14 +147,14 @@ class RCTMGLOfflineModule(private val mReactContext: ReactApplicationContext) :
147
147
  private fun convertRegionsToJSON(tileRegions: List<TileRegion>, promise: Promise) {
148
148
  val countDownLatch = CountDownLatch(tileRegions.size)
149
149
  val errors = ArrayList<TileRegionError?>()
150
- val geometries = ArrayList<Geometry?>()
150
+ val geometries = ArrayList<Geometry>()
151
151
  try {
152
152
  for (region: TileRegion in tileRegions) {
153
153
  getTileStore()!!
154
154
  .getTileRegionGeometry(region.id, object : TileRegionGeometryCallback {
155
155
  override fun run(result: Expected<TileRegionError, Geometry>) {
156
156
  if (result.isValue) {
157
- geometries.add(result.value)
157
+ geometries.add(result.value!!)
158
158
  } else {
159
159
  errors.add(result.error)
160
160
  }
@@ -168,7 +168,7 @@ class RCTMGLOfflineModule(private val mReactContext: ReactApplicationContext) :
168
168
  try {
169
169
  countDownLatch.await()
170
170
  val result = Arguments.createArray()
171
- for (geometry: Geometry? in geometries) {
171
+ for (geometry: Geometry in geometries) {
172
172
  result.pushMap(fromOfflineRegion(geometry))
173
173
  }
174
174
  for (error: TileRegionError? in errors) {
@@ -567,7 +567,7 @@ class RCTMGLOfflineModule(private val mReactContext: ReactApplicationContext) :
567
567
  return map
568
568
  }
569
569
 
570
- private fun fromOfflineRegion(region: Geometry?): WritableMap {
570
+ private fun fromOfflineRegion(region: Geometry): WritableMap {
571
571
  val map = Arguments.createMap()
572
572
  val bbox = TurfMeasurement.bbox(region)
573
573
  val bounds = Arguments.createArray()
@@ -18,69 +18,75 @@ object GeoJSONUtils {
18
18
  val map = Arguments.createMap()
19
19
  map.putString("type", "Feature")
20
20
  map.putString("id", feature.id())
21
- val geometry = fromGeometry(feature.geometry())
22
- map.putMap("geometry", geometry)
21
+ feature.geometry()?.also {
22
+ val geometry = fromGeometry(it)
23
+ map.putMap("geometry", geometry)
24
+ } ?: {
25
+ Logger.w(LOG_TAG, "GeoJSONUtils.fromFeature geometry was null for feature: ${feature.toJson()}")
26
+ }
23
27
  val properties = ConvertUtils.toWritableMap(feature.properties())
24
28
  map.putMap("properties", properties)
25
29
  return map
26
30
  }
27
31
 
28
- fun fromGeometry(geometry: Geometry?): WritableMap? {
29
- val type = geometry!!.type()
30
- return when (type) {
31
- "Point" -> fromPoint(geometry as Point?)
32
- "LineString" -> fromLineString(geometry as LineString?)
33
- "Polygon" -> fromPolygon(geometry as Polygon?)
34
- else -> null
32
+ fun fromGeometry(geometry: Geometry): WritableMap? {
33
+ val type = geometry.type()
34
+ val coordinates : WritableArray = when (type) {
35
+ "Point" -> coordinates(geometry as Point)
36
+ "LineString" -> coordinatesL((geometry as LineString).coordinates())
37
+ "Polygon" -> coordinatesLL((geometry as Polygon).coordinates())
38
+ "MultiLineString" -> coordinatesLL((geometry as MultiLineString).coordinates())
39
+ "MultiPolygon" -> coordinatesLLL((geometry as MultiPolygon).coordinates())
40
+ "GeometryCollection" -> {
41
+ return multiGeometry(type,
42
+ Arguments.fromList((geometry as GeometryCollection).geometries().map {
43
+ fromGeometry(it)
44
+ })
45
+ )
46
+ }
47
+ else -> {
48
+ Logger.w(LOG_TAG, "GeoJSONUtils.fromGeometry unsupported type:$type")
49
+ return null
50
+ }
35
51
  }
52
+ return geometry(type, coordinates);
36
53
  }
37
54
 
38
- fun fromPoint(point: Point?): WritableMap {
39
- val map = Arguments.createMap()
40
- map.putString("type", "Point")
41
- map.putArray("coordinates", getCoordinates(point))
55
+ private fun multiGeometry(type: String, geometries: WritableArray):WritableMap {
56
+ val map = Arguments.createMap();
57
+ map.putString("type", type);
58
+ map.putArray("geometries", geometries);
42
59
  return map
43
60
  }
44
-
45
- fun fromLineString(lineString: LineString?): WritableMap {
46
- val map = Arguments.createMap()
47
- map.putString("type", "LineString")
48
- map.putArray("coordinates", getCoordinates(lineString))
61
+ private fun geometry(type: String, coordinates: WritableArray):WritableMap {
62
+ val map = Arguments.createMap();
63
+ map.putString("type", type);
64
+ map.putArray("coordinates", coordinates);
49
65
  return map
50
66
  }
51
67
 
52
- fun fromPolygon(polygon: Polygon?): WritableMap {
53
- val map = Arguments.createMap()
54
- map.putString("type", "Polygon")
55
- map.putArray("coordinates", getCoordinates(polygon))
56
- return map
57
- }
58
-
59
- fun getCoordinates(point: Point?): WritableArray {
68
+ private fun coordinates(point: Point): WritableArray {
60
69
  return Arguments.fromArray(pointToDoubleArray(point))
61
70
  }
62
71
 
63
- fun getCoordinates(lineString: LineString?): WritableArray {
64
- val array = Arguments.createArray()
65
- val points = lineString!!.coordinates()
66
- for (point in points) {
67
- array.pushArray(Arguments.fromArray(pointToDoubleArray(point)))
72
+ private fun fromList(items: List<ReadableArray>): WritableArray {
73
+ val ret = WritableNativeArray();
74
+ items.forEach {
75
+ ret.pushArray(it)
68
76
  }
69
- return array
77
+ return ret;
70
78
  }
71
79
 
72
- fun getCoordinates(polygon: Polygon?): WritableArray {
73
- val array = Arguments.createArray()
74
- val points = polygon!!.coordinates()
75
- ?: return array
76
- for (curPoint in points) {
77
- val innerArray = Arguments.createArray()
78
- for (point in curPoint) {
79
- innerArray.pushArray(Arguments.fromArray(pointToDoubleArray(point)))
80
- }
81
- array.pushArray(innerArray)
82
- }
83
- return array
80
+ private fun coordinatesL(points: List<Point>): WritableArray {
81
+ return fromList(points.map { coordinates(it) })
82
+ }
83
+
84
+ private fun coordinatesLL(points: List<List<Point>>): WritableArray {
85
+ return fromList(points.map { coordinatesL(it) })
86
+ }
87
+
88
+ private fun coordinatesLLL(points: List<List<List<Point>>>): WritableArray {
89
+ return fromList(points.map { coordinatesLL(it) })
84
90
  }
85
91
 
86
92
  @JvmStatic
@@ -208,4 +214,6 @@ object GeoJSONUtils {
208
214
  }
209
215
  return result
210
216
  }
217
+
218
+ const val LOG_TAG = "GeoJSONUtils"
211
219
  }
@@ -2,7 +2,7 @@ import Foundation
2
2
  import MapboxMaps
3
3
  import Turf
4
4
 
5
- protocol RCTMGLMapComponent : AnyObject {
5
+ protocol RCTMGLMapComponent : class {
6
6
  func addToMap(_ map: RCTMGLMapView, style: Style)
7
7
  func removeFromMap(_ map: RCTMGLMapView)
8
8
 
@@ -104,7 +104,7 @@ open class RCTMGLMapComponentBase : UIView, RCTMGLMapComponent {
104
104
  }
105
105
  }
106
106
 
107
- class RCTMGLCamera : RCTMGLMapComponentBase, LocationConsumer {
107
+ class RCTMGLCamera : RCTMGLMapComponentBase {
108
108
  var cameraAnimator: BasicCameraAnimator?
109
109
  let cameraUpdateQueue = CameraUpdateQueue()
110
110
 
@@ -219,7 +219,6 @@ class RCTMGLCamera : RCTMGLMapComponentBase, LocationConsumer {
219
219
 
220
220
  func _disableUsetTracking(_ map: MapView) {
221
221
  map.viewport.idle()
222
- map.location.removeLocationConsumer(consumer: self)
223
222
  }
224
223
 
225
224
  func _toCoordinateBounds(_ bounds: FeatureCollection) throws -> CoordinateBounds {
@@ -274,10 +273,17 @@ class RCTMGLCamera : RCTMGLMapComponentBase, LocationConsumer {
274
273
  }
275
274
 
276
275
  if let locationModule = RCTMGLLocationModule.shared {
277
- map.location.overrideLocationProvider(with: locationModule.locationProvider)
276
+ var isSameProvider = false
277
+ if let currentProvider = map.location.locationProvider as? AnyObject, let newProvider = locationModule.locationProvider as? AnyObject {
278
+ if currentProvider === newProvider {
279
+ isSameProvider = true
280
+ }
281
+ }
282
+ if !isSameProvider {
283
+ map.location.overrideLocationProvider(with: locationModule.locationProvider)
284
+ }
278
285
  }
279
286
  map.location.locationProvider.requestWhenInUseAuthorization()
280
- map.location.addLocationConsumer(newConsumer: self)
281
287
  var trackingModeChanged = false
282
288
  var followOptions = FollowPuckViewportStateOptions()
283
289
  switch userTrackingMode {
@@ -506,32 +512,6 @@ class RCTMGLCamera : RCTMGLMapComponentBase, LocationConsumer {
506
512
  map.viewport.removeStatusObserver(self)
507
513
  super.removeFromMap(map)
508
514
  }
509
-
510
- // MARK: - LocationConsumer
511
-
512
- func locationUpdate(newLocation: Location) {
513
- // viewport manages following user location
514
- if false && followUserLocation {
515
- withMapView { map in
516
- var animationType = CameraMode.none
517
- if let m = self.animationMode as? String, let m = CameraMode(rawValue: m) {
518
- animationType = m
519
- }
520
- let _camera = CameraOptions(center: newLocation.coordinate)
521
- let _duration = self.animationDuration as? Double ?? 0.5
522
- switch (animationType) {
523
- case .flight:
524
- map.camera.fly(to: _camera, duration: _duration)
525
- case .ease:
526
- map.camera.ease(to: _camera, duration: _duration, curve: .easeInOut, completion: nil)
527
- case .linear:
528
- map.camera.ease(to: _camera, duration: _duration, curve: .linear, completion: nil)
529
- default:
530
- map.mapboxMap.setCamera(to: CameraOptions(center: newLocation.coordinate))
531
- }
532
- }
533
- }
534
- }
535
515
  }
536
516
 
537
517
  // MARK: - ViewportStatusObserver
@@ -16,7 +16,19 @@ class RCTMGLInteractiveElement : UIView, RCTMGLMapComponent {
16
16
  "height": NSNumber(value: hitboxDefault)
17
17
  ]
18
18
 
19
- @objc var id: String! = nil
19
+ @objc var id: String! = nil {
20
+ willSet {
21
+ if id != nil && newValue != id {
22
+ Logger.log(level:.warn, message: "Changing id from: \(optional: id) to \(optional: newValue), changing of id is supported")
23
+ if let map = map { removeFromMap(map) }
24
+ }
25
+ }
26
+ didSet {
27
+ if oldValue != nil && oldValue != id {
28
+ if let map = map { addToMap(map, style: map.mapboxMap.style) }
29
+ }
30
+ }
31
+ }
20
32
 
21
33
  @objc var onDragStart: RCTBubblingEventBlock? = nil
22
34
 
@@ -1,6 +1,6 @@
1
1
  @_spi(Experimental) import MapboxMaps
2
2
 
3
- protocol RCTMGLSourceConsumer {
3
+ protocol RCTMGLSourceConsumer : class {
4
4
  func addToMap(_ map: RCTMGLMapView, style: Style)
5
5
  func removeFromMap(_ map: RCTMGLMapView, style: Style)
6
6
  }
@@ -9,6 +9,8 @@ protocol RCTMGLSourceConsumer {
9
9
  class RCTMGLLayer : UIView, RCTMGLMapComponent, RCTMGLSourceConsumer {
10
10
  weak var bridge : RCTBridge? = nil
11
11
 
12
+ var waitingForID: String? = nil
13
+
12
14
  @objc var sourceLayerID : String? = nil {
13
15
  didSet { self.optionsChanged() }
14
16
  }
@@ -31,7 +33,20 @@ class RCTMGLLayer : UIView, RCTMGLMapComponent, RCTMGLSourceConsumer {
31
33
  didSet { optionsChanged() }
32
34
  }
33
35
 
34
- @objc var id: String! = nil
36
+ @objc var id: String! = nil {
37
+ willSet {
38
+ if id != nil && newValue != id {
39
+ Logger.log(level:.warn, message: "Changing id from: \(optional: id) to \(optional: newValue), changing of id is supported")
40
+ if let style = style { self.removeFromMap(style) }
41
+ }
42
+ }
43
+ didSet {
44
+ if oldValue != nil && oldValue != id {
45
+ if let map = map, let style = style { self.addToMap(map, style: style) }
46
+ }
47
+ }
48
+ }
49
+
35
50
  @objc var sourceID: String? = nil {
36
51
  didSet { optionsChanged() }
37
52
  }
@@ -74,6 +89,13 @@ class RCTMGLLayer : UIView, RCTMGLMapComponent, RCTMGLSourceConsumer {
74
89
  }
75
90
 
76
91
  @objc weak var map: RCTMGLMapView? = nil
92
+
93
+ deinit {
94
+ if let waitingForID = waitingForID {
95
+ Logger.log(level:.warn, message: "RCTMGLLayer.removeFromMap - unmetPositionDependency: layer: \(optional: id) was waiting for layer: \(optional: waitingForID) but it hasn't added to map")
96
+ self.waitingForID = nil
97
+ }
98
+ }
77
99
 
78
100
  var styleLayer: Layer? = nil
79
101
 
@@ -86,9 +108,9 @@ class RCTMGLLayer : UIView, RCTMGLMapComponent, RCTMGLSourceConsumer {
86
108
  }
87
109
 
88
110
  func removeAndReaddLayer() {
89
- if let style = style {
111
+ if let map = map, let style = style {
90
112
  self.removeFromMap(style)
91
- self.insert(style, layerPosition: position())
113
+ self.addToMap(map, style:style)
92
114
  }
93
115
  }
94
116
 
@@ -248,7 +270,7 @@ class RCTMGLLayer : UIView, RCTMGLMapComponent, RCTMGLSourceConsumer {
248
270
  }
249
271
 
250
272
  private func optionsChanged() {
251
- if let style = self.style {
273
+ if let style = self.style, self.styleLayer != nil {
252
274
  self.setOptions(&self.styleLayer!)
253
275
  self.loggedApply(style: style)
254
276
  }
@@ -259,10 +281,14 @@ class RCTMGLLayer : UIView, RCTMGLMapComponent, RCTMGLSourceConsumer {
259
281
  }
260
282
 
261
283
  private func removeFromMap(_ style: Style) {
284
+ if let waitingForID = waitingForID {
285
+ Logger.log(level:.warn, message: "RCTMGLLayer.removeFromMap - unmetPositionDependency: layer: \(optional: id) was waiting for layer: \(optional: waitingForID) but it hasn't added to map")
286
+ }
287
+
262
288
  do {
263
289
  try style.removeLayer(withId: self.id)
264
290
  } catch {
265
- Logger.log(level: .error, message: "removing layer failed for layer \(optional: id): \(error.localizedDescription)")
291
+ Logger.log(level: .error, message: "RCTMGLLayer.removeFromMap: removing layer failed for layer \(optional: id): \(error.localizedDescription)")
266
292
  }
267
293
  }
268
294
 
@@ -279,8 +305,11 @@ class RCTMGLLayer : UIView, RCTMGLMapComponent, RCTMGLSourceConsumer {
279
305
  idToWaitFor = nil
280
306
  }
281
307
 
308
+
282
309
  if let idToWaitFor = idToWaitFor {
310
+ self.waitingForID = idToWaitFor
283
311
  map!.waitForLayerWithID(idToWaitFor) { _ in
312
+ self.waitingForID = nil
284
313
  self.attemptInsert(style, layerPosition: layerPosition, onInsert: onInsert)
285
314
  }
286
315
  } else {