@rnmapbox/maps 10.1.0-beta.13 → 10.1.0-beta.15

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 (427) hide show
  1. package/android/build.gradle +1 -1
  2. package/android/src/main/java/com/rnmapbox/rnmbx/RNMBXPackage.kt +40 -10
  3. package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXCalloutManager.kt +33 -0
  4. package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXMarkerViewManager.kt +24 -10
  5. package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXPointAnnotationManager.kt +70 -0
  6. package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXPointAnnotationModule.kt +33 -0
  7. package/android/src/main/java/com/rnmapbox/rnmbx/components/images/RNMBXImageManager.kt +11 -21
  8. package/android/src/main/java/com/rnmapbox/rnmbx/components/images/RNMBXImageModule.kt +33 -0
  9. package/android/src/main/java/com/rnmapbox/rnmbx/components/images/RNMBXImagesManager.kt +9 -8
  10. package/android/src/main/java/com/rnmapbox/rnmbx/components/location/RNMBXNativeUserLocationManager.kt +11 -4
  11. package/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/NativeMapViewModule.kt +1 -1
  12. package/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/RNMBXMapView.kt +155 -78
  13. package/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/RNMBXMapViewManager.kt +72 -56
  14. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/atmosphere/RNMBXAtmosphereManager.kt +0 -5
  15. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/light/RNMBXLightManager.kt +27 -0
  16. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXImageSource.kt +1 -1
  17. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXImageSourceManager.kt +16 -8
  18. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXRasterDemSourceManager.kt +15 -1
  19. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXRasterSourceManager.kt +11 -3
  20. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXShapeSource.kt +21 -25
  21. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXShapeSourceManager.kt +32 -77
  22. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXShapeSourceModule.kt +61 -0
  23. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/{RCTSource.kt → RNMBXSource.kt} +8 -8
  24. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXTileSource.kt +1 -1
  25. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXTileSourceManager.kt +17 -17
  26. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXVectorSourceManager.kt +13 -32
  27. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/terrain/RNMBXTerrainManager.kt +8 -11
  28. package/android/src/main/java/com/rnmapbox/rnmbx/events/FeatureClickEvent.java +4 -4
  29. package/android/src/main/java/com/rnmapbox/rnmbx/utils/PropertyChanges.kt +68 -0
  30. package/android/src/main/java/com/rnmapbox/rnmbx/utils/ViewTagResolver.kt +6 -5
  31. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXCalloutManagerDelegate.java +25 -0
  32. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXCalloutManagerInterface.java +16 -0
  33. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXImageManagerDelegate.java +47 -0
  34. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXImageManagerInterface.java +22 -0
  35. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXImageSourceManagerDelegate.java +41 -0
  36. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXImageSourceManagerInterface.java +20 -0
  37. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXImagesManagerDelegate.java +38 -0
  38. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXImagesManagerInterface.java +19 -0
  39. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXLightManagerDelegate.java +32 -0
  40. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXLightManagerInterface.java +17 -0
  41. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXMapViewManagerDelegate.java +3 -0
  42. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXMapViewManagerInterface.java +1 -0
  43. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXMarkerViewManagerDelegate.java +41 -0
  44. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXMarkerViewManagerInterface.java +20 -0
  45. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXNativeUserLocationManagerDelegate.java +35 -0
  46. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXNativeUserLocationManagerInterface.java +18 -0
  47. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXPointAnnotationManagerDelegate.java +41 -0
  48. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXPointAnnotationManagerInterface.java +20 -0
  49. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXRasterDemSourceManagerDelegate.java +50 -0
  50. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXRasterDemSourceManagerInterface.java +23 -0
  51. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXRasterSourceManagerDelegate.java +56 -0
  52. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXRasterSourceManagerInterface.java +25 -0
  53. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXShapeSourceManagerDelegate.java +71 -0
  54. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXShapeSourceManagerInterface.java +30 -0
  55. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXTerrainManagerDelegate.java +35 -0
  56. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXTerrainManagerInterface.java +18 -0
  57. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXVectorSourceManagerDelegate.java +59 -0
  58. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXVectorSourceManagerInterface.java +26 -0
  59. package/android/src/main/old-arch/com/rnmapbox/rnmbx/NativeRNMBXImageModuleSpec.java +40 -0
  60. package/android/src/main/old-arch/com/rnmapbox/rnmbx/NativeRNMBXPointAnnotationModuleSpec.java +40 -0
  61. package/android/src/main/old-arch/com/rnmapbox/rnmbx/NativeRNMBXShapeSourceModuleSpec.java +48 -0
  62. package/ios/RNMBX/RNMBXAtmosphereComponentView.mm +2 -0
  63. package/ios/RNMBX/RNMBXBackgroundLayerComponentView.mm +2 -0
  64. package/ios/RNMBX/RNMBXCallout.swift +1 -1
  65. package/ios/RNMBX/RNMBXCalloutComponentView.h +15 -0
  66. package/ios/RNMBX/RNMBXCalloutComponentView.mm +57 -0
  67. package/ios/RNMBX/{RNMBXCalloutManager.m → RNMBXCalloutViewManager.m} +1 -1
  68. package/ios/RNMBX/{RNMBXCalloutManager.swift → RNMBXCalloutViewManager.swift} +2 -2
  69. package/ios/RNMBX/RNMBXCircleLayerComponentView.mm +2 -0
  70. package/ios/RNMBX/RNMBXFabricHelpers.h +1 -8
  71. package/ios/RNMBX/RNMBXFillExtrusionLayerComponentView.mm +3 -1
  72. package/ios/RNMBX/RNMBXFillLayerComponentView.mm +2 -0
  73. package/ios/RNMBX/RNMBXHeatmapLayerComponentView.mm +2 -0
  74. package/ios/RNMBX/RNMBXImage.swift +30 -22
  75. package/ios/RNMBX/RNMBXImageComponentView.h +15 -0
  76. package/ios/RNMBX/RNMBXImageComponentView.mm +100 -0
  77. package/ios/RNMBX/RNMBXImageManager.swift +0 -1
  78. package/ios/RNMBX/RNMBXImageModule.h +17 -0
  79. package/ios/RNMBX/RNMBXImageModule.mm +67 -0
  80. package/ios/RNMBX/RNMBXImageSource.swift +3 -3
  81. package/ios/RNMBX/RNMBXImageSourceComponentView.h +15 -0
  82. package/ios/RNMBX/RNMBXImageSourceComponentView.mm +100 -0
  83. package/ios/RNMBX/{RNMBXImageSourceManager.m → RNMBXImageSourceViewManager.m} +1 -1
  84. package/ios/RNMBX/{RNMBXImageSourceManager.swift → RNMBXImageSourceViewManager.swift} +2 -2
  85. package/ios/RNMBX/RNMBXImages.swift +10 -10
  86. package/ios/RNMBX/RNMBXImagesComponentView.h +15 -0
  87. package/ios/RNMBX/RNMBXImagesComponentView.mm +91 -0
  88. package/ios/RNMBX/{RNMBXImagesManager.m → RNMBXImagesViewManager.m} +1 -2
  89. package/ios/RNMBX/{RNMBXImagesManager.swift → RNMBXImagesViewManager.swift} +2 -2
  90. package/ios/RNMBX/RNMBXInteractiveElement.swift +7 -7
  91. package/ios/RNMBX/RNMBXLayer.swift +1 -1
  92. package/ios/RNMBX/RNMBXLight.swift +7 -7
  93. package/ios/RNMBX/RNMBXLightComponentView.h +15 -0
  94. package/ios/RNMBX/RNMBXLightComponentView.mm +68 -0
  95. package/ios/RNMBX/{RNMBXLightManager.m → RNMBXLightViewManager.m} +1 -1
  96. package/ios/RNMBX/{RNMBXLightManager.swift → RNMBXLightViewManager.swift} +2 -2
  97. package/ios/RNMBX/RNMBXLineLayerComponentView.mm +2 -0
  98. package/ios/RNMBX/RNMBXMapViewComponentView.mm +0 -1
  99. package/ios/RNMBX/RNMBXMarkerView.swift +23 -16
  100. package/ios/RNMBX/RNMBXMarkerViewComponentView.h +15 -0
  101. package/ios/RNMBX/RNMBXMarkerViewComponentView.mm +130 -0
  102. package/ios/RNMBX/RNMBXNativeUserLocation.swift +3 -3
  103. package/ios/RNMBX/RNMBXNativeUserLocationComponentView.h +15 -0
  104. package/ios/RNMBX/RNMBXNativeUserLocationComponentView.mm +72 -0
  105. package/ios/RNMBX/{RNMBXNativeUserLocationManager.m → RNMBXNativeUserLocationViewManager.m} +1 -1
  106. package/ios/RNMBX/{RNMBXNativeUserLocationManager.swift → RNMBXNativeUserLocationViewManager.swift} +2 -2
  107. package/ios/RNMBX/RNMBXPointAnnotation.swift +41 -30
  108. package/ios/RNMBX/RNMBXPointAnnotationComponentView.h +15 -0
  109. package/ios/RNMBX/RNMBXPointAnnotationComponentView.mm +147 -0
  110. package/ios/RNMBX/RNMBXPointAnnotationModule.h +17 -0
  111. package/ios/RNMBX/RNMBXPointAnnotationModule.mm +66 -0
  112. package/ios/RNMBX/{RNMBXPointAnnotationManager.m → RNMBXPointAnnotationViewManager.m} +1 -6
  113. package/ios/RNMBX/RNMBXPointAnnotationViewManager.swift +14 -0
  114. package/ios/RNMBX/RNMBXRasterDemSource.swift +6 -6
  115. package/ios/RNMBX/RNMBXRasterDemSourceComponentView.h +15 -0
  116. package/ios/RNMBX/RNMBXRasterDemSourceComponentView.mm +114 -0
  117. package/ios/RNMBX/{RNMBXRasterDemSourceManager.m → RNMBXRasterDemSourceViewManager.m} +1 -7
  118. package/ios/RNMBX/{RNMBXRasterDemSourceManager.swift → RNMBXRasterDemSourceViewManager.swift} +2 -2
  119. package/ios/RNMBX/RNMBXRasterLayerComponentView.mm +2 -0
  120. package/ios/RNMBX/RNMBXRasterSource.swift +8 -8
  121. package/ios/RNMBX/RNMBXRasterSourceComponentView.h +15 -0
  122. package/ios/RNMBX/RNMBXRasterSourceComponentView.mm +122 -0
  123. package/ios/RNMBX/{RNMBXRasterSourceManager.m → RNMBXRasterSourceViewManager.m} +1 -1
  124. package/ios/RNMBX/{RNMBXRasterSourceManager.swift → RNMBXRasterSourceViewManager.swift} +2 -2
  125. package/ios/RNMBX/RNMBXShapeSource.swift +11 -11
  126. package/ios/RNMBX/RNMBXShapeSourceComponentView.h +15 -0
  127. package/ios/RNMBX/RNMBXShapeSourceComponentView.mm +151 -0
  128. package/ios/RNMBX/RNMBXShapeSourceModule.h +18 -0
  129. package/ios/RNMBX/RNMBXShapeSourceModule.mm +79 -0
  130. package/ios/RNMBX/RNMBXShapeSourceViewManager.m +26 -0
  131. package/ios/RNMBX/{RNMBXShapeSourceManager.swift → RNMBXShapeSourceViewManager.swift} +12 -42
  132. package/ios/RNMBX/RNMBXSingletonLayer.swift +1 -1
  133. package/ios/RNMBX/RNMBXSkyLayerComponentView.mm +2 -0
  134. package/ios/RNMBX/RNMBXSource.swift +36 -27
  135. package/ios/RNMBX/RNMBXSymbolLayerComponentView.mm +2 -0
  136. package/ios/RNMBX/RNMBXTerrain.swift +2 -2
  137. package/ios/RNMBX/RNMBXTerrainComponentView.h +15 -0
  138. package/ios/RNMBX/RNMBXTerrainComponentView.mm +78 -0
  139. package/ios/RNMBX/{RNMBXTerrainManager.m → RNMBXTerrainViewManager.m} +1 -1
  140. package/ios/RNMBX/{RNMBXTerrainManager.swift → RNMBXTerrainViewManager.swift} +2 -2
  141. package/ios/RNMBX/RNMBXTileSource.swift +2 -2
  142. package/ios/RNMBX/RNMBXVectorSource.swift +6 -6
  143. package/ios/RNMBX/RNMBXVectorSourceComponentView.h +15 -0
  144. package/ios/RNMBX/RNMBXVectorSourceComponentView.mm +139 -0
  145. package/ios/RNMBX/{RNMBXVectorSourceManager.m → RNMBXVectorSourceViewManager.m} +1 -1
  146. package/ios/RNMBX/{RNMBXVectorSourceManager.swift → RNMBXVectorSourceViewManager.swift} +2 -2
  147. package/ios/RNMBX/rnmapbox_maps-Swift.pre.h +0 -2
  148. package/ios/install.md +1 -0
  149. package/lib/commonjs/components/Callout.js +3 -4
  150. package/lib/commonjs/components/Callout.js.map +1 -1
  151. package/lib/commonjs/components/Image.js +20 -4
  152. package/lib/commonjs/components/Image.js.map +1 -1
  153. package/lib/commonjs/components/ImageSource.js +10 -7
  154. package/lib/commonjs/components/ImageSource.js.map +1 -1
  155. package/lib/commonjs/components/Images.js +6 -3
  156. package/lib/commonjs/components/Images.js.map +1 -1
  157. package/lib/commonjs/components/Light.js +5 -5
  158. package/lib/commonjs/components/Light.js.map +1 -1
  159. package/lib/commonjs/components/MapView.js +12 -49
  160. package/lib/commonjs/components/MapView.js.map +1 -1
  161. package/lib/commonjs/components/MarkerView.js +2 -1
  162. package/lib/commonjs/components/MarkerView.js.map +1 -1
  163. package/lib/commonjs/components/NativeBridgeComponent.js +6 -43
  164. package/lib/commonjs/components/NativeBridgeComponent.js.map +1 -1
  165. package/lib/commonjs/components/NativeUserLocation.js +3 -4
  166. package/lib/commonjs/components/NativeUserLocation.js.map +1 -1
  167. package/lib/commonjs/components/PointAnnotation.js +29 -14
  168. package/lib/commonjs/components/PointAnnotation.js.map +1 -1
  169. package/lib/commonjs/components/RasterDemSource.js +11 -8
  170. package/lib/commonjs/components/RasterDemSource.js.map +1 -1
  171. package/lib/commonjs/components/RasterSource.js +11 -8
  172. package/lib/commonjs/components/RasterSource.js.map +1 -1
  173. package/lib/commonjs/components/ShapeSource.js +30 -62
  174. package/lib/commonjs/components/ShapeSource.js.map +1 -1
  175. package/lib/commonjs/components/Terrain.js +4 -5
  176. package/lib/commonjs/components/Terrain.js.map +1 -1
  177. package/lib/commonjs/components/VectorSource.js +24 -46
  178. package/lib/commonjs/components/VectorSource.js.map +1 -1
  179. package/lib/commonjs/specs/NativeRNMBXImageModule.js +10 -0
  180. package/lib/commonjs/specs/NativeRNMBXImageModule.js.map +1 -0
  181. package/lib/commonjs/specs/NativeRNMBXPointAnnotationModule.js +10 -0
  182. package/lib/commonjs/specs/NativeRNMBXPointAnnotationModule.js.map +1 -0
  183. package/lib/commonjs/specs/NativeRNMBXShapeSourceModule.js +10 -0
  184. package/lib/commonjs/specs/NativeRNMBXShapeSourceModule.js.map +1 -0
  185. package/lib/commonjs/specs/RNMBXCalloutNativeComponent.js +11 -0
  186. package/lib/commonjs/specs/RNMBXCalloutNativeComponent.js.map +1 -0
  187. package/lib/commonjs/specs/{RNMBXAndroidTextureMapViewNativeComponent.js → RNMBXImageNativeComponent.js} +2 -4
  188. package/lib/commonjs/specs/RNMBXImageNativeComponent.js.map +1 -0
  189. package/lib/commonjs/specs/RNMBXImageSourceNativeComponent.js +10 -0
  190. package/lib/commonjs/specs/RNMBXImageSourceNativeComponent.js.map +1 -0
  191. package/lib/commonjs/specs/RNMBXImagesNativeComponent.js +10 -0
  192. package/lib/commonjs/specs/RNMBXImagesNativeComponent.js.map +1 -0
  193. package/lib/commonjs/specs/RNMBXLightNativeComponent.js +10 -0
  194. package/lib/commonjs/specs/RNMBXLightNativeComponent.js.map +1 -0
  195. package/lib/commonjs/specs/RNMBXMapViewNativeComponent.js +1 -1
  196. package/lib/commonjs/specs/RNMBXMapViewNativeComponent.js.map +1 -1
  197. package/lib/commonjs/specs/RNMBXMarkerViewNativeComponent.js +10 -0
  198. package/lib/commonjs/specs/RNMBXMarkerViewNativeComponent.js.map +1 -0
  199. package/lib/commonjs/specs/RNMBXNativeUserLocationNativeComponent.js +10 -0
  200. package/lib/commonjs/specs/RNMBXNativeUserLocationNativeComponent.js.map +1 -0
  201. package/lib/commonjs/specs/RNMBXPointAnnotationNativeComponent.js +10 -0
  202. package/lib/commonjs/specs/RNMBXPointAnnotationNativeComponent.js.map +1 -0
  203. package/lib/commonjs/specs/RNMBXRasterDemSourceNativeComponent.js +10 -0
  204. package/lib/commonjs/specs/RNMBXRasterDemSourceNativeComponent.js.map +1 -0
  205. package/lib/commonjs/specs/RNMBXRasterSourceNativeComponent.js +10 -0
  206. package/lib/commonjs/specs/RNMBXRasterSourceNativeComponent.js.map +1 -0
  207. package/lib/commonjs/specs/RNMBXShapeSourceNativeComponent.js +10 -0
  208. package/lib/commonjs/specs/RNMBXShapeSourceNativeComponent.js.map +1 -0
  209. package/lib/commonjs/specs/RNMBXTerrainNativeComponent.js +10 -0
  210. package/lib/commonjs/specs/RNMBXTerrainNativeComponent.js.map +1 -0
  211. package/lib/commonjs/specs/RNMBXVectorSourceNativeComponent.js +10 -0
  212. package/lib/commonjs/specs/RNMBXVectorSourceNativeComponent.js.map +1 -0
  213. package/lib/commonjs/utils/index.js +6 -30
  214. package/lib/commonjs/utils/index.js.map +1 -1
  215. package/lib/module/components/Callout.js +3 -4
  216. package/lib/module/components/Callout.js.map +1 -1
  217. package/lib/module/components/Image.js +19 -4
  218. package/lib/module/components/Image.js.map +1 -1
  219. package/lib/module/components/ImageSource.js +10 -7
  220. package/lib/module/components/ImageSource.js.map +1 -1
  221. package/lib/module/components/Images.js +7 -4
  222. package/lib/module/components/Images.js.map +1 -1
  223. package/lib/module/components/Light.js +4 -4
  224. package/lib/module/components/Light.js.map +1 -1
  225. package/lib/module/components/MapView.js +12 -49
  226. package/lib/module/components/MapView.js.map +1 -1
  227. package/lib/module/components/MarkerView.js +3 -2
  228. package/lib/module/components/MarkerView.js.map +1 -1
  229. package/lib/module/components/NativeBridgeComponent.js +7 -44
  230. package/lib/module/components/NativeBridgeComponent.js.map +1 -1
  231. package/lib/module/components/NativeUserLocation.js +2 -4
  232. package/lib/module/components/NativeUserLocation.js.map +1 -1
  233. package/lib/module/components/PointAnnotation.js +30 -15
  234. package/lib/module/components/PointAnnotation.js.map +1 -1
  235. package/lib/module/components/RasterDemSource.js +11 -8
  236. package/lib/module/components/RasterDemSource.js.map +1 -1
  237. package/lib/module/components/RasterSource.js +11 -8
  238. package/lib/module/components/RasterSource.js.map +1 -1
  239. package/lib/module/components/ShapeSource.js +30 -62
  240. package/lib/module/components/ShapeSource.js.map +1 -1
  241. package/lib/module/components/Terrain.js +2 -4
  242. package/lib/module/components/Terrain.js.map +1 -1
  243. package/lib/module/components/VectorSource.js +26 -48
  244. package/lib/module/components/VectorSource.js.map +1 -1
  245. package/lib/module/specs/NativeRNMBXImageModule.js +5 -0
  246. package/lib/module/specs/NativeRNMBXImageModule.js.map +1 -0
  247. package/lib/module/specs/NativeRNMBXPointAnnotationModule.js +5 -0
  248. package/lib/module/specs/NativeRNMBXPointAnnotationModule.js.map +1 -0
  249. package/lib/module/specs/NativeRNMBXShapeSourceModule.js +5 -0
  250. package/lib/module/specs/NativeRNMBXShapeSourceModule.js.map +1 -0
  251. package/lib/module/specs/RNMBXCalloutNativeComponent.js +6 -0
  252. package/lib/module/specs/RNMBXCalloutNativeComponent.js.map +1 -0
  253. package/lib/module/specs/RNMBXImageNativeComponent.js +3 -0
  254. package/lib/module/specs/RNMBXImageNativeComponent.js.map +1 -0
  255. package/lib/module/specs/RNMBXImageSourceNativeComponent.js +3 -0
  256. package/lib/module/specs/RNMBXImageSourceNativeComponent.js.map +1 -0
  257. package/lib/module/specs/RNMBXImagesNativeComponent.js +3 -0
  258. package/lib/module/specs/RNMBXImagesNativeComponent.js.map +1 -0
  259. package/lib/module/specs/RNMBXLightNativeComponent.js +3 -0
  260. package/lib/module/specs/RNMBXLightNativeComponent.js.map +1 -0
  261. package/lib/module/specs/RNMBXMapViewNativeComponent.js +2 -0
  262. package/lib/module/specs/RNMBXMapViewNativeComponent.js.map +1 -1
  263. package/lib/module/specs/RNMBXMarkerViewNativeComponent.js +3 -0
  264. package/lib/module/specs/RNMBXMarkerViewNativeComponent.js.map +1 -0
  265. package/lib/module/specs/RNMBXNativeUserLocationNativeComponent.js +3 -0
  266. package/lib/module/specs/RNMBXNativeUserLocationNativeComponent.js.map +1 -0
  267. package/lib/module/specs/RNMBXPointAnnotationNativeComponent.js +3 -0
  268. package/lib/module/specs/RNMBXPointAnnotationNativeComponent.js.map +1 -0
  269. package/lib/module/specs/RNMBXRasterDemSourceNativeComponent.js +3 -0
  270. package/lib/module/specs/RNMBXRasterDemSourceNativeComponent.js.map +1 -0
  271. package/lib/module/specs/RNMBXRasterSourceNativeComponent.js +3 -0
  272. package/lib/module/specs/RNMBXRasterSourceNativeComponent.js.map +1 -0
  273. package/lib/module/specs/RNMBXShapeSourceNativeComponent.js +3 -0
  274. package/lib/module/specs/RNMBXShapeSourceNativeComponent.js.map +1 -0
  275. package/lib/module/specs/RNMBXTerrainNativeComponent.js +3 -0
  276. package/lib/module/specs/RNMBXTerrainNativeComponent.js.map +1 -0
  277. package/lib/module/specs/RNMBXVectorSourceNativeComponent.js +3 -0
  278. package/lib/module/specs/RNMBXVectorSourceNativeComponent.js.map +1 -0
  279. package/lib/module/utils/index.js +6 -29
  280. package/lib/module/utils/index.js.map +1 -1
  281. package/lib/typescript/src/components/Callout.d.ts +0 -1
  282. package/lib/typescript/src/components/Callout.d.ts.map +1 -1
  283. package/lib/typescript/src/components/Image.d.ts +0 -1
  284. package/lib/typescript/src/components/Image.d.ts.map +1 -1
  285. package/lib/typescript/src/components/ImageSource.d.ts.map +1 -1
  286. package/lib/typescript/src/components/Images.d.ts +0 -1
  287. package/lib/typescript/src/components/Images.d.ts.map +1 -1
  288. package/lib/typescript/src/components/Light.d.ts +0 -1
  289. package/lib/typescript/src/components/Light.d.ts.map +1 -1
  290. package/lib/typescript/src/components/MapView.d.ts +21 -28
  291. package/lib/typescript/src/components/MapView.d.ts.map +1 -1
  292. package/lib/typescript/src/components/MarkerView.d.ts.map +1 -1
  293. package/lib/typescript/src/components/NativeBridgeComponent.d.ts +5 -9
  294. package/lib/typescript/src/components/NativeBridgeComponent.d.ts.map +1 -1
  295. package/lib/typescript/src/components/NativeUserLocation.d.ts.map +1 -1
  296. package/lib/typescript/src/components/PointAnnotation.d.ts +5 -11
  297. package/lib/typescript/src/components/PointAnnotation.d.ts.map +1 -1
  298. package/lib/typescript/src/components/RasterDemSource.d.ts +0 -1
  299. package/lib/typescript/src/components/RasterDemSource.d.ts.map +1 -1
  300. package/lib/typescript/src/components/RasterSource.d.ts +0 -1
  301. package/lib/typescript/src/components/RasterSource.d.ts.map +1 -1
  302. package/lib/typescript/src/components/ShapeSource.d.ts +4 -22
  303. package/lib/typescript/src/components/ShapeSource.d.ts.map +1 -1
  304. package/lib/typescript/src/components/Terrain.d.ts +0 -1
  305. package/lib/typescript/src/components/Terrain.d.ts.map +1 -1
  306. package/lib/typescript/src/components/VectorSource.d.ts +4 -66
  307. package/lib/typescript/src/components/VectorSource.d.ts.map +1 -1
  308. package/lib/typescript/src/specs/NativeRNMBXImageModule.d.ts +9 -0
  309. package/lib/typescript/src/specs/NativeRNMBXImageModule.d.ts.map +1 -0
  310. package/lib/typescript/src/specs/NativeRNMBXPointAnnotationModule.d.ts +9 -0
  311. package/lib/typescript/src/specs/NativeRNMBXPointAnnotationModule.d.ts.map +1 -0
  312. package/lib/typescript/src/specs/NativeRNMBXShapeSourceModule.d.ts +11 -0
  313. package/lib/typescript/src/specs/NativeRNMBXShapeSourceModule.d.ts.map +1 -0
  314. package/lib/typescript/src/specs/RNMBXCalloutNativeComponent.d.ts +6 -0
  315. package/lib/typescript/src/specs/RNMBXCalloutNativeComponent.d.ts.map +1 -0
  316. package/lib/typescript/src/specs/RNMBXImageNativeComponent.d.ts +14 -0
  317. package/lib/typescript/src/specs/RNMBXImageNativeComponent.d.ts.map +1 -0
  318. package/lib/typescript/src/specs/RNMBXImageSourceNativeComponent.d.ts +11 -0
  319. package/lib/typescript/src/specs/RNMBXImageSourceNativeComponent.d.ts.map +1 -0
  320. package/lib/typescript/src/specs/RNMBXImagesNativeComponent.d.ts +18 -0
  321. package/lib/typescript/src/specs/RNMBXImagesNativeComponent.d.ts.map +1 -0
  322. package/lib/typescript/src/specs/RNMBXLightNativeComponent.d.ts +8 -0
  323. package/lib/typescript/src/specs/RNMBXLightNativeComponent.d.ts.map +1 -0
  324. package/lib/typescript/src/specs/RNMBXMapViewNativeComponent.d.ts +52 -3
  325. package/lib/typescript/src/specs/RNMBXMapViewNativeComponent.d.ts.map +1 -1
  326. package/lib/typescript/src/specs/RNMBXMarkerViewNativeComponent.d.ts +16 -0
  327. package/lib/typescript/src/specs/RNMBXMarkerViewNativeComponent.d.ts.map +1 -0
  328. package/lib/typescript/src/specs/RNMBXNativeUserLocationNativeComponent.d.ts +9 -0
  329. package/lib/typescript/src/specs/RNMBXNativeUserLocationNativeComponent.d.ts.map +1 -0
  330. package/lib/typescript/src/specs/RNMBXPointAnnotationNativeComponent.d.ts +37 -0
  331. package/lib/typescript/src/specs/RNMBXPointAnnotationNativeComponent.d.ts.map +1 -0
  332. package/lib/typescript/src/specs/RNMBXRasterDemSourceNativeComponent.d.ts +15 -0
  333. package/lib/typescript/src/specs/RNMBXRasterDemSourceNativeComponent.d.ts.map +1 -0
  334. package/lib/typescript/src/specs/RNMBXRasterSourceNativeComponent.d.ts +17 -0
  335. package/lib/typescript/src/specs/RNMBXRasterSourceNativeComponent.d.ts.map +1 -0
  336. package/lib/typescript/src/specs/RNMBXShapeSourceNativeComponent.d.ts +27 -0
  337. package/lib/typescript/src/specs/RNMBXShapeSourceNativeComponent.d.ts.map +1 -0
  338. package/lib/typescript/src/specs/RNMBXTerrainNativeComponent.d.ts +9 -0
  339. package/lib/typescript/src/specs/RNMBXTerrainNativeComponent.d.ts.map +1 -0
  340. package/lib/typescript/src/specs/RNMBXVectorSourceNativeComponent.d.ts +23 -0
  341. package/lib/typescript/src/specs/RNMBXVectorSourceNativeComponent.d.ts.map +1 -0
  342. package/lib/typescript/src/specs/codegenUtils.d.ts +0 -4
  343. package/lib/typescript/src/specs/codegenUtils.d.ts.map +1 -1
  344. package/lib/typescript/src/utils/index.d.ts +2 -3
  345. package/lib/typescript/src/utils/index.d.ts.map +1 -1
  346. package/package.json +1 -1
  347. package/plugin/build/withMapbox.d.ts +5 -4
  348. package/plugin/build/withMapbox.js +46 -19
  349. package/plugin/install.md +20 -0
  350. package/plugin/src/withMapbox.ts +79 -21
  351. package/setup-jest.js +14 -0
  352. package/src/components/Callout.tsx +4 -11
  353. package/src/components/Image.tsx +17 -13
  354. package/src/components/ImageSource.tsx +4 -6
  355. package/src/components/Images.tsx +9 -19
  356. package/src/components/Light.tsx +4 -12
  357. package/src/components/MapView.tsx +36 -74
  358. package/src/components/MarkerView.tsx +3 -15
  359. package/src/components/NativeBridgeComponent.tsx +9 -57
  360. package/src/components/NativeUserLocation.tsx +2 -8
  361. package/src/components/PointAnnotation.tsx +32 -24
  362. package/src/components/RasterDemSource.tsx +5 -8
  363. package/src/components/RasterSource.tsx +5 -8
  364. package/src/components/ShapeSource.tsx +22 -92
  365. package/src/components/Terrain.tsx +3 -11
  366. package/src/components/VectorSource.tsx +18 -59
  367. package/src/specs/NativeRNMBXImageModule.ts +10 -0
  368. package/src/specs/NativeRNMBXPointAnnotationModule.ts +12 -0
  369. package/src/specs/NativeRNMBXShapeSourceModule.ts +23 -0
  370. package/src/specs/RNMBXCalloutNativeComponent.ts +9 -0
  371. package/src/specs/RNMBXImageNativeComponent.ts +18 -0
  372. package/src/specs/RNMBXImageSourceNativeComponent.ts +15 -0
  373. package/src/specs/RNMBXImagesNativeComponent.ts +18 -0
  374. package/src/specs/RNMBXLightNativeComponent.ts +12 -0
  375. package/src/specs/RNMBXMapViewNativeComponent.ts +69 -5
  376. package/src/specs/RNMBXMarkerViewNativeComponent.ts +21 -0
  377. package/src/specs/RNMBXNativeUserLocationNativeComponent.ts +13 -0
  378. package/src/specs/RNMBXPointAnnotationNativeComponent.ts +40 -0
  379. package/src/specs/RNMBXRasterDemSourceNativeComponent.ts +19 -0
  380. package/src/specs/RNMBXRasterSourceNativeComponent.ts +21 -0
  381. package/src/specs/RNMBXShapeSourceNativeComponent.ts +33 -0
  382. package/src/specs/RNMBXTerrainNativeComponent.ts +13 -0
  383. package/src/specs/RNMBXVectorSourceNativeComponent.ts +28 -0
  384. package/src/specs/codegenUtils.ts +0 -5
  385. package/src/utils/index.ts +6 -43
  386. package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXCalloutManager.java +0 -18
  387. package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXPointAnnotationManager.java +0 -84
  388. package/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/RNMBXAndroidTextureMapViewManager.kt +0 -39
  389. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/light/RNMBXLightManager.java +0 -25
  390. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXAndroidTextureMapViewManagerDelegate.java +0 -95
  391. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXAndroidTextureMapViewManagerInterface.java +0 -38
  392. package/ios/RNMBX/RNMBXCircleLayerManager.m +0 -12
  393. package/ios/RNMBX/RNMBXCircleLayerManager.swift +0 -13
  394. package/ios/RNMBX/RNMBXPointAnnotationManager.swift +0 -34
  395. package/ios/RNMBX/RNMBXShapeSourceManager.m +0 -45
  396. package/lib/commonjs/specs/RNMBXAndroidTextureMapViewNativeComponent.js.map +0 -1
  397. package/lib/module/specs/RNMBXAndroidTextureMapViewNativeComponent.js +0 -5
  398. package/lib/module/specs/RNMBXAndroidTextureMapViewNativeComponent.js.map +0 -1
  399. package/lib/typescript/src/specs/RNMBXAndroidTextureMapViewNativeComponent.d.ts +0 -46
  400. package/lib/typescript/src/specs/RNMBXAndroidTextureMapViewNativeComponent.d.ts.map +0 -1
  401. package/src/specs/RNMBXAndroidTextureMapViewNativeComponent.ts +0 -59
  402. /package/android/src/main/mapbox-v11-compat/v10/com/{mapbox → rnmapbox}/rnmbx/v11compat/Annotation.kt +0 -0
  403. /package/android/src/main/mapbox-v11-compat/v10/com/{mapbox → rnmapbox}/rnmbx/v11compat/Event.kt +0 -0
  404. /package/android/src/main/mapbox-v11-compat/v10/com/{mapbox → rnmapbox}/rnmbx/v11compat/Feature.kt +0 -0
  405. /package/android/src/main/mapbox-v11-compat/v10/com/{mapbox → rnmapbox}/rnmbx/v11compat/HttpInterceptor.kt +0 -0
  406. /package/android/src/main/mapbox-v11-compat/v10/com/{mapbox → rnmapbox}/rnmbx/v11compat/Image.kt +0 -0
  407. /package/android/src/main/mapbox-v11-compat/v10/com/{mapbox → rnmapbox}/rnmbx/v11compat/Light.kt +0 -0
  408. /package/android/src/main/mapbox-v11-compat/v10/com/{mapbox → rnmapbox}/rnmbx/v11compat/Location.kt +0 -0
  409. /package/android/src/main/mapbox-v11-compat/v10/com/{mapbox → rnmapbox}/rnmbx/v11compat/MapboxMap.kt +0 -0
  410. /package/android/src/main/mapbox-v11-compat/v10/com/{mapbox → rnmapbox}/rnmbx/v11compat/OfflineManager.kt +0 -0
  411. /package/android/src/main/mapbox-v11-compat/v10/com/{mapbox → rnmapbox}/rnmbx/v11compat/OrnamentSettings.kt +0 -0
  412. /package/android/src/main/mapbox-v11-compat/v10/com/{mapbox → rnmapbox}/rnmbx/v11compat/ResourceOption.kt +0 -0
  413. /package/android/src/main/mapbox-v11-compat/v10/com/{mapbox → rnmapbox}/rnmbx/v11compat/Snapshot.kt +0 -0
  414. /package/android/src/main/mapbox-v11-compat/v10/com/{mapbox → rnmapbox}/rnmbx/v11compat/style.kt +0 -0
  415. /package/android/src/main/mapbox-v11-compat/v11/com/{mapbox → rnmapbox}/rnmbx/v11compat/Annotation.kt +0 -0
  416. /package/android/src/main/mapbox-v11-compat/v11/com/{mapbox → rnmapbox}/rnmbx/v11compat/Event.kt +0 -0
  417. /package/android/src/main/mapbox-v11-compat/v11/com/{mapbox → rnmapbox}/rnmbx/v11compat/Feature.kt +0 -0
  418. /package/android/src/main/mapbox-v11-compat/v11/com/{mapbox → rnmapbox}/rnmbx/v11compat/HttpInterceptor.kt +0 -0
  419. /package/android/src/main/mapbox-v11-compat/v11/com/{mapbox → rnmapbox}/rnmbx/v11compat/Image.kt +0 -0
  420. /package/android/src/main/mapbox-v11-compat/v11/com/{mapbox → rnmapbox}/rnmbx/v11compat/Light.kt +0 -0
  421. /package/android/src/main/mapbox-v11-compat/v11/com/{mapbox → rnmapbox}/rnmbx/v11compat/Location.kt +0 -0
  422. /package/android/src/main/mapbox-v11-compat/v11/com/{mapbox → rnmapbox}/rnmbx/v11compat/MapboxMap.kt +0 -0
  423. /package/android/src/main/mapbox-v11-compat/v11/com/{mapbox → rnmapbox}/rnmbx/v11compat/OfflineManager.kt +0 -0
  424. /package/android/src/main/mapbox-v11-compat/v11/com/{mapbox → rnmapbox}/rnmbx/v11compat/OrnamentSettings.kt +0 -0
  425. /package/android/src/main/mapbox-v11-compat/v11/com/{mapbox → rnmapbox}/rnmbx/v11compat/ResourceOption.kt +0 -0
  426. /package/android/src/main/mapbox-v11-compat/v11/com/{mapbox → rnmapbox}/rnmbx/v11compat/Snapshot.kt +0 -0
  427. /package/android/src/main/mapbox-v11-compat/v11/com/{mapbox → rnmapbox}/rnmbx/v11compat/style.kt +0 -0
@@ -63,7 +63,7 @@ import com.rnmapbox.rnmbx.components.mapview.helpers.CameraChangeReason
63
63
  import com.rnmapbox.rnmbx.components.mapview.helpers.CameraChangeTracker
64
64
  import com.rnmapbox.rnmbx.components.styles.layers.RNMBXLayer
65
65
  import com.rnmapbox.rnmbx.components.styles.light.RNMBXLight
66
- import com.rnmapbox.rnmbx.components.styles.sources.RCTSource
66
+ import com.rnmapbox.rnmbx.components.styles.sources.RNMBXSource
67
67
  import com.rnmapbox.rnmbx.components.styles.terrain.RNMBXTerrain
68
68
  import com.rnmapbox.rnmbx.events.AndroidCallbackEvent
69
69
  import com.rnmapbox.rnmbx.events.IEvent
@@ -86,6 +86,19 @@ import com.rnmapbox.rnmbx.v11compat.feature.*
86
86
  import com.rnmapbox.rnmbx.v11compat.mapboxmap.*
87
87
  import com.rnmapbox.rnmbx.v11compat.ornamentsettings.*
88
88
 
89
+ fun <T> MutableList<T>.removeIf21(predicate: (T) -> Boolean): Boolean {
90
+ var removed = false
91
+ val iterator = this.iterator()
92
+ while (iterator.hasNext()) {
93
+ val element = iterator.next()
94
+ if (predicate(element)) {
95
+ iterator.remove()
96
+ removed = true
97
+ }
98
+ }
99
+ return removed
100
+ }
101
+
89
102
  data class OrnamentSettings(
90
103
  var enabled : Boolean? = false,
91
104
  var margins: ReadableMap? =null,
@@ -166,7 +179,7 @@ class RNMBXLifeCycle {
166
179
  } else {
167
180
  attachedToWindowWaiters.add(callback)
168
181
  return com.rnmapbox.rnmbx.components.mapview.Cancelable {
169
- attachedToWindowWaiters.removeIf { it === callback }
182
+ attachedToWindowWaiters.removeIf21 { it === callback }
170
183
  }
171
184
  }
172
185
  }
@@ -190,7 +203,7 @@ open class RNMBXMapView(private val mContext: Context, var mManager: RNMBXMapVie
190
203
  */
191
204
  public var offscreenAnnotationViewContainer: ViewGroup? = null
192
205
 
193
- private val mSources: MutableMap<String, RCTSource<*>>
206
+ private val mSources: MutableMap<String, RNMBXSource<*>>
194
207
  private val mImages: MutableList<RNMBXImages>
195
208
  private var mPointAnnotationManager: PointAnnotationManager? = null
196
209
  private var mActiveMarkerID: AnnotationID = INVALID_ANNOTATION_ID
@@ -204,9 +217,11 @@ open class RNMBXMapView(private val mContext: Context, var mManager: RNMBXMapVie
204
217
  private var mQueuedFeatures: MutableList<AbstractMapFeature>? = ArrayList()
205
218
  private val mPointAnnotations: MutableMap<String, RNMBXPointAnnotation>
206
219
  private val mCameraChangeTracker = CameraChangeTracker()
207
- private val mMap: MapboxMap?
220
+ private lateinit var mMap: MapboxMap
208
221
 
209
- private val mMapView: MapView
222
+ private lateinit var mMapView: MapView
223
+ val isInitialized: Boolean
224
+ get() = this::mMapView.isInitialized
210
225
 
211
226
  var savedStyle: Style? = null
212
227
  private set
@@ -309,13 +324,13 @@ open class RNMBXMapView(private val mContext: Context, var mManager: RNMBXMapVie
309
324
  savedStyle = style
310
325
  styleLoaded = true
311
326
  setUpImage(style)
312
- addFeaturesToMap()
327
+ addFeaturesToMap(true)
313
328
  applyLocalizeLabels()
314
329
  style.setProjection(Projection(mProjection))
315
330
  }
316
331
 
317
- private fun setupEvents() {
318
- mMap?.addOnRenderFrameFinishedListener(
332
+ private fun setupEvents(map: MapboxMap) {
333
+ map.addOnRenderFrameFinishedListener(
319
334
  object: OnRenderFrameFinishedListener {
320
335
  override fun onRenderFrameFinished(eventData: RenderFrameFinishedEventData) {
321
336
  handleMapChangedEvent(EventTypes.DID_FINISH_RENDERING_FRAME_FULLY)
@@ -444,7 +459,7 @@ open class RNMBXMapView(private val mContext: Context, var mManager: RNMBXMapVie
444
459
  // region Features
445
460
  fun addFeature(childView: View?, childPosition: Int) {
446
461
  var feature: AbstractMapFeature? = null
447
- if (childView is RCTSource<*>) {
462
+ if (childView is RNMBXSource<*>) {
448
463
  val source = childView
449
464
  mSources[source.iD.toString()] = source
450
465
  feature = childView as AbstractMapFeature?
@@ -472,10 +487,10 @@ open class RNMBXMapView(private val mContext: Context, var mManager: RNMBXMapVie
472
487
  feature = childView as AbstractMapFeature
473
488
  } else if (childView is ViewGroup) {
474
489
  val children = childView
475
- Logger.w(LOG_TAG, "Adding non map components as a child of a map is deprecated!")
476
- for (i in 0 until children.childCount) {
477
- addView(children.getChildAt(i), childPosition)
478
- }
490
+ Logger.w(LOG_TAG, "Adding non map components:${children.javaClass.name} as a child of a map is deprecated!")
491
+ //for (i in 0 until children.childCount) {
492
+ // addView(children.getChildAt(i), childPosition)
493
+ //}
479
494
  }
480
495
 
481
496
  val addToMap = styleLoaded || (feature?.requiresStyleLoad == false)
@@ -491,7 +506,7 @@ open class RNMBXMapView(private val mContext: Context, var mManager: RNMBXMapVie
491
506
  fun removeFeatureAt(childPosition: Int) {
492
507
  val entry = mFeatures[childPosition]
493
508
  val feature = entry.feature
494
- if (feature is RCTSource<*>) {
509
+ if (feature is RNMBXSource<*>) {
495
510
  mSources.remove(feature.iD)
496
511
  } else if (feature is RNMBXPointAnnotation) {
497
512
  val annotation = feature
@@ -553,9 +568,9 @@ open class RNMBXMapView(private val mContext: Context, var mManager: RNMBXMapVie
553
568
  }
554
569
 
555
570
 
556
- private val allTouchableSources: List<RCTSource<*>>
571
+ private val allTouchableSources: List<RNMBXSource<*>>
557
572
  private get() {
558
- val sources: MutableList<RCTSource<*>> = ArrayList()
573
+ val sources: MutableList<RNMBXSource<*>> = ArrayList()
559
574
  for (key in mSources.keys) {
560
575
  val source = mSources[key]
561
576
  if (source != null && source.hasPressListener()) {
@@ -565,14 +580,14 @@ open class RNMBXMapView(private val mContext: Context, var mManager: RNMBXMapVie
565
580
  return sources
566
581
  }
567
582
 
568
- private fun getTouchableSourceWithHighestZIndex(sources: List<RCTSource<*>>?): RCTSource<*>? {
583
+ private fun getTouchableSourceWithHighestZIndex(sources: List<RNMBXSource<*>>?): RNMBXSource<*>? {
569
584
  if (sources == null || sources.size == 0) {
570
585
  return null
571
586
  }
572
587
  if (sources.size == 1) {
573
588
  return sources[0]
574
589
  }
575
- val layerToSourceMap: MutableMap<String, RCTSource<*>> = HashMap()
590
+ val layerToSourceMap: MutableMap<String, RNMBXSource<*>> = HashMap()
576
591
  for (source in sources) {
577
592
  val layerIDs: Array<out String>? = source.layerIDs.toTypedArray()
578
593
  if (layerIDs != null) {
@@ -606,13 +621,60 @@ open class RNMBXMapView(private val mContext: Context, var mManager: RNMBXMapVie
606
621
  return true
607
622
  }
608
623
 
624
+ // region properties
625
+ var surfaceView: Boolean? = null
626
+
627
+ enum class Property(val _apply: (RNMBXMapView) -> Unit) : PropertyUpdaterWithName<RNMBXMapView> {
628
+ PROJECTION(RNMBXMapView::applyProjection),
629
+ LOCALIZE_LABELS(RNMBXMapView::applyLocalizeLabels),
630
+ STYLE_URL(RNMBXMapView::applyStyleURL),
631
+ ATTRIBUTION(RNMBXMapView::applyAttribution),
632
+ LOGO(RNMBXMapView::applyLogo),
633
+ SCALEBAR(RNMBXMapView::applyScaleBar),
634
+ COMPASS(RNMBXMapView::applyCompass),;
635
+
636
+ override fun apply(mapView: RNMBXMapView) {
637
+ _apply(mapView)
638
+ }
639
+ }
640
+
641
+ val changes = PropertyChanges<RNMBXMapView>();
642
+
643
+ var withMapWaiters = mutableListOf<(map: MapView)->Unit>();
644
+ fun withMap(callback: (map: MapboxMap) -> Unit) {
645
+ if (! this::mMap.isInitialized) {
646
+ withMapWaiters.add { it -> callback(it.getMapboxMap()) }
647
+ } else {
648
+ callback(mMap)
649
+ }
650
+ }
651
+ fun withMapView(callback: (map: MapView) -> Unit) {
652
+ if (! this::mMapView.isInitialized) {
653
+ withMapWaiters.add(callback)
654
+ } else {
655
+ callback(mMapView)
656
+ }
657
+ }
658
+ fun applyAllChanges() {
659
+ if (! this::mMapView.isInitialized) {
660
+ createMapView()
661
+ withMapWaiters.forEach { it(mMapView) }
662
+ withMapWaiters.clear()
663
+ }
664
+ changes.apply(this)
665
+ }
666
+
667
+
609
668
  fun setReactProjection(projection: ProjectionName) {
610
669
  if (projection != null) {
611
670
  mProjection = projection
612
671
  }
672
+ changes.add(Property.PROJECTION)
673
+ }
613
674
 
675
+ fun applyProjection() {
614
676
  if (mMap != null) {
615
- mMap.getStyle()?.setProjection(Projection(projection))
677
+ mMap.getStyle()?.setProjection(Projection(mProjection))
616
678
  }
617
679
  }
618
680
 
@@ -629,14 +691,18 @@ open class RNMBXMapView(private val mContext: Context, var mManager: RNMBXMapVie
629
691
  mLocaleString = localeStr
630
692
  mLocaleLayerIds = layerIds
631
693
  }
632
- applyLocalizeLabels()
694
+ changes.add(Property.LOCALIZE_LABELS)
633
695
  }
634
696
 
635
697
  fun setReactStyleURL(styleURL: String) {
636
698
  mStyleURL = styleURL
637
- if (mMap != null) {
699
+ changes.add(Property.STYLE_URL)
700
+ }
701
+ fun applyStyleURL() {
702
+ val styleURL = mStyleURL
703
+ if (mMap != null && styleURL != null) {
638
704
  removeAllFeatureFromMap(RemovalReason.STYLE_CHANGE)
639
- if (isJSONValid(mStyleURL)) {
705
+ if (isJSONValid(styleURL)) {
640
706
  styleLoaded = false
641
707
  mMap.loadStyleJson(styleURL, object : Style.OnStyleLoaded {
642
708
  override fun onStyleLoaded(style: Style) {
@@ -650,25 +716,26 @@ open class RNMBXMapView(private val mContext: Context, var mManager: RNMBXMapVie
650
716
  styleLoaded(style)
651
717
  }
652
718
  },
653
- object : OnMapLoadErrorListener {
654
- override fun onMapLoadError(mapLoadingErrorEventData: MapLoadingErrorEventData) {
655
- Logger.w("MapLoadError", mapLoadingErrorEventData.message)
656
- }
719
+ object : OnMapLoadErrorListener {
720
+ override fun onMapLoadError(mapLoadingErrorEventData: MapLoadingErrorEventData) {
721
+ Logger.w("MapLoadError", mapLoadingErrorEventData.message)
657
722
  }
723
+ }
658
724
  )
659
725
  addFeaturesToMap(false)
660
726
  }
661
727
  }
662
728
  }
729
+ //endregion
663
730
 
664
731
  interface HandleTap {
665
- fun run(hitTouchableSources: List<RCTSource<*>?>?, hits: Map<String?, List<Feature?>?>)
732
+ fun run(hitTouchableSources: List<RNMBXSource<*>?>?, hits: Map<String?, List<Feature?>?>)
666
733
  }
667
734
 
668
735
  fun handleTapInSources(
669
- sources: LinkedList<RCTSource<*>>, screenPoint: ScreenCoordinate,
736
+ sources: LinkedList<RNMBXSource<*>>, screenPoint: ScreenCoordinate,
670
737
  hits: HashMap<String?, List<Feature?>?>,
671
- hitTouchableSources: ArrayList<RCTSource<*>?>,
738
+ hitTouchableSources: ArrayList<RNMBXSource<*>?>,
672
739
  handleTap: HandleTap
673
740
  ) {
674
741
  if (sources.isEmpty()) {
@@ -723,11 +790,11 @@ open class RNMBXMapView(private val mContext: Context, var mManager: RNMBXMapVie
723
790
  val hits = HashMap<String?, List<Feature?>?>()
724
791
  if (screenPoint != null) {
725
792
  handleTapInSources(LinkedList(touchableSources), screenPoint, hits, ArrayList(), object : HandleTap {
726
- override fun run(hitTouchableSources: List<RCTSource<*>?>?, hits: Map<String?, List<Feature?>?>) {
793
+ override fun run(hitTouchableSources: List<RNMBXSource<*>?>?, hits: Map<String?, List<Feature?>?>) {
727
794
  if (hits.size > 0) {
728
- val source = getTouchableSourceWithHighestZIndex(hitTouchableSources as List<RCTSource<*>>?)
795
+ val source = getTouchableSourceWithHighestZIndex(hitTouchableSources as List<RNMBXSource<*>>?)
729
796
  if (source != null && source.hasPressListener() && source.iD != null && source.iD in hits) {
730
- source.onPress(RCTSource.OnPressEvent(
797
+ source.onPress(RNMBXSource.OnPressEvent(
731
798
  hits[source.iD] as List<Feature>,
732
799
  GeoJSONUtils.toLatLng(point),
733
800
  PointF(screenPoint.x.toFloat(), screenPoint.y.toFloat())
@@ -934,7 +1001,7 @@ open class RNMBXMapView(private val mContext: Context, var mManager: RNMBXMapVie
934
1001
  // }
935
1002
  //}
936
1003
 
937
- // region Callbacks
1004
+ // region Methods
938
1005
 
939
1006
  fun getCenter(response: CommandResponse) {
940
1007
  var center = mMap!!.cameraState!!.center
@@ -1141,51 +1208,61 @@ open class RNMBXMapView(private val mContext: Context, var mManager: RNMBXMapVie
1141
1208
  }
1142
1209
  }
1143
1210
  }
1144
-
1145
1211
  // endregion
1146
1212
 
1147
1213
  companion object {
1148
1214
  const val LOG_TAG = "RNMBXMapView"
1149
1215
  }
1150
1216
 
1151
- init {
1152
- offscreenAnnotationViewContainer = FrameLayout(getContext())
1153
- val p = FrameLayout.LayoutParams(0, 0)
1154
- p.setMargins(-10000, -10000, -10000, -10000)
1155
- offscreenAnnotationViewContainer?.setLayoutParams(p)
1156
- addView(offscreenAnnotationViewContainer)
1157
-
1158
- mMapView = if (options != null) MapView(mContext, options) else MapView(mContext)
1217
+ fun createMapView() : MapView {
1218
+ var options: MapInitOptions? = null
1219
+ if (surfaceView == false) {
1220
+ options = MapInitOptions(context= mContext, textureView= true)
1221
+ }
1222
+ val mapView = if (options != null) MapView(mContext, options) else MapView(mContext)
1223
+ mMapView = mapView
1159
1224
 
1160
1225
  val matchParent = FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)
1161
- mMapView.setLayoutParams(matchParent)
1162
- addView(mMapView)
1163
-
1164
- mMap = mapView.getMapboxMap()
1165
- mSources = HashMap()
1166
- mImages = ArrayList()
1167
- mPointAnnotations = HashMap()
1226
+ mapView.setLayoutParams(matchParent)
1227
+ addView(mapView)
1228
+ this.addOnLayoutChangeListener(this)
1168
1229
 
1169
- onMapReady(mMap)
1230
+ val map = mapView.getMapboxMap()
1231
+ mMap = map
1170
1232
 
1171
1233
  val _this = this
1172
- mMap.addOnMapLoadedListener(OnMapLoadedListener { (begin, end) -> _this.handleMapChangedEvent(EventTypes.DID_FINISH_LOADING_MAP) })
1173
- mMap.addOnStyleLoadedListener(OnStyleLoadedListener { (begin, end) -> _this.handleMapChangedEvent(EventTypes.DID_FINISH_LOADING_STYLE) })
1174
- mMap.addOnStyleImageMissingListener(OnStyleImageMissingListener { (begin, end, id) ->
1234
+
1235
+ onMapReady(map)
1236
+
1237
+ map.addOnMapLoadedListener(OnMapLoadedListener { (begin, end) -> _this.handleMapChangedEvent(EventTypes.DID_FINISH_LOADING_MAP) })
1238
+ map.addOnStyleLoadedListener(OnStyleLoadedListener { (begin, end) -> _this.handleMapChangedEvent(EventTypes.DID_FINISH_LOADING_STYLE) })
1239
+ map.addOnStyleImageMissingListener(OnStyleImageMissingListener { (begin, end, id) ->
1175
1240
  for (images in mImages) {
1176
- if (images.addMissingImageToStyle(id, mMap)) {
1241
+ if (images.addMissingImageToStyle(id, map)) {
1177
1242
  return@OnStyleImageMissingListener
1178
1243
  }
1179
1244
  }
1180
1245
  for (images in mImages) {
1181
- images.sendImageMissingEvent(id, mMap)
1246
+ images.sendImageMissingEvent(id, map)
1182
1247
  }
1183
1248
  })
1184
1249
 
1185
1250
  RNMBXMarkerViewManager.markerViewContainerSizeFixer(this, mapView.viewAnnotationManager)
1186
1251
 
1187
- this.addOnLayoutChangeListener(this)
1188
- this.setupEvents()
1252
+ this.setupEvents(map)
1253
+ return mapView
1254
+ }
1255
+
1256
+ init {
1257
+ offscreenAnnotationViewContainer = FrameLayout(getContext())
1258
+ val p = FrameLayout.LayoutParams(0, 0)
1259
+ p.setMargins(-10000, -10000, -10000, -10000)
1260
+ offscreenAnnotationViewContainer?.setLayoutParams(p)
1261
+ addView(offscreenAnnotationViewContainer)
1262
+
1263
+ mSources = HashMap()
1264
+ mImages = ArrayList()
1265
+ mPointAnnotations = HashMap()
1189
1266
  }
1190
1267
 
1191
1268
  // region Ornaments
@@ -1246,30 +1323,30 @@ open class RNMBXMapView(private val mContext: Context, var mManager: RNMBXMapVie
1246
1323
 
1247
1324
  fun setReactCompassEnabled(compassEnabled: Boolean) {
1248
1325
  mCompassSettings.enabled = compassEnabled
1249
- updateCompass()
1326
+ changes.add(Property.COMPASS)
1250
1327
  }
1251
1328
 
1252
1329
  fun setReactCompassFadeWhenNorth(compassFadeWhenNorth: Boolean) {
1253
1330
  mCompassFadeWhenNorth = compassFadeWhenNorth
1254
- updateCompass()
1331
+ changes.add(Property.COMPASS)
1255
1332
  }
1256
1333
 
1257
1334
  fun setReactCompassViewMargins(compassViewMargins: ReadableMap) {
1258
1335
  mCompassSettings.margins = compassViewMargins
1259
- updateCompass()
1336
+ changes.add(Property.COMPASS)
1260
1337
  }
1261
1338
 
1262
1339
  fun setReactCompassViewPosition(compassViewPosition: Int) {
1263
1340
  mCompassSettings.position = compassViewPosition
1264
- updateCompass()
1341
+ changes.add(Property.COMPASS)
1265
1342
  }
1266
1343
 
1267
1344
  fun setReactCompassPosition(compassPosition: ReadableMap) {
1268
1345
  mCompassSettings.setPosAndMargins(compassPosition)
1269
- updateCompass()
1346
+ changes.add(Property.COMPASS)
1270
1347
  }
1271
1348
 
1272
- private fun updateCompass() {
1349
+ private fun applyCompass() {
1273
1350
  mapView.compass.updateSettings {
1274
1351
  fadeWhenFacingNorth = mCompassFadeWhenNorth
1275
1352
  updateOrnament("compass", mCompassSettings, this.toGenericOrnamentSettings())
@@ -1281,25 +1358,25 @@ open class RNMBXMapView(private val mContext: Context, var mManager: RNMBXMapVie
1281
1358
 
1282
1359
  fun setReactScaleBarEnabled(scaleBarEnabled: Boolean) {
1283
1360
  mScaleBarSettings.enabled = scaleBarEnabled
1284
- updateScaleBar()
1361
+ changes.add(Property.SCALEBAR)
1285
1362
  }
1286
1363
 
1287
1364
  fun setReactScaleBarViewMargins(scaleBarMargins: ReadableMap) {
1288
1365
  mScaleBarSettings.margins = scaleBarMargins
1289
- updateScaleBar()
1366
+ changes.add(Property.SCALEBAR)
1290
1367
  }
1291
1368
 
1292
1369
  fun setReactScaleBarViewPosition(scaleBarPosition: Int) {
1293
1370
  mScaleBarSettings.position = scaleBarPosition
1294
- updateScaleBar()
1371
+ changes.add(Property.SCALEBAR)
1295
1372
  }
1296
1373
 
1297
1374
  fun setReactScaleBarPosition(scaleBarPosition: ReadableMap) {
1298
1375
  mScaleBarSettings.setPosAndMargins(scaleBarPosition)
1299
- updateScaleBar()
1376
+ changes.add(Property.SCALEBAR)
1300
1377
  }
1301
1378
 
1302
- private fun updateScaleBar() {
1379
+ private fun applyScaleBar() {
1303
1380
  mapView.scalebar.updateSettings {
1304
1381
  updateOrnament("scaleBar", mScaleBarSettings, this.toGenericOrnamentSettings())
1305
1382
  }
@@ -1352,25 +1429,25 @@ open class RNMBXMapView(private val mContext: Context, var mManager: RNMBXMapVie
1352
1429
 
1353
1430
  fun setReactAttributionEnabled(attributionEnabled: Boolean?) {
1354
1431
  mAttributionSettings.enabled = attributionEnabled
1355
- updateAttribution()
1432
+ changes.add(Property.ATTRIBUTION)
1356
1433
  }
1357
1434
 
1358
1435
  fun setReactAttributionViewMargins(margins: ReadableMap) {
1359
1436
  mAttributionSettings.margins = margins
1360
- updateAttribution()
1437
+ changes.add(Property.ATTRIBUTION)
1361
1438
  }
1362
1439
 
1363
1440
  fun setReactAttributionViewPosition(position: Int) {
1364
1441
  mAttributionSettings.position = position
1365
- updateAttribution()
1442
+ changes.add(Property.ATTRIBUTION)
1366
1443
  }
1367
1444
 
1368
1445
  fun setReactAttributionPosition(position: ReadableMap?) {
1369
1446
  mAttributionSettings.setPosAndMargins(position)
1370
- updateAttribution()
1447
+ changes.add(Property.ATTRIBUTION)
1371
1448
  }
1372
1449
 
1373
- private fun updateAttribution() {
1450
+ private fun applyAttribution() {
1374
1451
  mapView.attribution.updateSettings {
1375
1452
  updateOrnament("attribution", mAttributionSettings, this.toGenericOrnamentSettings())
1376
1453
  }
@@ -1387,25 +1464,25 @@ open class RNMBXMapView(private val mContext: Context, var mManager: RNMBXMapVie
1387
1464
 
1388
1465
  fun setReactLogoEnabled(enabled: Boolean?) {
1389
1466
  mLogoSettings.enabled = enabled
1390
- updateLogo()
1467
+ changes.add(Property.LOGO)
1391
1468
  }
1392
1469
 
1393
1470
  fun setReactLogoMargins(margins: ReadableMap) {
1394
1471
  mLogoSettings.margins = margins
1395
- updateLogo()
1472
+ changes.add(Property.LOGO)
1396
1473
  }
1397
1474
 
1398
1475
  fun setReactLogoViewPosition(position: Int) {
1399
1476
  mLogoSettings.position = position
1400
- updateLogo()
1477
+ changes.add(Property.LOGO)
1401
1478
  }
1402
1479
 
1403
1480
  fun setReactLogoPosition(position: ReadableMap?) {
1404
1481
  mLogoSettings.setPosAndMargins(position)
1405
- updateLogo()
1482
+ changes.add(Property.LOGO)
1406
1483
  }
1407
1484
 
1408
- private fun updateLogo() {
1485
+ private fun applyLogo() {
1409
1486
  mapView.logo.updateSettings {
1410
1487
  updateOrnament("logo", mLogoSettings, this.toGenericOrnamentSettings())
1411
1488
  }
@@ -49,7 +49,7 @@ interface CommandResponse {
49
49
  fun error(message: String)
50
50
  }
51
51
 
52
- open class RNMBXMapViewManager(context: ReactApplicationContext, val viewTagResolver: ViewTagResolver<RNMBXMapView>) :
52
+ open class RNMBXMapViewManager(context: ReactApplicationContext, val viewTagResolver: ViewTagResolver) :
53
53
  AbstractEventEmitter<RNMBXMapView>(context), RNMBXMapViewManagerInterface<RNMBXMapView> {
54
54
  private val mViews: MutableMap<Int, RNMBXMapView>
55
55
 
@@ -77,7 +77,9 @@ open class RNMBXMapViewManager(context: ReactApplicationContext, val viewTagReso
77
77
 
78
78
  override fun onAfterUpdateTransaction(mapView: RNMBXMapView) {
79
79
  super.onAfterUpdateTransaction(mapView)
80
- if (mapView.getMapboxMap() == null) {
80
+ val first = !mapView.isInitialized
81
+ mapView.applyAllChanges()
82
+ if (first) {
81
83
  mViews[mapView.id] = mapView
82
84
  mapView.init()
83
85
  }
@@ -141,53 +143,63 @@ open class RNMBXMapViewManager(context: ReactApplicationContext, val viewTagReso
141
143
  mapView.setReactLocalizeLabels(locale, layerIds)
142
144
  }
143
145
 
146
+ @ReactProp(name = "surfaceView")
147
+ override fun setSurfaceView(mapView: RNMBXMapView, value: Dynamic) {
148
+ if (mapView.isInitialized) {
149
+ Logger.d(LOG_TAG, "setSurafaceView cannot be changed")
150
+ } else {
151
+ mapView.surfaceView = value.asBoolean()
152
+ }
153
+ }
154
+
144
155
  @ReactProp(name = "gestureSettings")
145
156
  override fun setGestureSettings(mapView: RNMBXMapView, settings: Dynamic) {
146
- mapView.getMapboxMap().gesturesPlugin {
147
- val map = settings.asMap()
148
- this.updateSettings {
149
- map.getAndLogIfNotBoolean("doubleTapToZoomInEnabled", LOG_TAG)?.let {
150
- this.doubleTapToZoomInEnabled = it
151
- }
152
- map.getAndLogIfNotBoolean("doubleTouchToZoomOutEnabled", LOG_TAG)?.let {
153
- this.doubleTouchToZoomOutEnabled = it
154
- }
155
- map.getAndLogIfNotBoolean("pinchPanEnabled", LOG_TAG)?.let {
156
- this.pinchScrollEnabled = it
157
- }
158
- map.getAndLogIfNotBoolean("pinchZoomEnabled", LOG_TAG)?.let {
159
- this.pinchToZoomEnabled = it
160
- }
161
- map.getAndLogIfNotBoolean("pinchZoomDecelerationEnabled", LOG_TAG)?.let {
162
- this.pinchToZoomDecelerationEnabled = it
163
- }
164
- map.getAndLogIfNotBoolean("pitchEnabled", LOG_TAG)?.let {
165
- this.pitchEnabled = it
166
- }
167
- map.getAndLogIfNotBoolean("quickZoomEnabled", LOG_TAG)?.let {
168
- this.quickZoomEnabled = it
169
- }
170
- map.getAndLogIfNotBoolean("rotateEnabled", LOG_TAG)?.let {
171
- this.rotateEnabled = it
172
- }
173
- map.getAndLogIfNotBoolean("rotateDecelerationEnabled", LOG_TAG)?.let {
174
- this.rotateDecelerationEnabled = it
175
- }
176
- map.getAndLogIfNotBoolean("panEnabled", LOG_TAG)?.let {
177
- this.scrollEnabled = it
178
- }
179
- map.getAndLogIfNotDouble("panDecelerationFactor", LOG_TAG)?.let {
180
- this.scrollDecelerationEnabled = it > 0.0
181
- }
182
- map.getAndLogIfNotBoolean("simultaneousRotateAndPinchToZoomEnabled", LOG_TAG)?.let {
183
- this.simultaneousRotateAndPinchToZoomEnabled = it
184
- }
185
- map.getAndLogIfNotDouble("zoomAnimationAmount", LOG_TAG)?.let {
186
- this.zoomAnimationAmount = it.toFloat()
187
- }
188
- }
157
+ mapView.withMap {
158
+ it.gesturesPlugin {
159
+ val map = settings.asMap()
160
+ this.updateSettings {
161
+ map.getAndLogIfNotBoolean("doubleTapToZoomInEnabled", LOG_TAG)?.let {
162
+ this.doubleTapToZoomInEnabled = it
163
+ }
164
+ map.getAndLogIfNotBoolean("doubleTouchToZoomOutEnabled", LOG_TAG)?.let {
165
+ this.doubleTouchToZoomOutEnabled = it
166
+ }
167
+ map.getAndLogIfNotBoolean("pinchPanEnabled", LOG_TAG)?.let {
168
+ this.pinchScrollEnabled = it
169
+ }
170
+ map.getAndLogIfNotBoolean("pinchZoomEnabled", LOG_TAG)?.let {
171
+ this.pinchToZoomEnabled = it
172
+ }
173
+ map.getAndLogIfNotBoolean("pinchZoomDecelerationEnabled", LOG_TAG)?.let {
174
+ this.pinchToZoomDecelerationEnabled = it
175
+ }
176
+ map.getAndLogIfNotBoolean("pitchEnabled", LOG_TAG)?.let {
177
+ this.pitchEnabled = it
178
+ }
179
+ map.getAndLogIfNotBoolean("quickZoomEnabled", LOG_TAG)?.let {
180
+ this.quickZoomEnabled = it
181
+ }
182
+ map.getAndLogIfNotBoolean("rotateEnabled", LOG_TAG)?.let {
183
+ this.rotateEnabled = it
184
+ }
185
+ map.getAndLogIfNotBoolean("rotateDecelerationEnabled", LOG_TAG)?.let {
186
+ this.rotateDecelerationEnabled = it
187
+ }
188
+ map.getAndLogIfNotBoolean("panEnabled", LOG_TAG)?.let {
189
+ this.scrollEnabled = it
190
+ }
191
+ map.getAndLogIfNotDouble("panDecelerationFactor", LOG_TAG)?.let {
192
+ this.scrollDecelerationEnabled = it > 0.0
193
+ }
194
+ map.getAndLogIfNotBoolean("simultaneousRotateAndPinchToZoomEnabled", LOG_TAG)?.let {
195
+ this.simultaneousRotateAndPinchToZoomEnabled = it
196
+ }
197
+ map.getAndLogIfNotDouble("zoomAnimationAmount", LOG_TAG)?.let {
198
+ this.zoomAnimationAmount = it.toFloat()
199
+ }
200
+ }
201
+ }
189
202
  }
190
-
191
203
  }
192
204
 
193
205
  @ReactProp(name = "styleURL")
@@ -202,28 +214,32 @@ open class RNMBXMapViewManager(context: ReactApplicationContext, val viewTagReso
202
214
 
203
215
  @ReactProp(name = "zoomEnabled")
204
216
  override fun setZoomEnabled(map: RNMBXMapView, zoomEnabled: Dynamic) {
205
- val mapView = map.mapView
206
- mapView.gestures.pinchToZoomEnabled = zoomEnabled.asBoolean()
207
- mapView.gestures.doubleTouchToZoomOutEnabled = zoomEnabled.asBoolean()
208
- mapView.gestures.doubleTapToZoomInEnabled = zoomEnabled.asBoolean()
217
+ map.withMapView {
218
+ it.gestures.pinchToZoomEnabled = zoomEnabled.asBoolean()
219
+ it.gestures.doubleTouchToZoomOutEnabled = zoomEnabled.asBoolean()
220
+ it.gestures.doubleTapToZoomInEnabled = zoomEnabled.asBoolean()
221
+ }
209
222
  }
210
223
 
211
224
  @ReactProp(name = "scrollEnabled")
212
225
  override fun setScrollEnabled(map: RNMBXMapView, scrollEnabled: Dynamic) {
213
- val mapView = map.mapView
214
- mapView.gestures.scrollEnabled = scrollEnabled.asBoolean()
226
+ map.withMapView {
227
+ it.gestures.scrollEnabled = scrollEnabled.asBoolean()
228
+ }
215
229
  }
216
230
 
217
231
  @ReactProp(name = "pitchEnabled")
218
232
  override fun setPitchEnabled(map: RNMBXMapView, pitchEnabled: Dynamic) {
219
- val mapView = map.mapView
220
- mapView.gestures.pitchEnabled = pitchEnabled.asBoolean()
233
+ map.withMapView {
234
+ it.gestures.pitchEnabled = pitchEnabled.asBoolean()
235
+ }
221
236
  }
222
237
 
223
238
  @ReactProp(name = "rotateEnabled")
224
239
  override fun setRotateEnabled(map: RNMBXMapView, rotateEnabled: Dynamic) {
225
- val mapView = map.mapView
226
- mapView.gestures.rotateEnabled = rotateEnabled.asBoolean()
240
+ map.withMapView {
241
+ it.gestures.rotateEnabled = rotateEnabled.asBoolean()
242
+ }
227
243
  }
228
244
 
229
245
  @ReactProp(name = "attributionEnabled")