@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
@@ -4,6 +4,13 @@ import android.content.Context
4
4
  import com.facebook.react.views.view.ReactViewGroup
5
5
  import com.mapbox.rctmgl.components.mapview.RCTMGLMapView
6
6
 
7
+ enum class RemovalReason {
8
+ VIEW_REMOVAL,
9
+ STYLE_CHANGE,
10
+ ON_DESTROY,
11
+ REORDER
12
+ }
13
+
7
14
  abstract class AbstractMapFeature(context: Context?) : ReactViewGroup(context) {
8
15
  protected var mMapView: RCTMGLMapView? = null;
9
16
  private var mWithMapViewCallbacks: Array<((RCTMGLMapView) -> Unit)>? = null;
@@ -14,8 +21,10 @@ abstract class AbstractMapFeature(context: Context?) : ReactViewGroup(context) {
14
21
  mWithMapViewCallbacks = null;
15
22
  }
16
23
 
17
- open fun removeFromMap(mapView: RCTMGLMapView) {
24
+ // return false if you don not want to remove this feature based on reason
25
+ open fun removeFromMap(mapView: RCTMGLMapView,reason: RemovalReason) : Boolean {
18
26
  mMapView = null;
27
+ return true;
19
28
  }
20
29
 
21
30
  internal fun withMapView(callback: (mapView: RCTMGLMapView) -> Unit) {
@@ -12,6 +12,7 @@ import com.mapbox.maps.ViewAnnotationAnchor
12
12
  import com.mapbox.maps.ViewAnnotationOptions
13
13
  import com.mapbox.maps.viewannotation.viewAnnotationOptions
14
14
  import com.mapbox.rctmgl.components.AbstractMapFeature
15
+ import com.mapbox.rctmgl.components.RemovalReason
15
16
  import com.mapbox.rctmgl.components.mapview.RCTMGLMapView
16
17
  import com.mapbox.rctmgl.utils.Logger
17
18
  import java.util.Vector
@@ -77,9 +78,10 @@ class RCTMGLMarkerView(context: Context?, private val mManager: RCTMGLMarkerView
77
78
  add()
78
79
  }
79
80
 
80
- override fun removeFromMap(mapView: RCTMGLMapView) {
81
- super.removeFromMap(mapView)
81
+ override fun removeFromMap(mapView: RCTMGLMapView, reason: RemovalReason): Boolean {
82
+ super.removeFromMap(mapView, reason)
82
83
  remove(mapView)
84
+ return true
83
85
  }
84
86
 
85
87
  // endregion
@@ -19,6 +19,7 @@ import android.view.View
19
19
  import com.mapbox.geojson.Point
20
20
  import com.mapbox.maps.ScreenCoordinate
21
21
  import com.mapbox.maps.Style
22
+ import com.mapbox.rctmgl.components.RemovalReason
22
23
  import com.mapbox.rctmgl.events.PointAnnotationDragEvent
23
24
  import com.mapbox.rctmgl.utils.BitmapUtils
24
25
  import com.mapbox.rctmgl.utils.LatLng
@@ -90,8 +91,8 @@ class RCTMGLPointAnnotation(private val mContext: Context, private val mManager:
90
91
  }
91
92
  }
92
93
 
93
- override fun removeFromMap(mapView: RCTMGLMapView) {
94
- val map = (if (mMapView != null) mMapView else mapView) ?: return
94
+ override fun removeFromMap(mapView: RCTMGLMapView, reason: RemovalReason): Boolean {
95
+ val map = (if (mMapView != null) mMapView else mapView) ?: return true
95
96
  if (marker != null) {
96
97
  map.pointAnnotationManager?.delete(marker!!)
97
98
  }
@@ -101,7 +102,7 @@ class RCTMGLPointAnnotation(private val mContext: Context, private val mManager:
101
102
  if (calloutView != null) {
102
103
  map.offscreenAnnotationViewContainer?.removeView(calloutView)
103
104
  }
104
- super.removeFromMap(mapView)
105
+ return super.removeFromMap(mapView, reason)
105
106
  }
106
107
 
107
108
  override fun onLayoutChange(v: View, left: Int, top: Int, right: Int, bottom: Int, oldLeft: Int, oldTop: Int,
@@ -55,9 +55,7 @@ class CameraUpdateQueue {
55
55
 
56
56
  fun execute(map: RCTMGLMapView?) {
57
57
  if (mQueue.isEmpty()) {
58
- if (mCompleteListener != null) {
59
- mCompleteListener!!.onCompleteAll()
60
- }
58
+ mCompleteListener?.let { it.onCompleteAll() }
61
59
  return
62
60
  }
63
61
  val stop = mQueue.poll() ?: return
@@ -25,6 +25,7 @@ import com.mapbox.maps.plugin.viewport.data.FollowPuckViewportStateBearing
25
25
  import com.mapbox.maps.plugin.viewport.data.FollowPuckViewportStateOptions
26
26
  import com.mapbox.maps.plugin.viewport.data.ViewportStatusChangeReason
27
27
  import com.mapbox.maps.plugin.viewport.viewport
28
+ import com.mapbox.rctmgl.components.RemovalReason
28
29
  import com.mapbox.rctmgl.components.camera.constants.CameraMode
29
30
  import com.mapbox.rctmgl.components.location.*
30
31
  import com.mapbox.rctmgl.events.MapUserTrackingModeEvent
@@ -39,7 +40,7 @@ class RCTMGLCamera(private val mContext: Context, private val mManager: RCTMGLCa
39
40
  private var hasSentFirstRegion = false
40
41
  private var mDefaultStop: CameraStop? = null
41
42
  private var mCameraStop: CameraStop? = null
42
- private val mCameraUpdateQueue: CameraUpdateQueue
43
+ private val mCameraUpdateQueue = CameraUpdateQueue()
43
44
 
44
45
  /*
45
46
  // private LocationComponent mLocationComponent;
@@ -66,17 +67,6 @@ class RCTMGLCamera(private val mContext: Context, private val mManager: RCTMGLCa
66
67
  private var mMaxBounds: LatLngBounds? = null
67
68
 
68
69
 
69
- private val mLocationBearingChangedListener = OnIndicatorBearingChangedListener { v ->
70
- if (mFollowUserLocation) {
71
- mMapView!!.getMapboxMap().setCamera(CameraOptions.Builder().bearing(v).build())
72
- }
73
- }
74
- private val mLocationPositionChangeListener = OnIndicatorPositionChangedListener { point ->
75
- if (mFollowUserLocation) {
76
- mMapView!!.getMapboxMap().setCamera(CameraOptions.Builder().center(point).build())
77
- mMapView!!.gestures.focalPoint = mMapView!!.getMapboxMap().pixelForCoordinate(point)
78
- }
79
- }
80
70
  private val mCameraCallback: Animator.AnimatorListener = object : Animator.AnimatorListener {
81
71
  override fun onAnimationStart(animator: Animator) {}
82
72
  override fun onAnimationEnd(animator: Animator) {
@@ -105,14 +95,18 @@ class RCTMGLCamera(private val mContext: Context, private val mManager: RCTMGLCa
105
95
  _updateViewportState()
106
96
  }
107
97
 
108
- override fun removeFromMap(mapView: RCTMGLMapView) {
109
- super.removeFromMap(mapView)
98
+ override fun removeFromMap(mapView: RCTMGLMapView, reason: RemovalReason) : Boolean {
99
+ if (reason == RemovalReason.STYLE_CHANGE) {
100
+ return false
101
+ } else {
102
+ return super.removeFromMap(mapView, reason);
103
+ }
110
104
  }
111
105
  fun setStop(stop: CameraStop) {
112
106
  mCameraStop = stop
113
- mCameraStop!!.setCallback(mCameraCallback)
107
+ stop.setCallback(mCameraCallback)
114
108
  if (mMapView != null) {
115
- mCameraStop?.let { updateCamera(it) }
109
+ stop.let { updateCamera(it) }
116
110
  }
117
111
  }
118
112
 
@@ -181,11 +175,13 @@ class RCTMGLCamera(private val mContext: Context, private val mManager: RCTMGLCa
181
175
  }
182
176
 
183
177
  private fun setInitialCamera() {
184
- val map = mMapView!!.getMapboxMap()
185
- if (mDefaultStop != null) {
186
- mDefaultStop!!.setDuration(0)
187
- mDefaultStop!!.setMode(CameraMode.NONE)
188
- val item = mDefaultStop!!.toCameraUpdate(mMapView!!)
178
+ mDefaultStop?.let {
179
+ val mapView = mMapView!!
180
+ val map = mapView.getMapboxMap()
181
+
182
+ it.setDuration(0)
183
+ it.setMode(CameraMode.NONE)
184
+ val item = it.toCameraUpdate(mapView)
189
185
  item.run()
190
186
  }
191
187
  }
@@ -221,7 +217,6 @@ class RCTMGLCamera(private val mContext: Context, private val mManager: RCTMGLCa
221
217
  }
222
218
 
223
219
  init {
224
- mCameraUpdateQueue = CameraUpdateQueue()
225
220
  mLocationManager = getInstance(mContext)
226
221
  }
227
222
 
@@ -15,6 +15,7 @@ import com.mapbox.maps.ImageStretches
15
15
  import com.mapbox.maps.MapboxMap
16
16
  import com.mapbox.maps.Style
17
17
  import com.mapbox.rctmgl.R
18
+ import com.mapbox.rctmgl.components.RemovalReason
18
19
  import com.mapbox.rctmgl.components.mapview.RCTMGLMapView
19
20
  import com.mapbox.rctmgl.components.images.RCTMGLImages
20
21
  import com.mapbox.rctmgl.events.ImageMissingEvent
@@ -92,13 +93,13 @@ class RCTMGLImages(context: Context, private val mManager: RCTMGLImagesManager)
92
93
  mSendMissingImageEvents = value
93
94
  }
94
95
 
95
- override fun removeFromMap(mapView: RCTMGLMapView) {
96
+ override fun removeFromMap(mapView: RCTMGLMapView, reason: RemovalReason): Boolean {
96
97
  removeImages(mapView)
97
98
  mMap = null
98
99
  mNativeImages = mutableMapOf()
99
100
  mImages = HashMap()
100
101
  mCurrentImages = HashSet()
101
- super.removeFromMap(mapView)
102
+ return super.removeFromMap(mapView, reason)
102
103
  }
103
104
 
104
105
  private fun removeImages(mapView: RCTMGLMapView) {
@@ -10,6 +10,7 @@ import com.mapbox.maps.Style
10
10
  import com.mapbox.maps.plugin.PuckBearingSource
11
11
  import com.mapbox.rctmgl.R
12
12
  import com.mapbox.rctmgl.components.AbstractMapFeature
13
+ import com.mapbox.rctmgl.components.RemovalReason
13
14
  import com.mapbox.rctmgl.components.mapview.RCTMGLMapView
14
15
 
15
16
  enum class RenderMode {
@@ -31,11 +32,11 @@ class RCTMGLNativeUserLocation(context: Context) : AbstractMapFeature(context),
31
32
  applyChanges()
32
33
  }
33
34
 
34
- override fun removeFromMap(mapView: RCTMGLMapView) {
35
+ override fun removeFromMap(mapView: RCTMGLMapView, reason: RemovalReason): Boolean {
35
36
  mEnabled = false
36
37
  mMapView?.locationComponentManager?.showNativeUserLocation(false)
37
38
  mMap?.getStyle(this)
38
- super.removeFromMap(mapView)
39
+ return super.removeFromMap(mapView, reason)
39
40
  }
40
41
 
41
42
  @SuppressLint("MissingPermission")
@@ -21,6 +21,7 @@ import com.mapbox.geojson.Feature
21
21
  import com.mapbox.geojson.FeatureCollection
22
22
  import com.mapbox.geojson.Point
23
23
  import com.mapbox.maps.*
24
+ import com.mapbox.maps.extension.localization.localizeLabels
24
25
  import com.mapbox.maps.extension.observable.eventdata.MapLoadingErrorEventData
25
26
  import com.mapbox.maps.extension.style.expressions.generated.Expression
26
27
  import com.mapbox.maps.extension.style.layers.Layer
@@ -46,6 +47,7 @@ import com.mapbox.maps.plugin.scalebar.generated.ScaleBarSettings
46
47
  import com.mapbox.maps.plugin.scalebar.scalebar
47
48
  import com.mapbox.rctmgl.R
48
49
  import com.mapbox.rctmgl.components.AbstractMapFeature
50
+ import com.mapbox.rctmgl.components.RemovalReason
49
51
  import com.mapbox.rctmgl.components.annotation.RCTMGLMarkerView
50
52
  import com.mapbox.rctmgl.components.annotation.RCTMGLMarkerViewManager
51
53
  import com.mapbox.rctmgl.components.annotation.RCTMGLPointAnnotation
@@ -142,6 +144,10 @@ class RCTMGLLifeCycle {
142
144
  }
143
145
  }
144
146
 
147
+ data class FeatureEntry(val feature: AbstractMapFeature?, val view: View?, var addedToMap: Boolean = false) {
148
+
149
+ }
150
+
145
151
  open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapViewManager /*, MapboxMapOptions options*/) : MapView(mContext), OnMapClickListener, OnMapLongClickListener {
146
152
  /**
147
153
  * `PointAnnotations` are rendered to a canvas, but the React Native `Image` component is
@@ -156,18 +162,22 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
156
162
  private var mPointAnnotationManager: PointAnnotationManager? = null
157
163
  private var mActiveMarkerID: Long = -1
158
164
  private var mProjection: ProjectionName = ProjectionName.MERCATOR
165
+ private var mLocaleString: String? = null
166
+ private var mLocaleLayerIds: List<String>? = null
159
167
  private var mStyleURL: String? = null
160
168
  val isDestroyed = false
161
169
  private var mCamera: RCTMGLCamera? = null
162
- private val mFeatures: MutableList<AbstractMapFeature> = ArrayList()
170
+ private val mFeatures = mutableListOf<FeatureEntry>()
163
171
  private var mQueuedFeatures: MutableList<AbstractMapFeature>? = ArrayList()
164
172
  private val mPointAnnotations: MutableMap<String, RCTMGLPointAnnotation>
165
173
  private val mCameraChangeTracker = CameraChangeTracker()
166
174
  private val mMap: MapboxMap?
167
175
 
168
- // v10todo, style gets null if we add anyhing
169
176
  var savedStyle: Style? = null
170
177
  private set
178
+
179
+ private var styleLoaded = false
180
+
171
181
  private val mHandledMapChangedEvents: HashSet<String>? = null
172
182
  private var mAnnotationClicked = false
173
183
  private var mAnnotationDragged = false
@@ -238,13 +248,19 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
238
248
  return mPointAnnotationManager
239
249
  }
240
250
 
251
+ private fun styleLoaded(style: Style) {
252
+ savedStyle = style
253
+ styleLoaded = true
254
+ setUpImage(style)
255
+ addFeaturesToMap()
256
+ applyLocalizeLabels()
257
+ style.setProjection(Projection(mProjection))
258
+ }
259
+
241
260
  private fun onMapReady(map: MapboxMap) {
242
261
  map.getStyle(object : Style.OnStyleLoaded {
243
262
  override fun onStyleLoaded(style: Style) {
244
- savedStyle = style
245
- setUpImage(style)
246
- addQueuedFeaturesToMap()
247
- setupLocalization(style)
263
+ styleLoaded(style)
248
264
  }
249
265
  })
250
266
  val _this = this
@@ -325,7 +341,7 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
325
341
  mMap.getStyle(onStyleLoaded)
326
342
  }
327
343
 
328
- // region features
344
+ // region Features
329
345
  fun addFeature(childView: View?, childPosition: Int) {
330
346
  var feature: AbstractMapFeature? = null
331
347
  if (childView is RCTSource<*>) {
@@ -354,23 +370,26 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
354
370
  feature = childView as AbstractMapFeature?
355
371
  } else if (childView is ViewGroup) {
356
372
  val children = childView
373
+ Logger.w(LOG_TAG, "Adding non map components as a child of a map is deprecated!")
357
374
  for (i in 0 until children.childCount) {
358
- addFeature(children.getChildAt(i), childPosition)
375
+ addView(children.getChildAt(i), childPosition)
359
376
  }
360
377
  }
361
- if (feature != null) {
362
- if (mQueuedFeatures == null) {
363
- feature.addToMap(this)
364
- mFeatures.add(childPosition, feature)
365
- } else {
366
- mQueuedFeatures?.add(childPosition, feature)
367
- }
378
+
379
+ val addToMap = styleLoaded
380
+
381
+
382
+ var entry = FeatureEntry(feature, childView, false)
383
+ if (addToMap) {
384
+ feature?.addToMap(this)
385
+ entry.addedToMap = true
368
386
  }
387
+ mFeatures.add(childPosition, entry);
369
388
  }
370
389
 
371
- fun removeFeature(childPosition: Int) {
372
- val feature = features()[childPosition]
373
- ?: return
390
+ fun removeFeatureAt(childPosition: Int) {
391
+ val entry = mFeatures[childPosition]
392
+ val feature = entry.feature
374
393
  if (feature is RCTSource<*>) {
375
394
  mSources.remove(feature.iD)
376
395
  } else if (feature is RCTMGLPointAnnotation) {
@@ -382,34 +401,26 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
382
401
  } else if (feature is RCTMGLImages) {
383
402
  mImages.remove(feature)
384
403
  }
385
- feature.removeFromMap(this)
386
- features().remove(feature)
387
- }
388
-
389
- private fun features(): MutableList<AbstractMapFeature> {
390
- return if (mQueuedFeatures != null && mQueuedFeatures!!.size > 0) (
391
- mQueuedFeatures!!
392
- )
393
- else {
394
- mFeatures
404
+ if (entry.addedToMap) {
405
+ if (feature?.removeFromMap(this, RemovalReason.VIEW_REMOVAL) == true) {
406
+ entry.addedToMap = false
407
+ }
395
408
  }
409
+ mFeatures.removeAt(childPosition)
396
410
  }
397
411
 
398
412
  val featureCount: Int
399
- get() = features().size
413
+ get() = mFeatures.size
400
414
 
401
- fun getFeatureAt(i: Int): AbstractMapFeature {
402
- return features()[i]
415
+ fun getFeatureAt(i: Int): View? {
416
+ return mFeatures[i].view
403
417
  }
404
418
 
405
- fun removeAllFeatures() {
419
+ fun removeAllFeatureFromMap(reason: RemovalReason) {
406
420
  mFeatures.forEach {
407
- it.removeFromMap(this)
408
- }
409
- mFeatures.clear()
410
- val queuedFeatures = mQueuedFeatures
411
- if (queuedFeatures != null) {
412
- queuedFeatures.clear()
421
+ if (it.feature?.removeFromMap(this, reason) == true) {
422
+ it.addedToMap = false
423
+ }
413
424
  }
414
425
  }
415
426
  // endregion
@@ -421,28 +432,23 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
421
432
  mCameraChangeTracker.setReason(CameraChangeReason.NONE)
422
433
  }
423
434
 
424
- private fun removeAllFeaturesFromMap() {
425
- mFeatures.forEach { it -> it.removeFromMap(this) }
426
- }
427
-
428
- private fun addQueuedFeaturesToMap() {
429
- mQueuedFeatures?.let { queuedFeatures ->
430
- queuedFeatures.forEach {
431
- it.addToMap(this)
432
- mFeatures.add(it)
435
+ private fun removeAllFeaturesFromMap(reason: RemovalReason) {
436
+ mFeatures.forEach { it ->
437
+ if (it.feature?.removeFromMap(this, reason) == true) {
438
+ it.addedToMap = false
433
439
  }
434
- queuedFeatures.clear()
435
440
  }
436
- mQueuedFeatures = null;
437
441
  }
438
442
 
439
- private fun addAllFeaturesToMap() {
440
- mQueuedFeatures?.also {
441
- this.addQueuedFeaturesToMap()
442
- } ?: run {
443
- mFeatures.forEach { it.addToMap(this) }
443
+ private fun addFeaturesToMap() {
444
+ mFeatures.forEach {
445
+ if (!it.addedToMap) {
446
+ it.feature?.addToMap(this)
447
+ it.addedToMap = true
448
+ }
444
449
  }
445
450
  }
451
+
446
452
 
447
453
  private val allTouchableSources: List<RCTSource<*>>
448
454
  private get() {
@@ -507,23 +513,37 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
507
513
  }
508
514
  }
509
515
 
516
+ fun applyLocalizeLabels() {
517
+ val localeStr = mLocaleString
518
+ if (localeStr != null) {
519
+ val locale = if (localeStr == "current") Locale.getDefault() else Locale(localeStr)
520
+ savedStyle?.localizeLabels(locale, mLocaleLayerIds)
521
+ }
522
+ }
523
+ fun setReactLocalizeLabels(localeStr: String?, layerIds: List<String>?) {
524
+ if (localeStr != null) {
525
+ mLocaleString = localeStr
526
+ mLocaleLayerIds = layerIds
527
+ }
528
+ applyLocalizeLabels()
529
+ }
530
+
510
531
  fun setReactStyleURL(styleURL: String) {
511
532
  mStyleURL = styleURL
512
533
  if (mMap != null) {
513
- removeAllFeaturesFromMap()
534
+ removeAllFeatureFromMap(RemovalReason.STYLE_CHANGE)
514
535
  if (isJSONValid(mStyleURL)) {
536
+ styleLoaded = false
515
537
  mMap.loadStyleJson(styleURL, object : Style.OnStyleLoaded {
516
538
  override fun onStyleLoaded(style: Style) {
517
- style.setProjection(Projection(mProjection))
518
- addAllFeaturesToMap()
539
+ styleLoaded(style)
519
540
  }
520
541
  })
521
542
  } else {
543
+ styleLoaded = false
522
544
  mMap.loadStyleUri(styleURL, object : Style.OnStyleLoaded {
523
545
  override fun onStyleLoaded(style: Style) {
524
- savedStyle = style
525
- style.setProjection(Projection(mProjection))
526
- addAllFeaturesToMap()
546
+ styleLoaded(style)
527
547
  }
528
548
  },
529
549
  object : OnMapLoadErrorListener {
@@ -737,19 +757,6 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
737
757
  return GeoJSONUtils.toPointFeature(latLng, properties)
738
758
  }
739
759
 
740
- private fun setupLocalization(style: Style) {
741
- /*
742
- mLocalizationPlugin = new LocalizationPlugin(RCTMGLMapView.this, mMap, style);
743
- if (mLocalizeLabels) {
744
- try {
745
- mLocalizationPlugin.matchMapLanguageWithDeviceDefault();
746
- } catch (Exception e) {
747
- final String localeString = Locale.getDefault().toString();
748
- Logger.w(LOG_TAG, String.format("Could not find matching locale for %s", localeString));
749
- }
750
- }*/
751
- }
752
-
753
760
  /**
754
761
  * Adds the marker image to the map for use as a SymbolLayer icon
755
762
  */
@@ -1245,7 +1252,7 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
1245
1252
  }
1246
1253
 
1247
1254
  override fun onDestroy() {
1248
- removeAllFeatures()
1255
+ removeAllFeaturesFromMap(RemovalReason.ON_DESTROY)
1249
1256
  viewAnnotationManager.removeAllViewAnnotations()
1250
1257
  mLocationComponentManager?.onDestroy();
1251
1258
 
@@ -1254,7 +1261,7 @@ open class RCTMGLMapView(private val mContext: Context, var mManager: RCTMGLMapV
1254
1261
  }
1255
1262
 
1256
1263
  fun onDropViewInstance() {
1257
- removeAllFeatures()
1264
+ removeAllFeaturesFromMap(RemovalReason.ON_DESTROY)
1258
1265
  viewAnnotationManager.removeAllViewAnnotations()
1259
1266
  lifecycle.onDestroy()
1260
1267
  }
@@ -59,7 +59,7 @@ open class RCTMGLMapViewManager(context: ReactApplicationContext?) :
59
59
  }
60
60
 
61
61
  override fun removeViewAt(mapView: RCTMGLMapView?, index: Int) {
62
- mapView!!.removeFeature(index)
62
+ mapView!!.removeFeatureAt(index)
63
63
  }
64
64
 
65
65
  override fun createViewInstance(themedReactContext: ThemedReactContext): RCTMGLMapView {
@@ -85,6 +85,13 @@ open class RCTMGLMapViewManager(context: ReactApplicationContext?) :
85
85
  mapView.setReactProjection( if (projection == "globe") ProjectionName.GLOBE else ProjectionName.MERCATOR )
86
86
  }
87
87
 
88
+ @ReactProp(name = "localizeLabels")
89
+ fun setLocalizeLabels(mapView: RCTMGLMapView, localeMap: ReadableMap?) {
90
+ val locale = localeMap?.getString("locale")
91
+ val layerIds = localeMap?.getArray("layerIds")?.toArrayList()?.mapNotNull {it?.toString()}
92
+ mapView.setReactLocalizeLabels(locale, layerIds)
93
+ }
94
+
88
95
  @ReactProp(name = "styleURL")
89
96
  fun setStyleURL(mapView: RCTMGLMapView, styleURL: String?) {
90
97
  mapView.setReactStyleURL(styleURL!!)
@@ -95,11 +102,6 @@ open class RCTMGLMapViewManager(context: ReactApplicationContext?) :
95
102
  //mapView.setReactPreferredFramesPerSecond(preferredFramesPerSecond);
96
103
  }
97
104
 
98
- @ReactProp(name = "localizeLabels")
99
- fun setLocalizeLabels(mapView: RCTMGLMapView?, localizeLabels: Boolean) {
100
- //mapView.setLocalizeLabels(localizeLabels);
101
- }
102
-
103
105
  @ReactProp(name = "zoomEnabled")
104
106
  fun setZoomEnabled(mapView: RCTMGLMapView, zoomEnabled: Boolean) {
105
107
  mapView.gestures.pinchToZoomEnabled = zoomEnabled
@@ -5,6 +5,7 @@ import com.facebook.react.bridge.ReadableMap
5
5
  import com.mapbox.maps.MapboxMap
6
6
  import com.mapbox.rctmgl.utils.ImageEntry
7
7
  import com.mapbox.rctmgl.utils.DownloadMapImageTask
8
+ import com.mapbox.rctmgl.utils.Logger
8
9
  import java.util.AbstractMap
9
10
  import java.util.ArrayList
10
11
 
@@ -39,11 +40,12 @@ class RCTMGLStyle(private val mContext: Context, reactStyle: ReadableMap?, map:
39
40
  }
40
41
 
41
42
  @JvmOverloads
42
- fun addImage(styleValue: RCTMGLStyleValue, callback: DownloadMapImageTask.OnAllImagesLoaded? = null) {
43
+ fun addImage(styleValue: RCTMGLStyleValue, styleKey: String, callback: DownloadMapImageTask.OnAllImagesLoaded? = null) {
43
44
  if (!styleValue.shouldAddImage()) {
44
45
  callback?.onAllImagesLoaded()
45
46
  return
46
47
  }
48
+ Logger.w(LOG_TAG,"Deprecated: Image in style is deprecated, use images component instead. key: $styleKey [image-in-style-deprecated]")
47
49
  val uriStr = styleValue.imageURI
48
50
  val images = arrayOf<Map.Entry<String, ImageEntry>>(
49
51
  AbstractMap.SimpleEntry<String, ImageEntry>(
@@ -59,4 +61,8 @@ class RCTMGLStyle(private val mContext: Context, reactStyle: ReadableMap?, map:
59
61
  mReactStyle = reactStyle
60
62
  mMap = map
61
63
  }
64
+
65
+ companion object {
66
+ const val LOG_TAG = "RCTMGLStyle"
67
+ }
62
68
  }
@@ -80,7 +80,7 @@ public class RCTMGLStyleFactory {
80
80
  RCTMGLStyleFactory.setFillTranslateAnchor(layer, styleValue);
81
81
  break;
82
82
  case "fillPattern":
83
- style.addImage(styleValue, new DownloadMapImageTask.OnAllImagesLoaded() {
83
+ style.addImage(styleValue, styleKey, new DownloadMapImageTask.OnAllImagesLoaded() {
84
84
  @Override
85
85
  public void onAllImagesLoaded() {
86
86
  try {
@@ -172,7 +172,7 @@ public class RCTMGLStyleFactory {
172
172
  RCTMGLStyleFactory.setLineDasharray(layer, styleValue);
173
173
  break;
174
174
  case "linePattern":
175
- style.addImage(styleValue, new DownloadMapImageTask.OnAllImagesLoaded() {
175
+ style.addImage(styleValue, styleKey, new DownloadMapImageTask.OnAllImagesLoaded() {
176
176
  @Override
177
177
  public void onAllImagesLoaded() {
178
178
  try {
@@ -240,7 +240,7 @@ public class RCTMGLStyleFactory {
240
240
  RCTMGLStyleFactory.setIconTextFitPadding(layer, styleValue);
241
241
  break;
242
242
  case "iconImage":
243
- style.addImage(styleValue, new DownloadMapImageTask.OnAllImagesLoaded() {
243
+ style.addImage(styleValue, styleKey, new DownloadMapImageTask.OnAllImagesLoaded() {
244
244
  @Override
245
245
  public void onAllImagesLoaded() {
246
246
  try {
@@ -573,7 +573,7 @@ public class RCTMGLStyleFactory {
573
573
  RCTMGLStyleFactory.setFillExtrusionTranslateAnchor(layer, styleValue);
574
574
  break;
575
575
  case "fillExtrusionPattern":
576
- style.addImage(styleValue, new DownloadMapImageTask.OnAllImagesLoaded() {
576
+ style.addImage(styleValue, styleKey, new DownloadMapImageTask.OnAllImagesLoaded() {
577
577
  @Override
578
578
  public void onAllImagesLoaded() {
579
579
  try {
@@ -729,7 +729,7 @@ public class RCTMGLStyleFactory {
729
729
  RCTMGLStyleFactory.setBackgroundColorTransition(layer, styleValue);
730
730
  break;
731
731
  case "backgroundPattern":
732
- style.addImage(styleValue, new DownloadMapImageTask.OnAllImagesLoaded() {
732
+ style.addImage(styleValue, styleKey, new DownloadMapImageTask.OnAllImagesLoaded() {
733
733
  @Override
734
734
  public void onAllImagesLoaded() {
735
735
  try {
@@ -6,6 +6,7 @@ import com.mapbox.maps.MapboxMap
6
6
  import com.mapbox.maps.extension.style.atmosphere.generated.Atmosphere
7
7
  import com.mapbox.maps.extension.style.terrain.generated.Terrain
8
8
  import com.mapbox.maps.extension.style.terrain.generated.removeTerrain
9
+ import com.mapbox.rctmgl.components.RemovalReason
9
10
  import com.mapbox.rctmgl.components.mapview.RCTMGLMapView
10
11
  import com.mapbox.rctmgl.components.styles.RCTMGLStyle
11
12
  import com.mapbox.rctmgl.components.styles.RCTMGLStyleFactory
@@ -40,10 +41,10 @@ class RCTMGLAtmosphere(context: Context?) : AbstractSourceConsumer(context) {
40
41
  mapView.savedStyle?.let { atmosphere.bindTo(it) }
41
42
  }
42
43
 
43
- override fun removeFromMap(mapView: RCTMGLMapView) {
44
+ override fun removeFromMap(mapView: RCTMGLMapView, reason: RemovalReason): Boolean {
44
45
  mapView.savedStyle?.let { it.removeTerrain() }
45
46
  mMap = null
46
- super.removeFromMap(mapView)
47
+ return super.removeFromMap(mapView, reason)
47
48
  }
48
49
 
49
50
  fun makeAtmosphere(): Atmosphere {