@maplibre/maplibre-react-native 11.0.0-alpha.1 → 11.0.0-alpha.11

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 (934) hide show
  1. package/MapLibreReactNative.podspec +2 -2
  2. package/README.md +15 -2
  3. package/android/build.gradle +3 -6
  4. package/android/gradle.properties +2 -2
  5. package/android/src/main/java/org/maplibre/reactnative/MLRNPackage.kt +78 -41
  6. package/android/src/main/java/org/maplibre/reactnative/components/AbstractEvent.kt +24 -0
  7. package/android/src/main/java/org/maplibre/reactnative/components/AbstractEventEmitter.kt +71 -0
  8. package/android/src/main/java/org/maplibre/reactnative/components/annotations/MLRNCallout.java +11 -0
  9. package/android/src/main/java/org/maplibre/reactnative/components/annotations/MLRNCalloutManager.java +18 -0
  10. package/android/src/main/java/org/maplibre/reactnative/components/annotations/MLRNMarkerView.java +112 -0
  11. package/android/src/main/java/org/maplibre/reactnative/components/annotations/MLRNMarkerViewManager.java +45 -0
  12. package/android/src/main/java/org/maplibre/reactnative/components/annotations/MLRNPointAnnotation.java +361 -0
  13. package/android/src/main/java/org/maplibre/reactnative/components/annotations/MLRNPointAnnotationManager.java +84 -0
  14. package/android/src/main/java/org/maplibre/reactnative/components/annotations/MarkerView.java +23 -0
  15. package/android/src/main/java/org/maplibre/reactnative/components/annotations/MarkerViewManager.java +69 -0
  16. package/android/src/main/java/org/maplibre/reactnative/components/camera/CameraStop.kt +203 -0
  17. package/android/src/main/java/org/maplibre/reactnative/components/camera/CameraUpdateItem.kt +109 -0
  18. package/android/src/main/java/org/maplibre/reactnative/components/camera/CameraUpdateQueue.kt +60 -0
  19. package/android/src/main/java/org/maplibre/reactnative/components/camera/MLRNCamera.kt +409 -0
  20. package/android/src/main/java/org/maplibre/reactnative/components/camera/MLRNCameraManager.kt +69 -0
  21. package/android/src/main/java/org/maplibre/reactnative/components/camera/MLRNCameraModule.kt +34 -0
  22. package/android/src/main/java/org/maplibre/reactnative/components/camera/constants/CameraEasing.kt +24 -0
  23. package/android/src/main/java/org/maplibre/reactnative/components/images/MLRNImages.java +1 -2
  24. package/android/src/main/java/org/maplibre/reactnative/components/images/MLRNImagesManager.java +3 -3
  25. package/android/src/main/java/org/maplibre/reactnative/components/layers/MLRNBackgroundLayer.java +23 -0
  26. package/android/src/main/java/org/maplibre/reactnative/components/layers/MLRNBackgroundLayerManager.java +60 -0
  27. package/android/src/main/java/org/maplibre/reactnative/components/layers/MLRNCircleLayer.java +51 -0
  28. package/android/src/main/java/org/maplibre/reactnative/components/layers/MLRNCircleLayerManager.java +71 -0
  29. package/android/src/main/java/org/maplibre/reactnative/components/layers/MLRNFillExtrusionLayer.java +51 -0
  30. package/android/src/main/java/org/maplibre/reactnative/components/layers/MLRNFillExtrusionLayerManager.java +71 -0
  31. package/android/src/main/java/org/maplibre/reactnative/components/layers/MLRNFillLayer.java +51 -0
  32. package/android/src/main/java/org/maplibre/reactnative/components/layers/MLRNFillLayerManager.java +71 -0
  33. package/android/src/main/java/org/maplibre/reactnative/components/layers/MLRNHeatmapLayer.java +51 -0
  34. package/android/src/main/java/org/maplibre/reactnative/components/layers/MLRNHeatmapLayerManager.java +71 -0
  35. package/android/src/main/java/org/maplibre/reactnative/components/layers/MLRNLayer.java +279 -0
  36. package/android/src/main/java/org/maplibre/reactnative/components/layers/MLRNLineLayer.java +51 -0
  37. package/android/src/main/java/org/maplibre/reactnative/components/layers/MLRNLineLayerManager.java +71 -0
  38. package/android/src/main/java/org/maplibre/reactnative/components/layers/MLRNRasterLayer.java +23 -0
  39. package/android/src/main/java/org/maplibre/reactnative/components/layers/MLRNRasterLayerManager.java +60 -0
  40. package/android/src/main/java/org/maplibre/reactnative/components/layers/MLRNSymbolLayer.java +51 -0
  41. package/android/src/main/java/org/maplibre/reactnative/components/layers/MLRNSymbolLayerManager.java +71 -0
  42. package/android/src/main/java/org/maplibre/reactnative/components/layers/style/MLRNStyle.java +76 -0
  43. package/android/src/main/java/org/maplibre/reactnative/components/layers/style/MLRNStyleFactory.java +2285 -0
  44. package/android/src/main/java/org/maplibre/reactnative/components/layers/style/MLRNStyleFunctionParser.java +94 -0
  45. package/android/src/main/java/org/maplibre/reactnative/components/layers/style/MLRNStyleValue.java +207 -0
  46. package/android/src/main/java/org/maplibre/reactnative/components/location/LocationComponentManager.java +1 -1
  47. package/android/src/main/java/org/maplibre/reactnative/components/mapview/MLRNAndroidTextureMapView.kt +23 -0
  48. package/android/src/main/java/org/maplibre/reactnative/components/mapview/MLRNAndroidTextureMapViewManager.kt +23 -0
  49. package/android/src/main/java/org/maplibre/reactnative/components/mapview/MLRNMapView.kt +1362 -0
  50. package/android/src/main/java/org/maplibre/reactnative/components/mapview/MLRNMapViewManager.kt +193 -0
  51. package/android/src/main/java/org/maplibre/reactnative/components/mapview/MLRNMapViewModule.kt +159 -0
  52. package/android/src/main/java/org/maplibre/reactnative/components/mapview/helpers/CameraChangeTracker.kt +26 -0
  53. package/android/src/main/java/org/maplibre/reactnative/components/mapview/helpers/LayerSourceInfo.kt +74 -0
  54. package/android/src/main/java/org/maplibre/reactnative/components/sources/MLRNImageSource.java +75 -0
  55. package/android/src/main/java/org/maplibre/reactnative/components/sources/MLRNImageSourceManager.java +66 -0
  56. package/android/src/main/java/org/maplibre/reactnative/components/sources/MLRNRasterSource.java +40 -0
  57. package/android/src/main/java/org/maplibre/reactnative/components/sources/MLRNRasterSourceManager.java +39 -0
  58. package/android/src/main/java/org/maplibre/reactnative/components/sources/MLRNShapeSource.java +248 -0
  59. package/android/src/main/java/org/maplibre/reactnative/components/sources/MLRNShapeSourceManager.java +216 -0
  60. package/android/src/main/java/org/maplibre/reactnative/components/sources/MLRNSource.java +240 -0
  61. package/android/src/main/java/org/maplibre/reactnative/components/sources/MLRNTileSource.java +97 -0
  62. package/android/src/main/java/org/maplibre/reactnative/components/sources/MLRNTileSourceManager.java +80 -0
  63. package/android/src/main/java/org/maplibre/reactnative/components/sources/MLRNVectorSource.java +60 -0
  64. package/android/src/main/java/org/maplibre/reactnative/components/sources/MLRNVectorSourceManager.java +80 -0
  65. package/android/src/main/java/org/maplibre/reactnative/events/AbstractEvent.java +2 -5
  66. package/android/src/main/java/org/maplibre/reactnative/events/FeatureClickEvent.java +1 -2
  67. package/android/src/main/java/org/maplibre/reactnative/events/MapChangeEvent.kt +18 -0
  68. package/android/src/main/java/org/maplibre/reactnative/events/MapClickEvent.java +4 -0
  69. package/android/src/main/java/org/maplibre/reactnative/events/MapPressEvent.kt +27 -0
  70. package/android/src/main/java/org/maplibre/reactnative/events/PointAnnotationClickEvent.java +2 -4
  71. package/android/src/main/java/org/maplibre/reactnative/events/PointAnnotationDragEvent.java +2 -4
  72. package/android/src/main/java/org/maplibre/reactnative/events/TrackUserLocationChangeEvent.kt +24 -0
  73. package/android/src/main/java/org/maplibre/reactnative/events/constants/EventKeys.java +0 -1
  74. package/android/src/main/java/org/maplibre/reactnative/events/constants/EventTypes.java +0 -19
  75. package/android/src/main/java/org/maplibre/reactnative/location/LocationManager.java +1 -1
  76. package/android/src/main/java/org/maplibre/reactnative/location/TrackUserLocationMode.kt +43 -0
  77. package/android/src/main/java/org/maplibre/reactnative/location/TrackUserLocationState.java +15 -0
  78. package/android/src/main/java/org/maplibre/reactnative/location/UserLocation.java +1 -1
  79. package/android/src/main/java/org/maplibre/reactnative/modules/MLRNModule.java +2 -84
  80. package/android/src/main/java/org/maplibre/reactnative/modules/MLRNSnapshotModule.kt +2 -16
  81. package/android/src/main/java/org/maplibre/reactnative/utils/ConvertUtils.java +2 -9
  82. package/android/src/main/java/org/maplibre/reactnative/utils/DownloadMapImageTask.java +8 -10
  83. package/android/src/main/java/org/maplibre/reactnative/utils/DownloadedImage.java +6 -0
  84. package/android/src/main/java/org/maplibre/reactnative/utils/GeoJSONUtils.kt +322 -0
  85. package/android/src/main/java/org/maplibre/reactnative/utils/ImageEntry.java +1 -0
  86. package/android/src/main/java/org/maplibre/reactnative/utils/ReactTagResolver.kt +85 -0
  87. package/ios/components/annotations/MLRNCallout.h +7 -0
  88. package/ios/components/annotations/MLRNPointAnnotation.h +33 -0
  89. package/ios/components/camera/CameraEasing.h +8 -0
  90. package/ios/components/camera/CameraStop.h +22 -0
  91. package/ios/components/camera/CameraStop.m +75 -0
  92. package/ios/components/camera/CameraUpdateItem.m +167 -0
  93. package/ios/components/camera/MLRNCamera.h +26 -0
  94. package/ios/components/camera/MLRNCamera.m +195 -0
  95. package/ios/components/camera/MLRNCameraComponentView.h +18 -0
  96. package/ios/components/camera/MLRNCameraComponentView.mm +192 -0
  97. package/ios/components/camera/MLRNCameraManager.h +11 -0
  98. package/ios/components/camera/MLRNCameraManager.m +20 -0
  99. package/ios/components/camera/MLRNCameraModule.h +4 -0
  100. package/ios/components/camera/MLRNCameraModule.mm +111 -0
  101. package/ios/components/images/MLRNImageQueue.h +15 -0
  102. package/ios/components/images/MLRNImageQueue.m +48 -0
  103. package/ios/components/images/MLRNImageQueueOperation.h +11 -0
  104. package/ios/components/images/MLRNImageQueueOperation.m +133 -0
  105. package/ios/components/images/MLRNImages.h +24 -0
  106. package/ios/components/images/MLRNImages.m +124 -0
  107. package/ios/components/layers/MLRNLayer.h +42 -0
  108. package/ios/components/layers/MLRNLayer.m +216 -0
  109. package/ios/components/layers/style/MLRNStyle.m +1642 -0
  110. package/ios/components/layers/style/MLRNStyleValue.h +20 -0
  111. package/ios/components/layers/style/MLRNStyleValue.m +172 -0
  112. package/ios/components/map-view/MLRNMapTouchEvent.h +18 -0
  113. package/ios/components/map-view/MLRNMapTouchEvent.m +72 -0
  114. package/ios/components/map-view/MLRNMapView.h +111 -0
  115. package/ios/components/map-view/MLRNMapView.m +820 -0
  116. package/ios/components/map-view/MLRNMapViewComponentView.h +18 -0
  117. package/ios/components/map-view/MLRNMapViewComponentView.mm +415 -0
  118. package/ios/components/map-view/MLRNMapViewManager.h +70 -0
  119. package/ios/components/map-view/MLRNMapViewManager.m +163 -0
  120. package/ios/components/map-view/MLRNMapViewModule.h +4 -0
  121. package/ios/components/map-view/MLRNMapViewModule.mm +249 -0
  122. package/ios/components/sources/MLRNShapeSource.h +36 -0
  123. package/ios/components/sources/MLRNShapeSource.m +144 -0
  124. package/ios/components/sources/MLRNShapeSourceManager.m +128 -0
  125. package/ios/components/sources/MLRNSource.h +29 -0
  126. package/ios/components/user-location/MLRNNativeUserLocation.m +37 -0
  127. package/ios/modules/location/MLRNLocationModule.m +76 -0
  128. package/ios/modules/mlrn/MLRNModule.m +63 -0
  129. package/ios/modules/offline/MLRNOfflineModule.h +11 -0
  130. package/ios/modules/offline/MLRNOfflineModule.m +524 -0
  131. package/ios/modules/snapshot/MLRNSnapshotModule.mm +77 -0
  132. package/ios/utils/MLRNEvent.m +36 -0
  133. package/ios/utils/MLRNEventTypes.h +21 -0
  134. package/ios/utils/MLRNEventTypes.m +21 -0
  135. package/ios/utils/MLRNUtils.h +45 -0
  136. package/ios/utils/MLRNUtils.m +250 -0
  137. package/lib/commonjs/MLRNModule.js +1 -7
  138. package/lib/commonjs/MLRNModule.js.map +1 -1
  139. package/lib/commonjs/components/Images.js +32 -46
  140. package/lib/commonjs/components/Images.js.map +1 -1
  141. package/lib/commonjs/components/annotations/Annotation.js +95 -0
  142. package/lib/commonjs/components/annotations/Annotation.js.map +1 -0
  143. package/lib/commonjs/components/annotations/Callout.js.map +1 -0
  144. package/lib/commonjs/components/annotations/MarkerView.js +60 -0
  145. package/lib/commonjs/components/annotations/MarkerView.js.map +1 -0
  146. package/lib/commonjs/components/annotations/PointAnnotation.js +118 -0
  147. package/lib/commonjs/components/annotations/PointAnnotation.js.map +1 -0
  148. package/lib/commonjs/components/camera/Camera.js +97 -0
  149. package/lib/commonjs/components/camera/Camera.js.map +1 -0
  150. package/lib/commonjs/components/camera/CameraNativeComponent.ts +61 -0
  151. package/lib/commonjs/components/camera/NativeCameraModule.js +11 -0
  152. package/lib/commonjs/components/camera/NativeCameraModule.js.map +1 -0
  153. package/lib/commonjs/components/layers/BackgroundLayer.js +31 -0
  154. package/lib/commonjs/components/layers/BackgroundLayer.js.map +1 -0
  155. package/lib/commonjs/components/layers/CircleLayer.js +35 -0
  156. package/lib/commonjs/components/layers/CircleLayer.js.map +1 -0
  157. package/lib/commonjs/components/layers/FillExtrusionLayer.js +34 -0
  158. package/lib/commonjs/components/layers/FillExtrusionLayer.js.map +1 -0
  159. package/lib/commonjs/components/layers/FillLayer.js +34 -0
  160. package/lib/commonjs/components/layers/FillLayer.js.map +1 -0
  161. package/lib/commonjs/components/layers/HeatmapLayer.js +33 -0
  162. package/lib/commonjs/components/layers/HeatmapLayer.js.map +1 -0
  163. package/lib/commonjs/components/layers/LineLayer.js +34 -0
  164. package/lib/commonjs/components/layers/LineLayer.js.map +1 -0
  165. package/lib/commonjs/components/layers/RasterLayer.js +30 -0
  166. package/lib/commonjs/components/layers/RasterLayer.js.map +1 -0
  167. package/lib/commonjs/components/layers/SymbolLayer.js +37 -0
  168. package/lib/commonjs/components/layers/SymbolLayer.js.map +1 -0
  169. package/lib/commonjs/components/map-view/MapView.js +119 -0
  170. package/lib/commonjs/components/map-view/MapView.js.map +1 -0
  171. package/lib/commonjs/components/map-view/MapViewNativeComponent.ts +98 -0
  172. package/lib/commonjs/components/map-view/NativeMapViewModule.js +9 -0
  173. package/lib/commonjs/components/map-view/NativeMapViewModule.js.map +1 -0
  174. package/lib/commonjs/components/sources/ImageSource.js +41 -0
  175. package/lib/commonjs/components/sources/ImageSource.js.map +1 -0
  176. package/lib/commonjs/components/sources/RasterSource.js +65 -0
  177. package/lib/commonjs/components/sources/RasterSource.js.map +1 -0
  178. package/lib/commonjs/components/sources/ShapeSource.js +152 -0
  179. package/lib/commonjs/components/sources/ShapeSource.js.map +1 -0
  180. package/lib/commonjs/components/sources/VectorSource.js +94 -0
  181. package/lib/commonjs/components/sources/VectorSource.js.map +1 -0
  182. package/lib/commonjs/components/user-location/NativeUserLocation.js.map +1 -0
  183. package/lib/commonjs/components/user-location/UserLocation.js +156 -0
  184. package/lib/commonjs/components/user-location/UserLocation.js.map +1 -0
  185. package/lib/commonjs/components/user-location/UserLocationPuck.js +52 -0
  186. package/lib/commonjs/components/user-location/UserLocationPuck.js.map +1 -0
  187. package/lib/commonjs/components/user-location/UserLocationPuckHeading.js +31 -0
  188. package/lib/commonjs/components/user-location/UserLocationPuckHeading.js.map +1 -0
  189. package/lib/commonjs/index.js +237 -11
  190. package/lib/commonjs/index.js.map +1 -1
  191. package/lib/commonjs/modules/Logger.js +112 -0
  192. package/lib/commonjs/modules/Logger.js.map +1 -0
  193. package/lib/commonjs/modules/snapshot/NativeSnapshotModule.js +2 -2
  194. package/lib/commonjs/modules/snapshot/NativeSnapshotModule.js.map +1 -1
  195. package/lib/commonjs/modules/snapshot/SnapshotManager.js +3 -2
  196. package/lib/commonjs/modules/snapshot/SnapshotManager.js.map +1 -1
  197. package/lib/commonjs/types/Bounds.js +2 -0
  198. package/lib/commonjs/types/Bounds.js.map +1 -0
  199. package/lib/commonjs/types/PressEvent.js +2 -0
  200. package/lib/commonjs/types/PressEvent.js.map +1 -0
  201. package/lib/commonjs/types/ViewPadding.js +2 -0
  202. package/lib/commonjs/types/ViewPadding.js.map +1 -0
  203. package/lib/commonjs/types/codegen/UnsafeMixed.js +2 -0
  204. package/lib/commonjs/types/codegen/UnsafeMixed.js.map +1 -0
  205. package/lib/commonjs/utils/animated/Animated.js +9 -9
  206. package/lib/commonjs/utils/animated/Animated.js.map +1 -1
  207. package/lib/commonjs/utils/animated/AnimatedRouteCoordinatesArray.js +1 -7
  208. package/lib/commonjs/utils/animated/AnimatedRouteCoordinatesArray.js.map +1 -1
  209. package/lib/commonjs/utils/index.js +0 -11
  210. package/lib/commonjs/utils/index.js.map +1 -1
  211. package/lib/module/MLRNModule.js +0 -3
  212. package/lib/module/MLRNModule.js.map +1 -1
  213. package/lib/module/components/Images.js +32 -46
  214. package/lib/module/components/Images.js.map +1 -1
  215. package/lib/module/components/annotations/Annotation.js +91 -0
  216. package/lib/module/components/annotations/Annotation.js.map +1 -0
  217. package/lib/module/components/annotations/Callout.js.map +1 -0
  218. package/lib/module/components/annotations/MarkerView.js +55 -0
  219. package/lib/module/components/annotations/MarkerView.js.map +1 -0
  220. package/lib/module/components/annotations/PointAnnotation.js +114 -0
  221. package/lib/module/components/annotations/PointAnnotation.js.map +1 -0
  222. package/lib/module/components/camera/Camera.js +92 -0
  223. package/lib/module/components/camera/Camera.js.map +1 -0
  224. package/lib/module/components/camera/CameraNativeComponent.ts +61 -0
  225. package/lib/module/components/camera/NativeCameraModule.js +10 -0
  226. package/lib/module/components/camera/NativeCameraModule.js.map +1 -0
  227. package/lib/module/components/layers/BackgroundLayer.js +26 -0
  228. package/lib/module/components/layers/BackgroundLayer.js.map +1 -0
  229. package/lib/module/components/layers/CircleLayer.js +30 -0
  230. package/lib/module/components/layers/CircleLayer.js.map +1 -0
  231. package/lib/module/components/layers/FillExtrusionLayer.js +29 -0
  232. package/lib/module/components/layers/FillExtrusionLayer.js.map +1 -0
  233. package/lib/module/components/layers/FillLayer.js +29 -0
  234. package/lib/module/components/layers/FillLayer.js.map +1 -0
  235. package/lib/module/components/layers/HeatmapLayer.js +28 -0
  236. package/lib/module/components/layers/HeatmapLayer.js.map +1 -0
  237. package/lib/module/components/layers/LineLayer.js +29 -0
  238. package/lib/module/components/layers/LineLayer.js.map +1 -0
  239. package/lib/module/components/layers/RasterLayer.js +25 -0
  240. package/lib/module/components/layers/RasterLayer.js.map +1 -0
  241. package/lib/module/components/layers/SymbolLayer.js +32 -0
  242. package/lib/module/components/layers/SymbolLayer.js.map +1 -0
  243. package/lib/module/components/map-view/MapView.js +114 -0
  244. package/lib/module/components/map-view/MapView.js.map +1 -0
  245. package/lib/module/components/map-view/MapViewNativeComponent.ts +98 -0
  246. package/lib/module/components/map-view/NativeMapViewModule.js +5 -0
  247. package/lib/module/components/map-view/NativeMapViewModule.js.map +1 -0
  248. package/lib/module/components/sources/ImageSource.js +36 -0
  249. package/lib/module/components/sources/ImageSource.js.map +1 -0
  250. package/lib/module/components/sources/RasterSource.js +60 -0
  251. package/lib/module/components/sources/RasterSource.js.map +1 -0
  252. package/lib/module/components/sources/ShapeSource.js +148 -0
  253. package/lib/module/components/sources/ShapeSource.js.map +1 -0
  254. package/lib/module/components/sources/VectorSource.js +90 -0
  255. package/lib/module/components/sources/VectorSource.js.map +1 -0
  256. package/lib/module/components/user-location/NativeUserLocation.js.map +1 -0
  257. package/lib/module/components/user-location/UserLocation.js +152 -0
  258. package/lib/module/components/user-location/UserLocation.js.map +1 -0
  259. package/lib/module/components/user-location/UserLocationPuck.js +48 -0
  260. package/lib/module/components/user-location/UserLocationPuck.js.map +1 -0
  261. package/lib/module/components/user-location/UserLocationPuckHeading.js +26 -0
  262. package/lib/module/components/user-location/UserLocationPuckHeading.js.map +1 -0
  263. package/lib/module/index.js +29 -7
  264. package/lib/module/index.js.map +1 -1
  265. package/lib/module/modules/Logger.js +107 -0
  266. package/lib/module/modules/Logger.js.map +1 -0
  267. package/lib/module/modules/snapshot/NativeSnapshotModule.js +1 -1
  268. package/lib/module/modules/snapshot/NativeSnapshotModule.js.map +1 -1
  269. package/lib/module/modules/snapshot/SnapshotManager.js +1 -1
  270. package/lib/module/modules/snapshot/SnapshotManager.js.map +1 -1
  271. package/lib/module/types/Bounds.js +2 -0
  272. package/lib/module/types/Bounds.js.map +1 -0
  273. package/lib/module/types/PressEvent.js +2 -0
  274. package/lib/module/types/PressEvent.js.map +1 -0
  275. package/lib/module/types/ViewPadding.js +2 -0
  276. package/lib/module/types/ViewPadding.js.map +1 -0
  277. package/lib/module/types/codegen/UnsafeMixed.js +2 -0
  278. package/lib/module/types/codegen/UnsafeMixed.js.map +1 -0
  279. package/lib/module/utils/animated/Animated.js +9 -9
  280. package/lib/module/utils/animated/Animated.js.map +1 -1
  281. package/lib/module/utils/animated/AnimatedRouteCoordinatesArray.js +1 -7
  282. package/lib/module/utils/animated/AnimatedRouteCoordinatesArray.js.map +1 -1
  283. package/lib/module/utils/index.js +0 -9
  284. package/lib/module/utils/index.js.map +1 -1
  285. package/lib/typescript/commonjs/src/MLRNModule.d.ts +2 -8
  286. package/lib/typescript/commonjs/src/MLRNModule.d.ts.map +1 -1
  287. package/lib/typescript/commonjs/src/components/Images.d.ts +11 -3
  288. package/lib/typescript/commonjs/src/components/Images.d.ts.map +1 -1
  289. package/lib/typescript/commonjs/src/components/annotations/Annotation.d.ts +21 -0
  290. package/lib/typescript/commonjs/src/components/annotations/Annotation.d.ts.map +1 -0
  291. package/lib/typescript/commonjs/src/components/annotations/Callout.d.ts.map +1 -0
  292. package/lib/typescript/commonjs/src/components/annotations/MarkerView.d.ts.map +1 -0
  293. package/lib/typescript/commonjs/src/components/annotations/PointAnnotation.d.ts.map +1 -0
  294. package/lib/typescript/commonjs/src/components/camera/Camera.d.ts +180 -0
  295. package/lib/typescript/commonjs/src/components/camera/Camera.d.ts.map +1 -0
  296. package/lib/typescript/commonjs/src/components/camera/CameraNativeComponent.d.ts +37 -0
  297. package/lib/typescript/commonjs/src/components/camera/CameraNativeComponent.d.ts.map +1 -0
  298. package/lib/typescript/commonjs/src/components/camera/NativeCameraModule.d.ts +27 -0
  299. package/lib/typescript/commonjs/src/components/camera/NativeCameraModule.d.ts.map +1 -0
  300. package/lib/typescript/commonjs/src/components/layers/BackgroundLayer.d.ts +12 -0
  301. package/lib/typescript/commonjs/src/components/layers/BackgroundLayer.d.ts.map +1 -0
  302. package/lib/typescript/commonjs/src/components/layers/CircleLayer.d.ts +15 -0
  303. package/lib/typescript/commonjs/src/components/layers/CircleLayer.d.ts.map +1 -0
  304. package/lib/typescript/commonjs/src/components/layers/FillExtrusionLayer.d.ts +15 -0
  305. package/lib/typescript/commonjs/src/components/layers/FillExtrusionLayer.d.ts.map +1 -0
  306. package/lib/typescript/commonjs/src/components/layers/FillLayer.d.ts +15 -0
  307. package/lib/typescript/commonjs/src/components/layers/FillLayer.d.ts.map +1 -0
  308. package/lib/typescript/commonjs/src/components/layers/HeatmapLayer.d.ts +15 -0
  309. package/lib/typescript/commonjs/src/components/layers/HeatmapLayer.d.ts.map +1 -0
  310. package/lib/typescript/commonjs/src/components/layers/LineLayer.d.ts +15 -0
  311. package/lib/typescript/commonjs/src/components/layers/LineLayer.d.ts.map +1 -0
  312. package/lib/typescript/commonjs/src/components/layers/RasterLayer.d.ts +12 -0
  313. package/lib/typescript/commonjs/src/components/layers/RasterLayer.d.ts.map +1 -0
  314. package/lib/typescript/commonjs/src/components/layers/SymbolLayer.d.ts +15 -0
  315. package/lib/typescript/commonjs/src/components/layers/SymbolLayer.d.ts.map +1 -0
  316. package/lib/typescript/commonjs/src/components/map-view/MapView.d.ts +331 -0
  317. package/lib/typescript/commonjs/src/components/map-view/MapView.d.ts.map +1 -0
  318. package/lib/typescript/commonjs/src/components/map-view/MapViewNativeComponent.d.ts +71 -0
  319. package/lib/typescript/commonjs/src/components/map-view/MapViewNativeComponent.d.ts.map +1 -0
  320. package/lib/typescript/commonjs/src/components/map-view/NativeMapViewModule.d.ts +45 -0
  321. package/lib/typescript/commonjs/src/components/map-view/NativeMapViewModule.d.ts.map +1 -0
  322. package/lib/typescript/commonjs/src/components/sources/ImageSource.d.ts +30 -0
  323. package/lib/typescript/commonjs/src/components/sources/ImageSource.d.ts.map +1 -0
  324. package/lib/typescript/commonjs/src/components/sources/RasterSource.d.ts +53 -0
  325. package/lib/typescript/commonjs/src/components/sources/RasterSource.d.ts.map +1 -0
  326. package/lib/typescript/commonjs/src/components/sources/ShapeSource.d.ts +118 -0
  327. package/lib/typescript/commonjs/src/components/sources/ShapeSource.d.ts.map +1 -0
  328. package/lib/typescript/commonjs/src/components/sources/VectorSource.d.ts +67 -0
  329. package/lib/typescript/commonjs/src/components/sources/VectorSource.d.ts.map +1 -0
  330. package/lib/typescript/commonjs/src/components/user-location/NativeUserLocation.d.ts.map +1 -0
  331. package/lib/typescript/commonjs/src/components/user-location/UserLocation.d.ts +69 -0
  332. package/lib/typescript/commonjs/src/components/user-location/UserLocation.d.ts.map +1 -0
  333. package/lib/typescript/commonjs/src/components/user-location/UserLocationPuck.d.ts +9 -0
  334. package/lib/typescript/commonjs/src/components/user-location/UserLocationPuck.d.ts.map +1 -0
  335. package/lib/typescript/commonjs/src/components/user-location/UserLocationPuckHeading.d.ts +9 -0
  336. package/lib/typescript/commonjs/src/components/user-location/UserLocationPuckHeading.d.ts.map +1 -0
  337. package/lib/typescript/commonjs/src/index.d.ts +40 -6
  338. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  339. package/lib/typescript/commonjs/src/modules/Logger.d.ts +49 -0
  340. package/lib/typescript/commonjs/src/modules/Logger.d.ts.map +1 -0
  341. package/lib/typescript/commonjs/src/modules/snapshot/NativeSnapshotModule.d.ts +2 -1
  342. package/lib/typescript/commonjs/src/modules/snapshot/NativeSnapshotModule.d.ts.map +1 -1
  343. package/lib/typescript/commonjs/src/plugin/android.d.ts.map +1 -1
  344. package/lib/typescript/commonjs/src/plugin/ios.d.ts.map +1 -1
  345. package/lib/typescript/commonjs/src/types/Bounds.d.ts +2 -0
  346. package/lib/typescript/commonjs/src/types/Bounds.d.ts.map +1 -0
  347. package/lib/typescript/commonjs/src/types/MapLibreRNStyles.d.ts +6 -6
  348. package/lib/typescript/commonjs/src/types/MapLibreRNStyles.d.ts.map +1 -1
  349. package/lib/typescript/commonjs/src/types/PressEvent.d.ts +16 -0
  350. package/lib/typescript/commonjs/src/types/PressEvent.d.ts.map +1 -0
  351. package/lib/typescript/commonjs/src/types/ViewPadding.d.ts +7 -0
  352. package/lib/typescript/commonjs/src/types/ViewPadding.d.ts.map +1 -0
  353. package/lib/typescript/commonjs/src/types/codegen/UnsafeMixed.d.ts +10 -0
  354. package/lib/typescript/commonjs/src/types/codegen/UnsafeMixed.d.ts.map +1 -0
  355. package/lib/typescript/commonjs/src/utils/animated/Animated.d.ts +9 -9
  356. package/lib/typescript/commonjs/src/utils/animated/Animated.d.ts.map +1 -1
  357. package/lib/typescript/commonjs/src/utils/animated/AnimatedRouteCoordinatesArray.d.ts +0 -4
  358. package/lib/typescript/commonjs/src/utils/animated/AnimatedRouteCoordinatesArray.d.ts.map +1 -1
  359. package/lib/typescript/commonjs/src/utils/index.d.ts +1 -3
  360. package/lib/typescript/commonjs/src/utils/index.d.ts.map +1 -1
  361. package/lib/typescript/module/src/MLRNModule.d.ts +2 -8
  362. package/lib/typescript/module/src/MLRNModule.d.ts.map +1 -1
  363. package/lib/typescript/module/src/components/Images.d.ts +11 -3
  364. package/lib/typescript/module/src/components/Images.d.ts.map +1 -1
  365. package/lib/typescript/module/src/components/annotations/Annotation.d.ts +21 -0
  366. package/lib/typescript/module/src/components/annotations/Annotation.d.ts.map +1 -0
  367. package/lib/typescript/module/src/components/annotations/Callout.d.ts.map +1 -0
  368. package/lib/typescript/module/src/components/annotations/MarkerView.d.ts.map +1 -0
  369. package/lib/typescript/module/src/components/annotations/PointAnnotation.d.ts.map +1 -0
  370. package/lib/typescript/module/src/components/camera/Camera.d.ts +180 -0
  371. package/lib/typescript/module/src/components/camera/Camera.d.ts.map +1 -0
  372. package/lib/typescript/module/src/components/camera/CameraNativeComponent.d.ts +37 -0
  373. package/lib/typescript/module/src/components/camera/CameraNativeComponent.d.ts.map +1 -0
  374. package/lib/typescript/module/src/components/camera/NativeCameraModule.d.ts +27 -0
  375. package/lib/typescript/module/src/components/camera/NativeCameraModule.d.ts.map +1 -0
  376. package/lib/typescript/module/src/components/layers/BackgroundLayer.d.ts +12 -0
  377. package/lib/typescript/module/src/components/layers/BackgroundLayer.d.ts.map +1 -0
  378. package/lib/typescript/module/src/components/layers/CircleLayer.d.ts +15 -0
  379. package/lib/typescript/module/src/components/layers/CircleLayer.d.ts.map +1 -0
  380. package/lib/typescript/module/src/components/layers/FillExtrusionLayer.d.ts +15 -0
  381. package/lib/typescript/module/src/components/layers/FillExtrusionLayer.d.ts.map +1 -0
  382. package/lib/typescript/module/src/components/layers/FillLayer.d.ts +15 -0
  383. package/lib/typescript/module/src/components/layers/FillLayer.d.ts.map +1 -0
  384. package/lib/typescript/module/src/components/layers/HeatmapLayer.d.ts +15 -0
  385. package/lib/typescript/module/src/components/layers/HeatmapLayer.d.ts.map +1 -0
  386. package/lib/typescript/module/src/components/layers/LineLayer.d.ts +15 -0
  387. package/lib/typescript/module/src/components/layers/LineLayer.d.ts.map +1 -0
  388. package/lib/typescript/module/src/components/layers/RasterLayer.d.ts +12 -0
  389. package/lib/typescript/module/src/components/layers/RasterLayer.d.ts.map +1 -0
  390. package/lib/typescript/module/src/components/layers/SymbolLayer.d.ts +15 -0
  391. package/lib/typescript/module/src/components/layers/SymbolLayer.d.ts.map +1 -0
  392. package/lib/typescript/module/src/components/map-view/MapView.d.ts +331 -0
  393. package/lib/typescript/module/src/components/map-view/MapView.d.ts.map +1 -0
  394. package/lib/typescript/module/src/components/map-view/MapViewNativeComponent.d.ts +71 -0
  395. package/lib/typescript/module/src/components/map-view/MapViewNativeComponent.d.ts.map +1 -0
  396. package/lib/typescript/module/src/components/map-view/NativeMapViewModule.d.ts +45 -0
  397. package/lib/typescript/module/src/components/map-view/NativeMapViewModule.d.ts.map +1 -0
  398. package/lib/typescript/module/src/components/sources/ImageSource.d.ts +30 -0
  399. package/lib/typescript/module/src/components/sources/ImageSource.d.ts.map +1 -0
  400. package/lib/typescript/module/src/components/sources/RasterSource.d.ts +53 -0
  401. package/lib/typescript/module/src/components/sources/RasterSource.d.ts.map +1 -0
  402. package/lib/typescript/module/src/components/sources/ShapeSource.d.ts +118 -0
  403. package/lib/typescript/module/src/components/sources/ShapeSource.d.ts.map +1 -0
  404. package/lib/typescript/module/src/components/sources/VectorSource.d.ts +67 -0
  405. package/lib/typescript/module/src/components/sources/VectorSource.d.ts.map +1 -0
  406. package/lib/typescript/module/src/components/user-location/NativeUserLocation.d.ts.map +1 -0
  407. package/lib/typescript/module/src/components/user-location/UserLocation.d.ts +69 -0
  408. package/lib/typescript/module/src/components/user-location/UserLocation.d.ts.map +1 -0
  409. package/lib/typescript/module/src/components/user-location/UserLocationPuck.d.ts +9 -0
  410. package/lib/typescript/module/src/components/user-location/UserLocationPuck.d.ts.map +1 -0
  411. package/lib/typescript/module/src/components/user-location/UserLocationPuckHeading.d.ts +9 -0
  412. package/lib/typescript/module/src/components/user-location/UserLocationPuckHeading.d.ts.map +1 -0
  413. package/lib/typescript/module/src/index.d.ts +40 -6
  414. package/lib/typescript/module/src/index.d.ts.map +1 -1
  415. package/lib/typescript/module/src/modules/Logger.d.ts +49 -0
  416. package/lib/typescript/module/src/modules/Logger.d.ts.map +1 -0
  417. package/lib/typescript/module/src/modules/snapshot/NativeSnapshotModule.d.ts +2 -1
  418. package/lib/typescript/module/src/modules/snapshot/NativeSnapshotModule.d.ts.map +1 -1
  419. package/lib/typescript/module/src/plugin/android.d.ts.map +1 -1
  420. package/lib/typescript/module/src/plugin/ios.d.ts.map +1 -1
  421. package/lib/typescript/module/src/types/Bounds.d.ts +2 -0
  422. package/lib/typescript/module/src/types/Bounds.d.ts.map +1 -0
  423. package/lib/typescript/module/src/types/MapLibreRNStyles.d.ts +6 -6
  424. package/lib/typescript/module/src/types/MapLibreRNStyles.d.ts.map +1 -1
  425. package/lib/typescript/module/src/types/PressEvent.d.ts +16 -0
  426. package/lib/typescript/module/src/types/PressEvent.d.ts.map +1 -0
  427. package/lib/typescript/module/src/types/ViewPadding.d.ts +7 -0
  428. package/lib/typescript/module/src/types/ViewPadding.d.ts.map +1 -0
  429. package/lib/typescript/module/src/types/codegen/UnsafeMixed.d.ts +10 -0
  430. package/lib/typescript/module/src/types/codegen/UnsafeMixed.d.ts.map +1 -0
  431. package/lib/typescript/module/src/utils/animated/Animated.d.ts +9 -9
  432. package/lib/typescript/module/src/utils/animated/Animated.d.ts.map +1 -1
  433. package/lib/typescript/module/src/utils/animated/AnimatedRouteCoordinatesArray.d.ts +0 -4
  434. package/lib/typescript/module/src/utils/animated/AnimatedRouteCoordinatesArray.d.ts.map +1 -1
  435. package/lib/typescript/module/src/utils/index.d.ts +1 -3
  436. package/lib/typescript/module/src/utils/index.d.ts.map +1 -1
  437. package/package.json +41 -31
  438. package/src/MLRNModule.ts +0 -24
  439. package/src/components/Images.tsx +59 -66
  440. package/src/components/annotations/Annotation.tsx +147 -0
  441. package/src/components/annotations/MarkerView.tsx +86 -0
  442. package/src/components/annotations/PointAnnotation.tsx +244 -0
  443. package/src/components/camera/Camera.tsx +311 -0
  444. package/src/components/camera/CameraNativeComponent.ts +61 -0
  445. package/src/components/camera/NativeCameraModule.ts +39 -0
  446. package/src/components/layers/BackgroundLayer.tsx +48 -0
  447. package/src/components/layers/CircleLayer.tsx +50 -0
  448. package/src/components/layers/FillExtrusionLayer.tsx +45 -0
  449. package/src/components/layers/FillLayer.tsx +42 -0
  450. package/src/components/layers/HeatmapLayer.tsx +44 -0
  451. package/src/components/layers/LineLayer.tsx +43 -0
  452. package/src/components/layers/RasterLayer.tsx +41 -0
  453. package/src/components/layers/SymbolLayer.tsx +48 -0
  454. package/src/components/map-view/MapView.tsx +600 -0
  455. package/src/components/map-view/MapViewNativeComponent.ts +98 -0
  456. package/src/components/map-view/NativeMapViewModule.ts +83 -0
  457. package/src/components/sources/ImageSource.tsx +68 -0
  458. package/src/components/sources/RasterSource.tsx +112 -0
  459. package/src/components/sources/ShapeSource.tsx +365 -0
  460. package/src/components/sources/VectorSource.tsx +172 -0
  461. package/src/components/user-location/UserLocation.tsx +268 -0
  462. package/src/components/user-location/UserLocationPuck.tsx +62 -0
  463. package/src/components/user-location/UserLocationPuckHeading.tsx +33 -0
  464. package/src/index.ts +84 -6
  465. package/src/modules/Logger.ts +127 -0
  466. package/src/modules/snapshot/NativeSnapshotModule.ts +1 -2
  467. package/src/modules/snapshot/SnapshotManager.ts +1 -1
  468. package/src/types/Bounds.ts +1 -0
  469. package/src/types/MapLibreRNStyles.ts +6 -6
  470. package/src/types/PressEvent.ts +19 -0
  471. package/src/types/ViewPadding.ts +6 -0
  472. package/src/types/codegen/UnsafeMixed.ts +9 -0
  473. package/src/utils/animated/Animated.ts +9 -9
  474. package/src/utils/animated/AnimatedRouteCoordinatesArray.ts +1 -14
  475. package/src/utils/index.ts +1 -14
  476. package/android/src/main/java/org/maplibre/reactnative/components/AbstractEvent.java +0 -35
  477. package/android/src/main/java/org/maplibre/reactnative/components/AbstractEventEmitter.java +0 -80
  478. package/android/src/main/java/org/maplibre/reactnative/components/annotation/MLRNCallout.java +0 -11
  479. package/android/src/main/java/org/maplibre/reactnative/components/annotation/MLRNCalloutManager.java +0 -18
  480. package/android/src/main/java/org/maplibre/reactnative/components/annotation/MLRNMarkerView.java +0 -112
  481. package/android/src/main/java/org/maplibre/reactnative/components/annotation/MLRNMarkerViewManager.java +0 -45
  482. package/android/src/main/java/org/maplibre/reactnative/components/annotation/MLRNPointAnnotation.java +0 -361
  483. package/android/src/main/java/org/maplibre/reactnative/components/annotation/MLRNPointAnnotationManager.java +0 -84
  484. package/android/src/main/java/org/maplibre/reactnative/components/annotation/MarkerView.java +0 -23
  485. package/android/src/main/java/org/maplibre/reactnative/components/annotation/MarkerViewManager.java +0 -69
  486. package/android/src/main/java/org/maplibre/reactnative/components/camera/CameraStop.java +0 -245
  487. package/android/src/main/java/org/maplibre/reactnative/components/camera/CameraUpdateItem.java +0 -121
  488. package/android/src/main/java/org/maplibre/reactnative/components/camera/CameraUpdateQueue.java +0 -68
  489. package/android/src/main/java/org/maplibre/reactnative/components/camera/MLRNCamera.java +0 -519
  490. package/android/src/main/java/org/maplibre/reactnative/components/camera/MLRNCameraManager.java +0 -101
  491. package/android/src/main/java/org/maplibre/reactnative/components/camera/constants/CameraMode.java +0 -18
  492. package/android/src/main/java/org/maplibre/reactnative/components/mapview/LayerSourceInfo.java +0 -59
  493. package/android/src/main/java/org/maplibre/reactnative/components/mapview/MLRNAndroidTextureMapView.java +0 -13
  494. package/android/src/main/java/org/maplibre/reactnative/components/mapview/MLRNAndroidTextureMapViewManager.java +0 -27
  495. package/android/src/main/java/org/maplibre/reactnative/components/mapview/MLRNMapView.java +0 -1521
  496. package/android/src/main/java/org/maplibre/reactnative/components/mapview/MLRNMapViewManager.java +0 -342
  497. package/android/src/main/java/org/maplibre/reactnative/components/mapview/helpers/CameraChangeTracker.java +0 -37
  498. package/android/src/main/java/org/maplibre/reactnative/components/styles/MLRNStyle.java +0 -76
  499. package/android/src/main/java/org/maplibre/reactnative/components/styles/MLRNStyleFactory.java +0 -2285
  500. package/android/src/main/java/org/maplibre/reactnative/components/styles/MLRNStyleFunctionParser.java +0 -103
  501. package/android/src/main/java/org/maplibre/reactnative/components/styles/MLRNStyleValue.java +0 -208
  502. package/android/src/main/java/org/maplibre/reactnative/components/styles/layers/MLRNBackgroundLayer.java +0 -23
  503. package/android/src/main/java/org/maplibre/reactnative/components/styles/layers/MLRNBackgroundLayerManager.java +0 -60
  504. package/android/src/main/java/org/maplibre/reactnative/components/styles/layers/MLRNCircleLayer.java +0 -51
  505. package/android/src/main/java/org/maplibre/reactnative/components/styles/layers/MLRNCircleLayerManager.java +0 -73
  506. package/android/src/main/java/org/maplibre/reactnative/components/styles/layers/MLRNFillExtrusionLayer.java +0 -51
  507. package/android/src/main/java/org/maplibre/reactnative/components/styles/layers/MLRNFillExtrusionLayerManager.java +0 -76
  508. package/android/src/main/java/org/maplibre/reactnative/components/styles/layers/MLRNFillLayer.java +0 -51
  509. package/android/src/main/java/org/maplibre/reactnative/components/styles/layers/MLRNFillLayerManager.java +0 -76
  510. package/android/src/main/java/org/maplibre/reactnative/components/styles/layers/MLRNHeatmapLayer.java +0 -51
  511. package/android/src/main/java/org/maplibre/reactnative/components/styles/layers/MLRNHeatmapLayerManager.java +0 -73
  512. package/android/src/main/java/org/maplibre/reactnative/components/styles/layers/MLRNLayer.java +0 -283
  513. package/android/src/main/java/org/maplibre/reactnative/components/styles/layers/MLRNLineLayer.java +0 -51
  514. package/android/src/main/java/org/maplibre/reactnative/components/styles/layers/MLRNLineLayerManager.java +0 -75
  515. package/android/src/main/java/org/maplibre/reactnative/components/styles/layers/MLRNRasterLayer.java +0 -23
  516. package/android/src/main/java/org/maplibre/reactnative/components/styles/layers/MLRNRasterLayerManager.java +0 -60
  517. package/android/src/main/java/org/maplibre/reactnative/components/styles/layers/MLRNSymbolLayer.java +0 -51
  518. package/android/src/main/java/org/maplibre/reactnative/components/styles/layers/MLRNSymbolLayerManager.java +0 -71
  519. package/android/src/main/java/org/maplibre/reactnative/components/styles/light/MLRNLight.java +0 -61
  520. package/android/src/main/java/org/maplibre/reactnative/components/styles/light/MLRNLightManager.java +0 -25
  521. package/android/src/main/java/org/maplibre/reactnative/components/styles/sources/MLRNImageSource.java +0 -77
  522. package/android/src/main/java/org/maplibre/reactnative/components/styles/sources/MLRNImageSourceManager.java +0 -68
  523. package/android/src/main/java/org/maplibre/reactnative/components/styles/sources/MLRNRasterSource.java +0 -41
  524. package/android/src/main/java/org/maplibre/reactnative/components/styles/sources/MLRNRasterSourceManager.java +0 -39
  525. package/android/src/main/java/org/maplibre/reactnative/components/styles/sources/MLRNShapeSource.java +0 -246
  526. package/android/src/main/java/org/maplibre/reactnative/components/styles/sources/MLRNShapeSourceManager.java +0 -221
  527. package/android/src/main/java/org/maplibre/reactnative/components/styles/sources/MLRNSource.java +0 -240
  528. package/android/src/main/java/org/maplibre/reactnative/components/styles/sources/MLRNTileSource.java +0 -97
  529. package/android/src/main/java/org/maplibre/reactnative/components/styles/sources/MLRNTileSourceManager.java +0 -80
  530. package/android/src/main/java/org/maplibre/reactnative/components/styles/sources/MLRNVectorSource.java +0 -60
  531. package/android/src/main/java/org/maplibre/reactnative/components/styles/sources/MLRNVectorSourceManager.java +0 -80
  532. package/android/src/main/java/org/maplibre/reactnative/events/MapChangeEvent.java +0 -43
  533. package/android/src/main/java/org/maplibre/reactnative/events/MapUserTrackingModeEvent.java +0 -32
  534. package/android/src/main/java/org/maplibre/reactnative/location/UserLocationVerticalAlignment.java +0 -7
  535. package/android/src/main/java/org/maplibre/reactnative/location/UserTrackingMode.java +0 -59
  536. package/android/src/main/java/org/maplibre/reactnative/location/UserTrackingState.java +0 -15
  537. package/android/src/main/java/org/maplibre/reactnative/utils/GeoJSONUtils.java +0 -310
  538. package/ios/CameraMode.h +0 -10
  539. package/ios/CameraMode.m +0 -10
  540. package/ios/CameraStop.h +0 -18
  541. package/ios/CameraStop.m +0 -73
  542. package/ios/CameraUpdateItem.m +0 -168
  543. package/ios/MLRN.h +0 -5
  544. package/ios/MLRN.m +0 -5
  545. package/ios/MLRNCallout.h +0 -7
  546. package/ios/MLRNCamera.h +0 -29
  547. package/ios/MLRNCamera.m +0 -236
  548. package/ios/MLRNCameraManager.h +0 -5
  549. package/ios/MLRNCameraManager.m +0 -39
  550. package/ios/MLRNEvent.m +0 -34
  551. package/ios/MLRNEventTypes.h +0 -42
  552. package/ios/MLRNEventTypes.m +0 -41
  553. package/ios/MLRNImageQueue.h +0 -14
  554. package/ios/MLRNImageQueue.m +0 -46
  555. package/ios/MLRNImageQueueOperation.h +0 -10
  556. package/ios/MLRNImageQueueOperation.m +0 -131
  557. package/ios/MLRNImages.h +0 -24
  558. package/ios/MLRNImages.m +0 -124
  559. package/ios/MLRNLayer.h +0 -42
  560. package/ios/MLRNLayer.m +0 -216
  561. package/ios/MLRNLight.h +0 -9
  562. package/ios/MLRNLight.m +0 -36
  563. package/ios/MLRNLightManager.h +0 -5
  564. package/ios/MLRNLightManager.m +0 -14
  565. package/ios/MLRNLocationModule.m +0 -76
  566. package/ios/MLRNMapTouchEvent.h +0 -17
  567. package/ios/MLRNMapTouchEvent.m +0 -70
  568. package/ios/MLRNMapView.h +0 -90
  569. package/ios/MLRNMapView.m +0 -497
  570. package/ios/MLRNMapViewManager.h +0 -9
  571. package/ios/MLRNMapViewManager.m +0 -604
  572. package/ios/MLRNModule.m +0 -136
  573. package/ios/MLRNNativeUserLocation.m +0 -38
  574. package/ios/MLRNOfflineModule.h +0 -11
  575. package/ios/MLRNOfflineModule.m +0 -524
  576. package/ios/MLRNPointAnnotation.h +0 -33
  577. package/ios/MLRNShapeSource.h +0 -35
  578. package/ios/MLRNShapeSource.m +0 -140
  579. package/ios/MLRNShapeSourceManager.m +0 -127
  580. package/ios/MLRNSnapshotModule/MLRNSnapshotModule.mm +0 -78
  581. package/ios/MLRNSource.h +0 -27
  582. package/ios/MLRNStyle.m +0 -1642
  583. package/ios/MLRNStyleValue.h +0 -19
  584. package/ios/MLRNStyleValue.m +0 -159
  585. package/ios/MLRNUtils.h +0 -29
  586. package/ios/MLRNUtils.m +0 -218
  587. package/lib/commonjs/MapLibreRN.js +0 -287
  588. package/lib/commonjs/MapLibreRN.js.map +0 -1
  589. package/lib/commonjs/components/Annotation.js +0 -107
  590. package/lib/commonjs/components/Annotation.js.map +0 -1
  591. package/lib/commonjs/components/BackgroundLayer.js +0 -31
  592. package/lib/commonjs/components/BackgroundLayer.js.map +0 -1
  593. package/lib/commonjs/components/Callout.js.map +0 -1
  594. package/lib/commonjs/components/Camera.js +0 -333
  595. package/lib/commonjs/components/Camera.js.map +0 -1
  596. package/lib/commonjs/components/CircleLayer.js +0 -35
  597. package/lib/commonjs/components/CircleLayer.js.map +0 -1
  598. package/lib/commonjs/components/FillExtrusionLayer.js +0 -34
  599. package/lib/commonjs/components/FillExtrusionLayer.js.map +0 -1
  600. package/lib/commonjs/components/FillLayer.js +0 -34
  601. package/lib/commonjs/components/FillLayer.js.map +0 -1
  602. package/lib/commonjs/components/HeatmapLayer.js +0 -33
  603. package/lib/commonjs/components/HeatmapLayer.js.map +0 -1
  604. package/lib/commonjs/components/ImageSource.js +0 -41
  605. package/lib/commonjs/components/ImageSource.js.map +0 -1
  606. package/lib/commonjs/components/Light.js +0 -30
  607. package/lib/commonjs/components/Light.js.map +0 -1
  608. package/lib/commonjs/components/LineLayer.js +0 -34
  609. package/lib/commonjs/components/LineLayer.js.map +0 -1
  610. package/lib/commonjs/components/MapView.js +0 -449
  611. package/lib/commonjs/components/MapView.js.map +0 -1
  612. package/lib/commonjs/components/MarkerView.js +0 -60
  613. package/lib/commonjs/components/MarkerView.js.map +0 -1
  614. package/lib/commonjs/components/NativeUserLocation.js.map +0 -1
  615. package/lib/commonjs/components/PointAnnotation.js +0 -118
  616. package/lib/commonjs/components/PointAnnotation.js.map +0 -1
  617. package/lib/commonjs/components/RasterLayer.js +0 -30
  618. package/lib/commonjs/components/RasterLayer.js.map +0 -1
  619. package/lib/commonjs/components/RasterSource.js +0 -65
  620. package/lib/commonjs/components/RasterSource.js.map +0 -1
  621. package/lib/commonjs/components/ShapeSource.js +0 -170
  622. package/lib/commonjs/components/ShapeSource.js.map +0 -1
  623. package/lib/commonjs/components/SymbolLayer.js +0 -37
  624. package/lib/commonjs/components/SymbolLayer.js.map +0 -1
  625. package/lib/commonjs/components/UserLocation.js +0 -156
  626. package/lib/commonjs/components/UserLocation.js.map +0 -1
  627. package/lib/commonjs/components/UserLocationPuck.js +0 -52
  628. package/lib/commonjs/components/UserLocationPuck.js.map +0 -1
  629. package/lib/commonjs/components/UserLocationPuckHeading.js +0 -31
  630. package/lib/commonjs/components/UserLocationPuckHeading.js.map +0 -1
  631. package/lib/commonjs/components/VectorSource.js +0 -117
  632. package/lib/commonjs/components/VectorSource.js.map +0 -1
  633. package/lib/commonjs/hooks/useNativeRef.js +0 -14
  634. package/lib/commonjs/hooks/useNativeRef.js.map +0 -1
  635. package/lib/commonjs/types/CameraMode.js +0 -14
  636. package/lib/commonjs/types/CameraMode.js.map +0 -1
  637. package/lib/commonjs/types/MapLibreRNEvent.js +0 -6
  638. package/lib/commonjs/types/MapLibreRNEvent.js.map +0 -1
  639. package/lib/commonjs/types/OnPressEvent.js +0 -2
  640. package/lib/commonjs/types/OnPressEvent.js.map +0 -1
  641. package/lib/commonjs/utils/Logger.js +0 -116
  642. package/lib/commonjs/utils/Logger.js.map +0 -1
  643. package/lib/module/MapLibreRN.js +0 -45
  644. package/lib/module/MapLibreRN.js.map +0 -1
  645. package/lib/module/components/Annotation.js +0 -103
  646. package/lib/module/components/Annotation.js.map +0 -1
  647. package/lib/module/components/BackgroundLayer.js +0 -26
  648. package/lib/module/components/BackgroundLayer.js.map +0 -1
  649. package/lib/module/components/Callout.js.map +0 -1
  650. package/lib/module/components/Camera.js +0 -328
  651. package/lib/module/components/Camera.js.map +0 -1
  652. package/lib/module/components/CircleLayer.js +0 -30
  653. package/lib/module/components/CircleLayer.js.map +0 -1
  654. package/lib/module/components/FillExtrusionLayer.js +0 -29
  655. package/lib/module/components/FillExtrusionLayer.js.map +0 -1
  656. package/lib/module/components/FillLayer.js +0 -29
  657. package/lib/module/components/FillLayer.js.map +0 -1
  658. package/lib/module/components/HeatmapLayer.js +0 -28
  659. package/lib/module/components/HeatmapLayer.js.map +0 -1
  660. package/lib/module/components/ImageSource.js +0 -36
  661. package/lib/module/components/ImageSource.js.map +0 -1
  662. package/lib/module/components/Light.js +0 -25
  663. package/lib/module/components/Light.js.map +0 -1
  664. package/lib/module/components/LineLayer.js +0 -29
  665. package/lib/module/components/LineLayer.js.map +0 -1
  666. package/lib/module/components/MapView.js +0 -444
  667. package/lib/module/components/MapView.js.map +0 -1
  668. package/lib/module/components/MarkerView.js +0 -55
  669. package/lib/module/components/MarkerView.js.map +0 -1
  670. package/lib/module/components/NativeUserLocation.js.map +0 -1
  671. package/lib/module/components/PointAnnotation.js +0 -114
  672. package/lib/module/components/PointAnnotation.js.map +0 -1
  673. package/lib/module/components/RasterLayer.js +0 -25
  674. package/lib/module/components/RasterLayer.js.map +0 -1
  675. package/lib/module/components/RasterSource.js +0 -60
  676. package/lib/module/components/RasterSource.js.map +0 -1
  677. package/lib/module/components/ShapeSource.js +0 -166
  678. package/lib/module/components/ShapeSource.js.map +0 -1
  679. package/lib/module/components/SymbolLayer.js +0 -32
  680. package/lib/module/components/SymbolLayer.js.map +0 -1
  681. package/lib/module/components/UserLocation.js +0 -152
  682. package/lib/module/components/UserLocation.js.map +0 -1
  683. package/lib/module/components/UserLocationPuck.js +0 -48
  684. package/lib/module/components/UserLocationPuck.js.map +0 -1
  685. package/lib/module/components/UserLocationPuckHeading.js +0 -26
  686. package/lib/module/components/UserLocationPuckHeading.js.map +0 -1
  687. package/lib/module/components/VectorSource.js +0 -113
  688. package/lib/module/components/VectorSource.js.map +0 -1
  689. package/lib/module/hooks/useNativeRef.js +0 -10
  690. package/lib/module/hooks/useNativeRef.js.map +0 -1
  691. package/lib/module/types/CameraMode.js +0 -10
  692. package/lib/module/types/CameraMode.js.map +0 -1
  693. package/lib/module/types/MapLibreRNEvent.js +0 -4
  694. package/lib/module/types/MapLibreRNEvent.js.map +0 -1
  695. package/lib/module/types/OnPressEvent.js +0 -2
  696. package/lib/module/types/OnPressEvent.js.map +0 -1
  697. package/lib/module/utils/Logger.js +0 -111
  698. package/lib/module/utils/Logger.js.map +0 -1
  699. package/lib/typescript/commonjs/src/MapLibreRN.d.ts +0 -53
  700. package/lib/typescript/commonjs/src/MapLibreRN.d.ts.map +0 -1
  701. package/lib/typescript/commonjs/src/components/Annotation.d.ts +0 -21
  702. package/lib/typescript/commonjs/src/components/Annotation.d.ts.map +0 -1
  703. package/lib/typescript/commonjs/src/components/BackgroundLayer.d.ts +0 -12
  704. package/lib/typescript/commonjs/src/components/BackgroundLayer.d.ts.map +0 -1
  705. package/lib/typescript/commonjs/src/components/Callout.d.ts.map +0 -1
  706. package/lib/typescript/commonjs/src/components/Camera.d.ts +0 -134
  707. package/lib/typescript/commonjs/src/components/Camera.d.ts.map +0 -1
  708. package/lib/typescript/commonjs/src/components/CircleLayer.d.ts +0 -15
  709. package/lib/typescript/commonjs/src/components/CircleLayer.d.ts.map +0 -1
  710. package/lib/typescript/commonjs/src/components/FillExtrusionLayer.d.ts +0 -15
  711. package/lib/typescript/commonjs/src/components/FillExtrusionLayer.d.ts.map +0 -1
  712. package/lib/typescript/commonjs/src/components/FillLayer.d.ts +0 -15
  713. package/lib/typescript/commonjs/src/components/FillLayer.d.ts.map +0 -1
  714. package/lib/typescript/commonjs/src/components/HeatmapLayer.d.ts +0 -15
  715. package/lib/typescript/commonjs/src/components/HeatmapLayer.d.ts.map +0 -1
  716. package/lib/typescript/commonjs/src/components/ImageSource.d.ts +0 -30
  717. package/lib/typescript/commonjs/src/components/ImageSource.d.ts.map +0 -1
  718. package/lib/typescript/commonjs/src/components/Light.d.ts +0 -16
  719. package/lib/typescript/commonjs/src/components/Light.d.ts.map +0 -1
  720. package/lib/typescript/commonjs/src/components/LineLayer.d.ts +0 -15
  721. package/lib/typescript/commonjs/src/components/LineLayer.d.ts.map +0 -1
  722. package/lib/typescript/commonjs/src/components/MapView.d.ts +0 -223
  723. package/lib/typescript/commonjs/src/components/MapView.d.ts.map +0 -1
  724. package/lib/typescript/commonjs/src/components/MarkerView.d.ts.map +0 -1
  725. package/lib/typescript/commonjs/src/components/NativeUserLocation.d.ts.map +0 -1
  726. package/lib/typescript/commonjs/src/components/PointAnnotation.d.ts.map +0 -1
  727. package/lib/typescript/commonjs/src/components/RasterLayer.d.ts +0 -12
  728. package/lib/typescript/commonjs/src/components/RasterLayer.d.ts.map +0 -1
  729. package/lib/typescript/commonjs/src/components/RasterSource.d.ts +0 -53
  730. package/lib/typescript/commonjs/src/components/RasterSource.d.ts.map +0 -1
  731. package/lib/typescript/commonjs/src/components/ShapeSource.d.ts +0 -116
  732. package/lib/typescript/commonjs/src/components/ShapeSource.d.ts.map +0 -1
  733. package/lib/typescript/commonjs/src/components/SymbolLayer.d.ts +0 -15
  734. package/lib/typescript/commonjs/src/components/SymbolLayer.d.ts.map +0 -1
  735. package/lib/typescript/commonjs/src/components/UserLocation.d.ts +0 -69
  736. package/lib/typescript/commonjs/src/components/UserLocation.d.ts.map +0 -1
  737. package/lib/typescript/commonjs/src/components/UserLocationPuck.d.ts +0 -9
  738. package/lib/typescript/commonjs/src/components/UserLocationPuck.d.ts.map +0 -1
  739. package/lib/typescript/commonjs/src/components/UserLocationPuckHeading.d.ts +0 -9
  740. package/lib/typescript/commonjs/src/components/UserLocationPuckHeading.d.ts.map +0 -1
  741. package/lib/typescript/commonjs/src/components/VectorSource.d.ts +0 -66
  742. package/lib/typescript/commonjs/src/components/VectorSource.d.ts.map +0 -1
  743. package/lib/typescript/commonjs/src/hooks/useNativeRef.d.ts +0 -8
  744. package/lib/typescript/commonjs/src/hooks/useNativeRef.d.ts.map +0 -1
  745. package/lib/typescript/commonjs/src/types/CameraMode.d.ts +0 -7
  746. package/lib/typescript/commonjs/src/types/CameraMode.d.ts.map +0 -1
  747. package/lib/typescript/commonjs/src/types/MapLibreRNEvent.d.ts +0 -6
  748. package/lib/typescript/commonjs/src/types/MapLibreRNEvent.d.ts.map +0 -1
  749. package/lib/typescript/commonjs/src/types/OnPressEvent.d.ts +0 -12
  750. package/lib/typescript/commonjs/src/types/OnPressEvent.d.ts.map +0 -1
  751. package/lib/typescript/commonjs/src/utils/Logger.d.ts +0 -52
  752. package/lib/typescript/commonjs/src/utils/Logger.d.ts.map +0 -1
  753. package/lib/typescript/module/src/MapLibreRN.d.ts +0 -53
  754. package/lib/typescript/module/src/MapLibreRN.d.ts.map +0 -1
  755. package/lib/typescript/module/src/components/Annotation.d.ts +0 -21
  756. package/lib/typescript/module/src/components/Annotation.d.ts.map +0 -1
  757. package/lib/typescript/module/src/components/BackgroundLayer.d.ts +0 -12
  758. package/lib/typescript/module/src/components/BackgroundLayer.d.ts.map +0 -1
  759. package/lib/typescript/module/src/components/Callout.d.ts.map +0 -1
  760. package/lib/typescript/module/src/components/Camera.d.ts +0 -134
  761. package/lib/typescript/module/src/components/Camera.d.ts.map +0 -1
  762. package/lib/typescript/module/src/components/CircleLayer.d.ts +0 -15
  763. package/lib/typescript/module/src/components/CircleLayer.d.ts.map +0 -1
  764. package/lib/typescript/module/src/components/FillExtrusionLayer.d.ts +0 -15
  765. package/lib/typescript/module/src/components/FillExtrusionLayer.d.ts.map +0 -1
  766. package/lib/typescript/module/src/components/FillLayer.d.ts +0 -15
  767. package/lib/typescript/module/src/components/FillLayer.d.ts.map +0 -1
  768. package/lib/typescript/module/src/components/HeatmapLayer.d.ts +0 -15
  769. package/lib/typescript/module/src/components/HeatmapLayer.d.ts.map +0 -1
  770. package/lib/typescript/module/src/components/ImageSource.d.ts +0 -30
  771. package/lib/typescript/module/src/components/ImageSource.d.ts.map +0 -1
  772. package/lib/typescript/module/src/components/Light.d.ts +0 -16
  773. package/lib/typescript/module/src/components/Light.d.ts.map +0 -1
  774. package/lib/typescript/module/src/components/LineLayer.d.ts +0 -15
  775. package/lib/typescript/module/src/components/LineLayer.d.ts.map +0 -1
  776. package/lib/typescript/module/src/components/MapView.d.ts +0 -223
  777. package/lib/typescript/module/src/components/MapView.d.ts.map +0 -1
  778. package/lib/typescript/module/src/components/MarkerView.d.ts.map +0 -1
  779. package/lib/typescript/module/src/components/NativeUserLocation.d.ts.map +0 -1
  780. package/lib/typescript/module/src/components/PointAnnotation.d.ts.map +0 -1
  781. package/lib/typescript/module/src/components/RasterLayer.d.ts +0 -12
  782. package/lib/typescript/module/src/components/RasterLayer.d.ts.map +0 -1
  783. package/lib/typescript/module/src/components/RasterSource.d.ts +0 -53
  784. package/lib/typescript/module/src/components/RasterSource.d.ts.map +0 -1
  785. package/lib/typescript/module/src/components/ShapeSource.d.ts +0 -116
  786. package/lib/typescript/module/src/components/ShapeSource.d.ts.map +0 -1
  787. package/lib/typescript/module/src/components/SymbolLayer.d.ts +0 -15
  788. package/lib/typescript/module/src/components/SymbolLayer.d.ts.map +0 -1
  789. package/lib/typescript/module/src/components/UserLocation.d.ts +0 -69
  790. package/lib/typescript/module/src/components/UserLocation.d.ts.map +0 -1
  791. package/lib/typescript/module/src/components/UserLocationPuck.d.ts +0 -9
  792. package/lib/typescript/module/src/components/UserLocationPuck.d.ts.map +0 -1
  793. package/lib/typescript/module/src/components/UserLocationPuckHeading.d.ts +0 -9
  794. package/lib/typescript/module/src/components/UserLocationPuckHeading.d.ts.map +0 -1
  795. package/lib/typescript/module/src/components/VectorSource.d.ts +0 -66
  796. package/lib/typescript/module/src/components/VectorSource.d.ts.map +0 -1
  797. package/lib/typescript/module/src/hooks/useNativeRef.d.ts +0 -8
  798. package/lib/typescript/module/src/hooks/useNativeRef.d.ts.map +0 -1
  799. package/lib/typescript/module/src/types/CameraMode.d.ts +0 -7
  800. package/lib/typescript/module/src/types/CameraMode.d.ts.map +0 -1
  801. package/lib/typescript/module/src/types/MapLibreRNEvent.d.ts +0 -6
  802. package/lib/typescript/module/src/types/MapLibreRNEvent.d.ts.map +0 -1
  803. package/lib/typescript/module/src/types/OnPressEvent.d.ts +0 -12
  804. package/lib/typescript/module/src/types/OnPressEvent.d.ts.map +0 -1
  805. package/lib/typescript/module/src/utils/Logger.d.ts +0 -52
  806. package/lib/typescript/module/src/utils/Logger.d.ts.map +0 -1
  807. package/src/MapLibreRN.ts +0 -90
  808. package/src/components/Annotation.tsx +0 -162
  809. package/src/components/BackgroundLayer.tsx +0 -48
  810. package/src/components/Camera.tsx +0 -568
  811. package/src/components/CircleLayer.tsx +0 -50
  812. package/src/components/FillExtrusionLayer.tsx +0 -45
  813. package/src/components/FillLayer.tsx +0 -42
  814. package/src/components/HeatmapLayer.tsx +0 -44
  815. package/src/components/ImageSource.tsx +0 -68
  816. package/src/components/Light.tsx +0 -38
  817. package/src/components/LineLayer.tsx +0 -43
  818. package/src/components/MapView.tsx +0 -838
  819. package/src/components/MarkerView.tsx +0 -86
  820. package/src/components/PointAnnotation.tsx +0 -244
  821. package/src/components/RasterLayer.tsx +0 -41
  822. package/src/components/RasterSource.tsx +0 -112
  823. package/src/components/ShapeSource.tsx +0 -368
  824. package/src/components/SymbolLayer.tsx +0 -48
  825. package/src/components/UserLocation.tsx +0 -268
  826. package/src/components/UserLocationPuck.tsx +0 -62
  827. package/src/components/UserLocationPuckHeading.tsx +0 -33
  828. package/src/components/VectorSource.tsx +0 -195
  829. package/src/hooks/useNativeRef.ts +0 -14
  830. package/src/types/CameraMode.ts +0 -6
  831. package/src/types/MapLibreRNEvent.ts +0 -7
  832. package/src/types/OnPressEvent.ts +0 -11
  833. package/src/utils/Logger.ts +0 -131
  834. /package/ios/{ViewManager.h → components/ViewManager.h} +0 -0
  835. /package/ios/{ViewManager.m → components/ViewManager.m} +0 -0
  836. /package/ios/{MLRNCallout.m → components/annotations/MLRNCallout.m} +0 -0
  837. /package/ios/{MLRNCalloutManager.h → components/annotations/MLRNCalloutManager.h} +0 -0
  838. /package/ios/{MLRNCalloutManager.m → components/annotations/MLRNCalloutManager.m} +0 -0
  839. /package/ios/{MLRNPointAnnotation.m → components/annotations/MLRNPointAnnotation.m} +0 -0
  840. /package/ios/{MLRNPointAnnotationManager.h → components/annotations/MLRNPointAnnotationManager.h} +0 -0
  841. /package/ios/{MLRNPointAnnotationManager.m → components/annotations/MLRNPointAnnotationManager.m} +0 -0
  842. /package/ios/{CameraUpdateItem.h → components/camera/CameraUpdateItem.h} +0 -0
  843. /package/ios/{CameraUpdateQueue.h → components/camera/CameraUpdateQueue.h} +0 -0
  844. /package/ios/{CameraUpdateQueue.m → components/camera/CameraUpdateQueue.m} +0 -0
  845. /package/ios/{MLRNImageUtils.h → components/images/MLRNImageUtils.h} +0 -0
  846. /package/ios/{MLRNImageUtils.m → components/images/MLRNImageUtils.m} +0 -0
  847. /package/ios/{MLRNImagesManager.h → components/images/MLRNImagesManager.h} +0 -0
  848. /package/ios/{MLRNImagesManager.m → components/images/MLRNImagesManager.m} +0 -0
  849. /package/ios/{MLRNBackgroundLayer.h → components/layers/MLRNBackgroundLayer.h} +0 -0
  850. /package/ios/{MLRNBackgroundLayer.m → components/layers/MLRNBackgroundLayer.m} +0 -0
  851. /package/ios/{MLRNBackgroundLayerManager.h → components/layers/MLRNBackgroundLayerManager.h} +0 -0
  852. /package/ios/{MLRNBackgroundLayerManager.m → components/layers/MLRNBackgroundLayerManager.m} +0 -0
  853. /package/ios/{MLRNCircleLayer.h → components/layers/MLRNCircleLayer.h} +0 -0
  854. /package/ios/{MLRNCircleLayer.m → components/layers/MLRNCircleLayer.m} +0 -0
  855. /package/ios/{MLRNCircleLayerManager.h → components/layers/MLRNCircleLayerManager.h} +0 -0
  856. /package/ios/{MLRNCircleLayerManager.m → components/layers/MLRNCircleLayerManager.m} +0 -0
  857. /package/ios/{MLRNFillExtrusionLayer.h → components/layers/MLRNFillExtrusionLayer.h} +0 -0
  858. /package/ios/{MLRNFillExtrusionLayer.m → components/layers/MLRNFillExtrusionLayer.m} +0 -0
  859. /package/ios/{MLRNFillExtrusionLayerManager.h → components/layers/MLRNFillExtrusionLayerManager.h} +0 -0
  860. /package/ios/{MLRNFillExtrusionLayerManager.m → components/layers/MLRNFillExtrusionLayerManager.m} +0 -0
  861. /package/ios/{MLRNFillLayer.h → components/layers/MLRNFillLayer.h} +0 -0
  862. /package/ios/{MLRNFillLayer.m → components/layers/MLRNFillLayer.m} +0 -0
  863. /package/ios/{MLRNFillLayerManager.h → components/layers/MLRNFillLayerManager.h} +0 -0
  864. /package/ios/{MLRNFillLayerManager.m → components/layers/MLRNFillLayerManager.m} +0 -0
  865. /package/ios/{MLRNHeatmapLayer.h → components/layers/MLRNHeatmapLayer.h} +0 -0
  866. /package/ios/{MLRNHeatmapLayer.m → components/layers/MLRNHeatmapLayer.m} +0 -0
  867. /package/ios/{MLRNHeatmapLayerManager.h → components/layers/MLRNHeatmapLayerManager.h} +0 -0
  868. /package/ios/{MLRNHeatmapLayerManager.m → components/layers/MLRNHeatmapLayerManager.m} +0 -0
  869. /package/ios/{MLRNLineLayer.h → components/layers/MLRNLineLayer.h} +0 -0
  870. /package/ios/{MLRNLineLayer.m → components/layers/MLRNLineLayer.m} +0 -0
  871. /package/ios/{MLRNLineLayerManager.h → components/layers/MLRNLineLayerManager.h} +0 -0
  872. /package/ios/{MLRNLineLayerManager.m → components/layers/MLRNLineLayerManager.m} +0 -0
  873. /package/ios/{MLRNRasterLayer.h → components/layers/MLRNRasterLayer.h} +0 -0
  874. /package/ios/{MLRNRasterLayer.m → components/layers/MLRNRasterLayer.m} +0 -0
  875. /package/ios/{MLRNRasterLayerManager.h → components/layers/MLRNRasterLayerManager.h} +0 -0
  876. /package/ios/{MLRNRasterLayerManager.m → components/layers/MLRNRasterLayerManager.m} +0 -0
  877. /package/ios/{MLRNSymbolLayer.h → components/layers/MLRNSymbolLayer.h} +0 -0
  878. /package/ios/{MLRNSymbolLayer.m → components/layers/MLRNSymbolLayer.m} +0 -0
  879. /package/ios/{MLRNSymbolLayerManager.h → components/layers/MLRNSymbolLayerManager.h} +0 -0
  880. /package/ios/{MLRNSymbolLayerManager.m → components/layers/MLRNSymbolLayerManager.m} +0 -0
  881. /package/ios/{MLRNVectorLayer.h → components/layers/MLRNVectorLayer.h} +0 -0
  882. /package/ios/{MLRNVectorLayer.m → components/layers/MLRNVectorLayer.m} +0 -0
  883. /package/ios/{MLRNStyle.h → components/layers/style/MLRNStyle.h} +0 -0
  884. /package/ios/{MLRNImageSource.h → components/sources/MLRNImageSource.h} +0 -0
  885. /package/ios/{MLRNImageSource.m → components/sources/MLRNImageSource.m} +0 -0
  886. /package/ios/{MLRNImageSourceManager.h → components/sources/MLRNImageSourceManager.h} +0 -0
  887. /package/ios/{MLRNImageSourceManager.m → components/sources/MLRNImageSourceManager.m} +0 -0
  888. /package/ios/{MLRNRasterSource.h → components/sources/MLRNRasterSource.h} +0 -0
  889. /package/ios/{MLRNRasterSource.m → components/sources/MLRNRasterSource.m} +0 -0
  890. /package/ios/{MLRNRasterSourceManager.h → components/sources/MLRNRasterSourceManager.h} +0 -0
  891. /package/ios/{MLRNRasterSourceManager.m → components/sources/MLRNRasterSourceManager.m} +0 -0
  892. /package/ios/{MLRNShapeSourceManager.h → components/sources/MLRNShapeSourceManager.h} +0 -0
  893. /package/ios/{MLRNSource.m → components/sources/MLRNSource.m} +0 -0
  894. /package/ios/{MLRNTileSource.h → components/sources/MLRNTileSource.h} +0 -0
  895. /package/ios/{MLRNTileSource.m → components/sources/MLRNTileSource.m} +0 -0
  896. /package/ios/{MLRNVectorSource.h → components/sources/MLRNVectorSource.h} +0 -0
  897. /package/ios/{MLRNVectorSource.m → components/sources/MLRNVectorSource.m} +0 -0
  898. /package/ios/{MLRNVectorSourceManager.h → components/sources/MLRNVectorSourceManager.h} +0 -0
  899. /package/ios/{MLRNVectorSourceManager.m → components/sources/MLRNVectorSourceManager.m} +0 -0
  900. /package/ios/{MLRNNativeUserLocation.h → components/user-location/MLRNNativeUserLocation.h} +0 -0
  901. /package/ios/{MLRNNativeUserLocationManager.h → components/user-location/MLRNNativeUserLocationManager.h} +0 -0
  902. /package/ios/{MLRNNativeUserLocationManager.m → components/user-location/MLRNNativeUserLocationManager.m} +0 -0
  903. /package/ios/{MLRNUserLocation.h → components/user-location/MLRNUserLocation.h} +0 -0
  904. /package/ios/{MLRNUserLocation.m → components/user-location/MLRNUserLocation.m} +0 -0
  905. /package/ios/{MLRNLocation.h → modules/location/MLRNLocation.h} +0 -0
  906. /package/ios/{MLRNLocation.m → modules/location/MLRNLocation.m} +0 -0
  907. /package/ios/{MLRNLocationManager.h → modules/location/MLRNLocationManager.h} +0 -0
  908. /package/ios/{MLRNLocationManager.m → modules/location/MLRNLocationManager.m} +0 -0
  909. /package/ios/{MLRNLocationManagerDelegate.h → modules/location/MLRNLocationManagerDelegate.h} +0 -0
  910. /package/ios/{MLRNLocationModule.h → modules/location/MLRNLocationModule.h} +0 -0
  911. /package/ios/{MLRNLogging.h → modules/logging/MLRNLogging.h} +0 -0
  912. /package/ios/{MLRNLogging.m → modules/logging/MLRNLogging.m} +0 -0
  913. /package/ios/{MLRNCustomHeaders.h → modules/mlrn/MLRNCustomHeaders.h} +0 -0
  914. /package/ios/{MLRNCustomHeaders.m → modules/mlrn/MLRNCustomHeaders.m} +0 -0
  915. /package/ios/{MLRNModule.h → modules/mlrn/MLRNModule.h} +0 -0
  916. /package/ios/{MLRNSnapshotModule → modules/snapshot}/MLRNSnapshotModule.h +0 -0
  917. /package/ios/{FilterParser.h → utils/FilterParser.h} +0 -0
  918. /package/ios/{FilterParser.m → utils/FilterParser.m} +0 -0
  919. /package/ios/{MLRNEvent.h → utils/MLRNEvent.h} +0 -0
  920. /package/ios/{MLRNEventProtocol.h → utils/MLRNEventProtocol.h} +0 -0
  921. /package/lib/commonjs/components/{Callout.js → annotations/Callout.js} +0 -0
  922. /package/lib/commonjs/components/{NativeUserLocation.js → user-location/NativeUserLocation.js} +0 -0
  923. /package/lib/module/components/{Callout.js → annotations/Callout.js} +0 -0
  924. /package/lib/module/components/{NativeUserLocation.js → user-location/NativeUserLocation.js} +0 -0
  925. /package/lib/typescript/commonjs/src/components/{Callout.d.ts → annotations/Callout.d.ts} +0 -0
  926. /package/lib/typescript/commonjs/src/components/{MarkerView.d.ts → annotations/MarkerView.d.ts} +0 -0
  927. /package/lib/typescript/commonjs/src/components/{PointAnnotation.d.ts → annotations/PointAnnotation.d.ts} +0 -0
  928. /package/lib/typescript/commonjs/src/components/{NativeUserLocation.d.ts → user-location/NativeUserLocation.d.ts} +0 -0
  929. /package/lib/typescript/module/src/components/{Callout.d.ts → annotations/Callout.d.ts} +0 -0
  930. /package/lib/typescript/module/src/components/{MarkerView.d.ts → annotations/MarkerView.d.ts} +0 -0
  931. /package/lib/typescript/module/src/components/{PointAnnotation.d.ts → annotations/PointAnnotation.d.ts} +0 -0
  932. /package/lib/typescript/module/src/components/{NativeUserLocation.d.ts → user-location/NativeUserLocation.d.ts} +0 -0
  933. /package/src/components/{Callout.tsx → annotations/Callout.tsx} +0 -0
  934. /package/src/components/{NativeUserLocation.tsx → user-location/NativeUserLocation.tsx} +0 -0
@@ -0,0 +1,1362 @@
1
+ package org.maplibre.reactnative.components.mapview
2
+
3
+ import android.annotation.SuppressLint
4
+ import android.content.Context
5
+ import android.graphics.BitmapFactory
6
+ import android.graphics.PointF
7
+ import android.graphics.RectF
8
+ import android.os.Handler
9
+ import android.os.Looper
10
+ import android.util.AttributeSet
11
+ import android.view.Gravity
12
+ import android.view.MotionEvent
13
+ import android.view.View
14
+ import android.view.ViewGroup
15
+ import android.widget.FrameLayout
16
+ import com.facebook.react.bridge.LifecycleEventListener
17
+ import com.facebook.react.bridge.ReactContext
18
+ import com.facebook.react.bridge.ReadableArray
19
+ import com.facebook.react.bridge.ReadableMap
20
+ import com.facebook.react.bridge.WritableArray
21
+ import com.facebook.react.bridge.WritableMap
22
+ import com.facebook.react.bridge.WritableNativeArray
23
+ import com.facebook.react.bridge.WritableNativeMap
24
+ import com.facebook.react.uimanager.UIManagerHelper
25
+ import com.facebook.react.uimanager.events.EventDispatcher
26
+ import com.google.gson.JsonObject
27
+ import org.json.JSONException
28
+ import org.json.JSONObject
29
+ import org.maplibre.android.camera.CameraPosition
30
+ import org.maplibre.android.camera.CameraUpdate
31
+ import org.maplibre.android.geometry.LatLng
32
+ import org.maplibre.android.geometry.LatLngBounds
33
+ import org.maplibre.android.gestures.MoveGestureDetector
34
+ import org.maplibre.android.log.Logger
35
+ import org.maplibre.android.maps.AttributionDialogManager
36
+ import org.maplibre.android.maps.MapLibreMap
37
+ import org.maplibre.android.maps.MapLibreMapOptions
38
+ import org.maplibre.android.maps.MapView
39
+ import org.maplibre.android.maps.OnMapReadyCallback
40
+ import org.maplibre.android.maps.Style
41
+ import org.maplibre.android.maps.Style.OnStyleLoaded
42
+ import org.maplibre.android.plugins.annotation.OnSymbolClickListener
43
+ import org.maplibre.android.plugins.annotation.OnSymbolDragListener
44
+ import org.maplibre.android.plugins.annotation.Symbol
45
+ import org.maplibre.android.plugins.annotation.SymbolManager
46
+ import org.maplibre.android.style.expressions.Expression
47
+ import org.maplibre.android.style.layers.Layer
48
+ import org.maplibre.android.style.layers.Property
49
+ import org.maplibre.android.style.layers.PropertyFactory
50
+ import org.maplibre.geojson.Feature
51
+ import org.maplibre.geojson.FeatureCollection
52
+ import org.maplibre.reactnative.R
53
+ import org.maplibre.reactnative.components.AbstractMapFeature
54
+ import org.maplibre.reactnative.components.annotations.MLRNMarkerView
55
+ import org.maplibre.reactnative.components.annotations.MLRNPointAnnotation
56
+ import org.maplibre.reactnative.components.annotations.MarkerViewManager
57
+ import org.maplibre.reactnative.components.camera.MLRNCamera
58
+ import org.maplibre.reactnative.components.images.MLRNImages
59
+ import org.maplibre.reactnative.components.location.LocationComponentManager
60
+ import org.maplibre.reactnative.components.location.MLRNNativeUserLocation
61
+ import org.maplibre.reactnative.components.mapview.helpers.CameraChangeTracker
62
+ import org.maplibre.reactnative.components.mapview.helpers.LayerSourceInfo
63
+ import org.maplibre.reactnative.components.layers.MLRNLayer
64
+ import org.maplibre.reactnative.components.layers.style.MLRNStyle
65
+ import org.maplibre.reactnative.components.layers.style.MLRNStyleFactory
66
+ import org.maplibre.reactnative.components.sources.MLRNSource
67
+ import org.maplibre.reactnative.components.sources.MLRNSource.OnPressEvent
68
+ import org.maplibre.reactnative.events.MapChangeEvent
69
+ import org.maplibre.reactnative.events.MapPressEvent
70
+ import org.maplibre.reactnative.modules.MLRNModule
71
+ import org.maplibre.reactnative.utils.BitmapUtils
72
+ import org.maplibre.reactnative.utils.ConvertUtils
73
+ import org.maplibre.reactnative.utils.GeoJSONUtils
74
+ import kotlin.math.roundToInt
75
+
76
+ sealed class MapChild {
77
+ data class FeatureChild(val feature: AbstractMapFeature) : MapChild()
78
+ data class ViewChild(val view: View) : MapChild()
79
+
80
+ fun toView(): View? = when (this) {
81
+ is FeatureChild -> feature
82
+ is ViewChild -> view
83
+ }
84
+ }
85
+
86
+ open class MLRNMapView(
87
+ context: Context, options: MapLibreMapOptions?
88
+ ) : MapView(
89
+ context, options
90
+ ), OnMapReadyCallback, MapLibreMap.OnMapClickListener, MapLibreMap.OnMapLongClickListener,
91
+ MapView.OnCameraIsChangingListener, MapView.OnCameraDidChangeListener,
92
+ MapView.OnWillStartLoadingMapListener, MapView.OnDidFailLoadingMapListener,
93
+ MapView.OnDidFinishLoadingMapListener, MapView.OnWillStartRenderingFrameListener,
94
+ MapView.OnWillStartRenderingMapListener, MapView.OnDidFinishRenderingFrameListener,
95
+ MapView.OnDidFinishRenderingMapListener, MapView.OnDidFinishLoadingStyleListener,
96
+ MapView.OnStyleImageMissingListener {
97
+ constructor(context: Context) : this(context, options = null)
98
+
99
+ @Suppress("UNUSED_PARAMETER")
100
+ constructor(context: Context, attrs: AttributeSet?) : this(context, options = null)
101
+
102
+ @Suppress("UNUSED_PARAMETER")
103
+ constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : this(
104
+ context, options = null
105
+ )
106
+
107
+ private val handler: Handler
108
+ private var lifeCycleListener: LifecycleEventListener? = null
109
+ private var paused = false
110
+ private var destroyed = false
111
+
112
+ private var camera: MLRNCamera? = null
113
+ private val children: MutableList<MapChild>
114
+ private var queuedChildren: MutableList<MapChild>?
115
+ private val pointAnnotations: MutableMap<String?, MLRNPointAnnotation?>
116
+ private val sources: MutableMap<String?, MLRNSource<*>?>
117
+ private val images: MutableList<MLRNImages>
118
+
119
+ private val cameraChangeTracker = CameraChangeTracker()
120
+
121
+ var mapLibreMap: MapLibreMap? = null
122
+ private set
123
+
124
+ private var mapStyle: String
125
+ private var insets: ReadableArray? = null
126
+ private var preferredFramesPerSecond: Int? = null
127
+
128
+ private var scrollEnabled: Boolean? = null
129
+ private var zoomEnabled: Boolean? = null
130
+ private var rotateEnabled: Boolean? = null
131
+ private var pitchEnabled: Boolean? = null
132
+
133
+ var tintColor: Int? = null
134
+
135
+ private var attributionEnabled: Boolean? = null
136
+ private var attributionGravity: Int? = null
137
+ private var attributionMargin: IntArray? = null
138
+
139
+ private var logoEnabled: Boolean? = null
140
+ private var logoGravity: Int? = null
141
+ private var logoMargins: IntArray? = null
142
+
143
+ private var compassEnabled: Boolean? = null
144
+ private var compassGravity: Int? = null
145
+ private var compassMargins: IntArray? = null
146
+
147
+
148
+ private var symbolManager: SymbolManager? = null
149
+
150
+ private var activeMarkerID: Long = -1
151
+
152
+ private var markerViewManager: MarkerViewManager? = null
153
+ private var offscreenAnnotationViewContainer: ViewGroup? = null
154
+
155
+ private var annotationClicked = false
156
+
157
+ val locationComponentManager: LocationComponentManager by lazy {
158
+ LocationComponentManager(this, context)
159
+ }
160
+
161
+ val eventDispatcher: EventDispatcher?
162
+ get() {
163
+ val reactContext = context as ReactContext
164
+
165
+ return UIManagerHelper.getEventDispatcherForReactTag(reactContext, id)
166
+ }
167
+
168
+ val surfaceId: Int
169
+ get() {
170
+ val reactContext = context as ReactContext
171
+
172
+ return UIManagerHelper.getSurfaceId(reactContext)
173
+ }
174
+
175
+ override fun onResume() {
176
+ super.onResume()
177
+ paused = false
178
+ }
179
+
180
+ override fun onPause() {
181
+ super.onPause()
182
+ paused = true
183
+ }
184
+
185
+ override fun onDestroy() {
186
+ super.onDestroy()
187
+ destroyed = true
188
+ }
189
+
190
+ fun addFeature(childView: View?, childPosition: Int) {
191
+ val child: MapChild? = when (childView) {
192
+
193
+ is MLRNCamera -> {
194
+ camera = childView
195
+ MapChild.FeatureChild(childView)
196
+ }
197
+
198
+ is MLRNSource<*> -> {
199
+ sources.put(childView.getID(), childView)
200
+ MapChild.FeatureChild(childView)
201
+ }
202
+
203
+ is MLRNPointAnnotation -> {
204
+ pointAnnotations.put(childView.getID(), childView)
205
+ MapChild.FeatureChild(childView)
206
+ }
207
+
208
+ is MLRNImages -> {
209
+ images.add(childView)
210
+ MapChild.FeatureChild(childView)
211
+ }
212
+
213
+ is MLRNNativeUserLocation, is MLRNMarkerView, is MLRNLayer<*> -> {
214
+ MapChild.FeatureChild(childView)
215
+ }
216
+
217
+ is ViewGroup -> {
218
+ MapChild.ViewChild(childView)
219
+ }
220
+
221
+ else -> null
222
+ }
223
+
224
+ if (child != null) {
225
+ if (queuedChildren == null) {
226
+ when (child) {
227
+ is MapChild.FeatureChild -> {
228
+ child.feature.addToMap(this)
229
+ }
230
+
231
+ is MapChild.ViewChild -> {
232
+ addView(child.view)
233
+ }
234
+ }
235
+
236
+ children.add(childPosition, child)
237
+ } else {
238
+ queuedChildren!!.add(childPosition, child)
239
+ }
240
+ }
241
+ }
242
+
243
+ fun removeFeature(childPosition: Int) {
244
+ val child = children()[childPosition]
245
+
246
+ when (child) {
247
+ is MapChild.FeatureChild -> {
248
+ when (child.feature) {
249
+ is MLRNSource<*> -> {
250
+ sources.remove(child.feature.getID())
251
+ }
252
+
253
+ is MLRNPointAnnotation -> {
254
+ if (child.feature.mapboxID == activeMarkerID) {
255
+ activeMarkerID = -1
256
+ }
257
+
258
+ pointAnnotations.remove(child.feature.getID())
259
+ }
260
+
261
+ is MLRNImages -> {
262
+ images.remove(child.feature)
263
+ }
264
+ }
265
+
266
+ child.feature.removeFromMap(this)
267
+ }
268
+
269
+ is MapChild.ViewChild -> {
270
+ removeView(child.view)
271
+ }
272
+ }
273
+
274
+ children().remove(child)
275
+ }
276
+
277
+ private fun children() =
278
+ queuedChildren?.takeIf { it.isNotEmpty() } ?: children
279
+
280
+ val featureCount: Int get() = children().size
281
+
282
+ fun getFeatureAt(i: Int): MapChild {
283
+ return children()[i]
284
+ }
285
+
286
+ @Synchronized
287
+ fun dispose() {
288
+ if (destroyed) {
289
+ return
290
+ }
291
+
292
+ if (!layerWaiters.isEmpty()) {
293
+ layerWaiters.clear()
294
+ }
295
+
296
+ val reactContext = context as ReactContext
297
+ reactContext.removeLifecycleEventListener(lifeCycleListener)
298
+
299
+ if (!paused) {
300
+ onPause()
301
+ }
302
+
303
+ onStop()
304
+ onDestroy()
305
+ }
306
+
307
+ val cameraPosition: CameraPosition
308
+ get() = mapLibreMap!!.cameraPosition
309
+
310
+ fun moveCamera(cameraUpdate: CameraUpdate, callback: MapLibreMap.CancelableCallback?) {
311
+ mapLibreMap!!.moveCamera(cameraUpdate, callback)
312
+ }
313
+
314
+ fun getPointAnnotationByMarkerID(markerID: Long): MLRNPointAnnotation? {
315
+ for (key in pointAnnotations.keys) {
316
+ val annotation = pointAnnotations[key]
317
+
318
+ if (annotation != null && markerID == annotation.mapboxID) {
319
+ return annotation
320
+ }
321
+ }
322
+
323
+ return null
324
+ }
325
+
326
+ fun getSymbolManager(): SymbolManager {
327
+ return symbolManager!!
328
+ }
329
+
330
+ interface FoundLayerCallback {
331
+ fun found(layer: Layer?)
332
+ }
333
+
334
+ private val layerWaiters: MutableMap<String?, MutableList<FoundLayerCallback>> =
335
+ HashMap<String?, MutableList<FoundLayerCallback>>()
336
+
337
+ init {
338
+ onCreate(null)
339
+ onStart()
340
+ onResume()
341
+ getMapAsync(this)
342
+
343
+ sources = HashMap()
344
+ images = ArrayList()
345
+ pointAnnotations = HashMap()
346
+ children = ArrayList()
347
+ queuedChildren = ArrayList()
348
+
349
+ handler = Handler(Looper.getMainLooper())
350
+
351
+ mapStyle = MLRNModule.DEFAULT_STYLE_URL
352
+
353
+ setLifecycleListeners()
354
+
355
+ addOnCameraIsChangingListener(this)
356
+ addOnCameraDidChangeListener(this)
357
+ addOnDidFailLoadingMapListener(this)
358
+ addOnDidFinishLoadingMapListener(this)
359
+ addOnStyleImageMissingListener(this)
360
+
361
+ addOnWillStartRenderingFrameListener(this)
362
+ addOnDidFinishRenderingFrameListener(this)
363
+ addOnWillStartRenderingMapListener(this)
364
+ addOnDidFinishRenderingMapListener(this)
365
+ addOnDidFinishLoadingStyleListener(this)
366
+ }
367
+
368
+ fun layerAdded(layer: Layer) {
369
+ val layerId = layer.getId()
370
+
371
+ val callbacks = layerWaiters[layerId]
372
+ if (callbacks != null) {
373
+ for (callback in callbacks) {
374
+ callback.found(layer)
375
+ }
376
+ }
377
+ layerWaiters.remove(layerId)
378
+ }
379
+
380
+ fun waitForLayer(layerID: String, callback: FoundLayerCallback) {
381
+ val layer = mapLibreMap!!.style!!.getLayer(layerID)
382
+ if (layer != null) {
383
+ callback.found(layer)
384
+ } else {
385
+ val waiters = layerWaiters.computeIfAbsent(layerID) { k: String? -> ArrayList() }
386
+ waiters.add(callback)
387
+ }
388
+ }
389
+
390
+ fun isJSONValid(test: String): Boolean {
391
+ try {
392
+ JSONObject(test)
393
+ } catch (_: JSONException) {
394
+ return false
395
+ }
396
+ return true
397
+ }
398
+
399
+ override fun onMapReady(mapLibreMap: MapLibreMap) {
400
+ this.mapLibreMap = mapLibreMap
401
+
402
+ if (isJSONValid(mapStyle)) {
403
+ mapLibreMap.setStyle(Style.Builder().fromJson(mapStyle))
404
+ } else {
405
+ mapLibreMap.setStyle(Style.Builder().fromUri(mapStyle))
406
+ }
407
+
408
+ reflow()
409
+
410
+ mapLibreMap.getStyle { style ->
411
+ createSymbolManager(style)
412
+ setUpImage(style)
413
+ addQueuedFeatures()
414
+ }
415
+
416
+ updatePreferredFramesPerSecond()
417
+ updateInsets()
418
+ updateUISettings()
419
+
420
+ mapLibreMap.addOnCameraMoveStartedListener { reason ->
421
+ cameraChangeTracker.setReason(reason)
422
+ handleMapChangedEvent("onRegionWillChange", true)
423
+ }
424
+
425
+ mapLibreMap.addOnCameraMoveListener {
426
+ if (markerViewManager != null) {
427
+ markerViewManager!!.updateMarkers()
428
+ }
429
+ }
430
+
431
+ mapLibreMap.addOnMoveListener(object : MapLibreMap.OnMoveListener {
432
+ override fun onMoveBegin(detector: MoveGestureDetector) {
433
+ cameraChangeTracker.setReason(CameraChangeTracker.USER_GESTURE)
434
+ handleMapChangedEvent("onRegionWillChange", true)
435
+ }
436
+
437
+ override fun onMove(detector: MoveGestureDetector) {
438
+ cameraChangeTracker.setReason(CameraChangeTracker.USER_GESTURE)
439
+ handleMapChangedEvent("onRegionIsChanging")
440
+ }
441
+
442
+ override fun onMoveEnd(detector: MoveGestureDetector) {
443
+ }
444
+ })
445
+
446
+ mapLibreMap.addOnCameraIdleListener { sendRegionDidChangeEvent() }
447
+ }
448
+
449
+ fun reflow() {
450
+ handler.post {
451
+ measure(
452
+ MeasureSpec.makeMeasureSpec(measuredWidth, MeasureSpec.EXACTLY),
453
+ MeasureSpec.makeMeasureSpec(measuredHeight, MeasureSpec.EXACTLY)
454
+ )
455
+ layout(left, top, right, bottom)
456
+ }
457
+ }
458
+
459
+ fun createSymbolManager(style: Style) {
460
+ symbolManager = SymbolManager(this, this.mapLibreMap!!, style)
461
+ symbolManager!!.setIconAllowOverlap(true)
462
+ symbolManager!!.addClickListener(object : OnSymbolClickListener {
463
+ override fun onAnnotationClick(symbol: Symbol): Boolean {
464
+ onMarkerClick(symbol)
465
+ return true
466
+ }
467
+ })
468
+ symbolManager!!.addDragListener(object : OnSymbolDragListener {
469
+ override fun onAnnotationDragStarted(symbol: Symbol) {
470
+ annotationClicked = true
471
+ val selectedMarkerID = symbol.id
472
+ val annotation = getPointAnnotationByMarkerID(selectedMarkerID)
473
+ annotation?.onDragStart()
474
+ }
475
+
476
+ override fun onAnnotationDrag(symbol: Symbol) {
477
+ val selectedMarkerID = symbol.id
478
+ val annotation = getPointAnnotationByMarkerID(selectedMarkerID)
479
+ annotation?.onDrag()
480
+ }
481
+
482
+ override fun onAnnotationDragFinished(symbol: Symbol) {
483
+ annotationClicked = false
484
+ val selectedMarkerID = symbol.id
485
+ val annotation = getPointAnnotationByMarkerID(selectedMarkerID)
486
+ annotation?.onDragEnd()
487
+ }
488
+ })
489
+ mapLibreMap!!.addOnMapClickListener(this)
490
+ mapLibreMap!!.addOnMapLongClickListener(this)
491
+ }
492
+
493
+ fun addQueuedFeatures() {
494
+ if (queuedChildren != null && !queuedChildren!!.isEmpty()) {
495
+ for (i in queuedChildren!!.indices) {
496
+ val child = queuedChildren!![i]
497
+
498
+ when (child) {
499
+ is MapChild.FeatureChild -> {
500
+ child.feature.addToMap(this)
501
+ }
502
+
503
+ is MapChild.ViewChild -> {
504
+ addView(child.view)
505
+ }
506
+ }
507
+
508
+ children.add(child)
509
+ }
510
+
511
+ queuedChildren = null
512
+ }
513
+ }
514
+
515
+ @SuppressLint("ClickableViewAccessibility")
516
+ override fun onTouchEvent(ev: MotionEvent?): Boolean {
517
+ val result = super.onTouchEvent(ev)
518
+
519
+ if (result && scrollEnabled == true) {
520
+ requestDisallowInterceptTouchEvent(true)
521
+ }
522
+
523
+ return result
524
+ }
525
+
526
+ override fun onLayout(changed: Boolean, left: Int, top: Int, right: Int, bottom: Int) {
527
+ if (!paused) {
528
+ if (markerViewManager != null) {
529
+ markerViewManager!!.removeViews()
530
+ }
531
+ super.onLayout(changed, left, top, right, bottom)
532
+ if (markerViewManager != null) {
533
+ markerViewManager!!.restoreViews()
534
+ }
535
+ }
536
+ }
537
+
538
+
539
+ override fun onMapClick(latLng: LatLng): Boolean {
540
+ if (annotationClicked) {
541
+ annotationClicked = false
542
+ return true
543
+ }
544
+
545
+ val screenPoint = mapLibreMap!!.projection.toScreenLocation(latLng)
546
+ val touchableSources = this.allTouchableSources
547
+
548
+ val hits: MutableMap<String?, MutableList<Feature?>?> = HashMap()
549
+ val hitTouchableSources: MutableList<MLRNSource<*>> = ArrayList()
550
+ for (touchableSource in touchableSources) {
551
+ val hitbox = touchableSource.getTouchHitbox()
552
+ if (hitbox == null) {
553
+ continue
554
+ }
555
+
556
+ val halfWidth = hitbox["width"]!!.toFloat() / 2.0f
557
+ val halfHeight = hitbox["height"]!!.toFloat() / 2.0f
558
+
559
+ val hitboxF = RectF()
560
+ hitboxF.set(
561
+ screenPoint.x - halfWidth,
562
+ screenPoint.y - halfHeight,
563
+ screenPoint.x + halfWidth,
564
+ screenPoint.y + halfHeight
565
+ )
566
+
567
+ val features =
568
+ mapLibreMap!!.queryRenderedFeatures(hitboxF, *touchableSource.getLayerIDs())
569
+ if (features.isNotEmpty()) {
570
+ hits.put(touchableSource.getID(), features)
571
+ hitTouchableSources.add(touchableSource)
572
+ }
573
+ }
574
+
575
+ if (hits.isNotEmpty()) {
576
+ val source = getTouchableSourceWithHighestZIndex(hitTouchableSources)
577
+ if (source != null && source.hasPressListener()) {
578
+ source.onPress(
579
+ OnPressEvent(
580
+ hits[source.getID()]!!, latLng, screenPoint
581
+ )
582
+ )
583
+ return true
584
+ }
585
+ }
586
+
587
+ val event = MapPressEvent(surfaceId, id, "onPress", latLng, screenPoint)
588
+ eventDispatcher?.dispatchEvent(event)
589
+
590
+ return false
591
+ }
592
+
593
+ override fun onMapLongClick(latLng: LatLng): Boolean {
594
+ if (annotationClicked) {
595
+ annotationClicked = false
596
+ return true
597
+ }
598
+ val screenPoint = mapLibreMap!!.projection.toScreenLocation(latLng)
599
+
600
+ val event = MapPressEvent(surfaceId, id, "onLongPress", latLng, screenPoint)
601
+ eventDispatcher?.dispatchEvent(event)
602
+
603
+ return false
604
+ }
605
+
606
+ fun onMarkerClick(symbol: Symbol) {
607
+ annotationClicked = true
608
+ val selectedMarkerID = symbol.id
609
+
610
+ var activeAnnotation: MLRNPointAnnotation? = null
611
+ var nextActiveAnnotation: MLRNPointAnnotation? = null
612
+
613
+ for (key in pointAnnotations.keys) {
614
+ val annotation = pointAnnotations[key]
615
+ val curMarkerID = annotation!!.mapboxID
616
+ if (activeMarkerID == curMarkerID) {
617
+ activeAnnotation = annotation
618
+ }
619
+ if (selectedMarkerID == curMarkerID && activeMarkerID != curMarkerID) {
620
+ nextActiveAnnotation = annotation
621
+ }
622
+ }
623
+
624
+ if (activeAnnotation != null) {
625
+ deselectAnnotation(activeAnnotation)
626
+ }
627
+
628
+ if (nextActiveAnnotation != null) {
629
+ selectAnnotation(nextActiveAnnotation)
630
+ }
631
+ }
632
+
633
+ fun selectAnnotation(annotation: MLRNPointAnnotation) {
634
+ activeMarkerID = annotation.mapboxID
635
+ annotation.onSelect(true)
636
+ }
637
+
638
+ fun deselectAnnotation(annotation: MLRNPointAnnotation) {
639
+ activeMarkerID = -1
640
+ annotation.onDeselect()
641
+ }
642
+
643
+ override fun onCameraDidChange(animated: Boolean) {
644
+ cameraChangeTracker.isAnimating = animated
645
+ }
646
+
647
+ override fun onCameraIsChanging() {
648
+ handleMapChangedEvent("onRegionIsChanging")
649
+ }
650
+
651
+ override fun onWillStartLoadingMap() {
652
+ handleMapChangedEvent("onWillStartLoadingMap")
653
+ }
654
+
655
+ override fun onDidFinishLoadingMap() {
656
+ handleMapChangedEvent("onDidFinishLoadingMap")
657
+ }
658
+
659
+ override fun onDidFailLoadingMap(errorMessage: String?) {
660
+ handleMapChangedEvent("onDidFailLoadingMap")
661
+ }
662
+
663
+
664
+ override fun onWillStartRenderingFrame() {
665
+ handleMapChangedEvent("onWillStartRenderingFrame")
666
+ }
667
+
668
+ override fun onDidFinishRenderingFrame(
669
+ fully: Boolean, frameEncodingTime: Double, frameRenderingTime: Double
670
+ ) {
671
+ if (fully) {
672
+ handleMapChangedEvent("onDidFinishRenderingFrameFully")
673
+ } else {
674
+ handleMapChangedEvent("onDidFinishRenderingFrame")
675
+ }
676
+ }
677
+
678
+ override fun onWillStartRenderingMap() {
679
+ handleMapChangedEvent("onWillStartRenderingMap")
680
+ }
681
+
682
+ override fun onDidFinishRenderingMap(fully: Boolean) {
683
+ if (fully) {
684
+ handleMapChangedEvent("onDidFinishRenderingMapFully")
685
+ } else {
686
+ handleMapChangedEvent("onDidFinishRenderingMap")
687
+ }
688
+ }
689
+
690
+ override fun onDidFinishLoadingStyle() {
691
+ handleMapChangedEvent("onDidFinishLoadingStyle")
692
+ applyLight()
693
+ }
694
+
695
+ override fun onStyleImageMissing(id: String) {
696
+ for (images in images) {
697
+ if (images.addMissingImageToStyle(id, this.mapLibreMap!!)) {
698
+ return
699
+ }
700
+ }
701
+ for (images in images) {
702
+ images.sendImageMissingEvent(id, this.mapLibreMap!!)
703
+ }
704
+ }
705
+
706
+ private val displayDensity: Float
707
+ get() = context.resources.displayMetrics.density
708
+
709
+ fun setReactMapStyle(value: String?) {
710
+ if (value != null) {
711
+ mapStyle = value
712
+
713
+ if (mapLibreMap != null) {
714
+ removeAllSourcesFromMap()
715
+
716
+ if (isJSONValid(mapStyle)) {
717
+ mapLibreMap!!.setStyle(
718
+ Style.Builder().fromJson(mapStyle)
719
+ ) {
720
+ addAllSourcesToMap()
721
+ }
722
+ } else {
723
+ mapLibreMap!!.setStyle(value) {
724
+ addAllSourcesToMap()
725
+ }
726
+ }
727
+ }
728
+ }
729
+ }
730
+
731
+ private var reactLight: ReadableMap? = null
732
+
733
+ fun setReactLight(value: ReadableMap?) {
734
+ reactLight = value
735
+ applyLight()
736
+ }
737
+
738
+ private fun applyLight() {
739
+ val reactLightProps = reactLight
740
+ val map = mapLibreMap
741
+ val style = map?.style
742
+
743
+ if (style != null && reactLightProps != null && map != null) {
744
+ val light = style.light
745
+ MLRNStyleFactory.setLightLayerStyle(light, MLRNStyle(context, reactLightProps, map))
746
+ }
747
+ }
748
+
749
+ fun setReactContentInset(value: ReadableMap?) {
750
+ if (value != null) {
751
+ val arr = WritableNativeArray()
752
+ arr.pushDouble(if (value.hasKey("top")) value.getDouble("top") else 0.0)
753
+ arr.pushDouble(if (value.hasKey("right")) value.getDouble("right") else 0.0)
754
+ arr.pushDouble(if (value.hasKey("bottom")) value.getDouble("bottom") else 0.0)
755
+ arr.pushDouble(if (value.hasKey("left")) value.getDouble("left") else 0.0)
756
+ insets = arr
757
+ } else {
758
+ insets = null
759
+ }
760
+ updateInsets()
761
+ }
762
+
763
+ fun setReactPreferredFramesPerSecond(preferredFramesPerSecond: Int?) {
764
+ this.preferredFramesPerSecond = preferredFramesPerSecond
765
+ updatePreferredFramesPerSecond()
766
+ }
767
+
768
+ fun setReactScrollEnabled(scrollEnabled: Boolean) {
769
+ this.scrollEnabled = scrollEnabled
770
+ updateUISettings()
771
+ }
772
+
773
+ fun setReactZoomEnabled(zoomEnabled: Boolean) {
774
+ this.zoomEnabled = zoomEnabled
775
+ updateUISettings()
776
+ }
777
+
778
+ fun setReactRotateEnabled(rotateEnabled: Boolean) {
779
+ this.rotateEnabled = rotateEnabled
780
+ updateUISettings()
781
+ }
782
+
783
+ fun setReactPitchEnabled(pitchEnabled: Boolean) {
784
+ this.pitchEnabled = pitchEnabled
785
+ updateUISettings()
786
+ }
787
+
788
+ fun setReactTintColor(value: Int?) {
789
+ tintColor = value
790
+ updateUISettings()
791
+ if (mapLibreMap?.style != null) {
792
+ locationComponentManager.update(mapLibreMap!!.style!!)
793
+ }
794
+ }
795
+
796
+ private fun setOrnamentPosition(
797
+ position: ReadableMap?,
798
+ defaultGravityKey: (MapLibreMapOptions) -> Int,
799
+ defaultMarginsKey: (MapLibreMapOptions) -> IntArray,
800
+ setGravity: (Int) -> Unit,
801
+ setMargins: (IntArray) -> Unit
802
+ ) {
803
+ if (position == null) {
804
+ val defaults = MapLibreMapOptions.createFromAttributes(context)
805
+ setGravity(defaultGravityKey(defaults))
806
+ setMargins(defaultMarginsKey(defaults).copyOf(4))
807
+ } else {
808
+ var gravity = Gravity.NO_GRAVITY
809
+ if (position.hasKey("left")) gravity = gravity or Gravity.START
810
+ if (position.hasKey("right")) gravity = gravity or Gravity.END
811
+ if (position.hasKey("top")) gravity = gravity or Gravity.TOP
812
+ if (position.hasKey("bottom")) gravity = gravity or Gravity.BOTTOM
813
+ val density = this.displayDensity
814
+ val margins = intArrayOf(
815
+ if (position.hasKey("left")) (density * position.getInt("left")).roundToInt() else 0,
816
+ if (position.hasKey("top")) (density * position.getInt("top")).roundToInt() else 0,
817
+ if (position.hasKey("right")) (density * position.getInt("right")).roundToInt() else 0,
818
+ if (position.hasKey("bottom")) (density * position.getInt("bottom")).roundToInt() else 0
819
+ )
820
+ setGravity(gravity)
821
+ setMargins(margins)
822
+ }
823
+ updateUISettings()
824
+ }
825
+
826
+ fun setReactAttribution(value: Boolean) {
827
+ attributionEnabled = value
828
+ updateUISettings()
829
+ }
830
+
831
+ fun setReactAttributionPosition(position: ReadableMap?) {
832
+ setOrnamentPosition(
833
+ position,
834
+ { it.attributionGravity },
835
+ { it.attributionMargins },
836
+ { attributionGravity = it },
837
+ { attributionMargin = it })
838
+ }
839
+
840
+ fun setReactLogo(value: Boolean) {
841
+ logoEnabled = value
842
+ updateUISettings()
843
+ }
844
+
845
+ fun setReactLogoPosition(position: ReadableMap?) {
846
+ setOrnamentPosition(
847
+ position,
848
+ { it.logoGravity },
849
+ { it.logoMargins },
850
+ { logoGravity = it },
851
+ { logoMargins = it })
852
+ }
853
+
854
+ fun setReactCompass(value: Boolean) {
855
+ compassEnabled = value
856
+ updateUISettings()
857
+ }
858
+
859
+ fun setReactCompassPosition(position: ReadableMap?) {
860
+ setOrnamentPosition(
861
+ position,
862
+ { it.compassGravity },
863
+ { it.compassMargins },
864
+ { compassGravity = it },
865
+ { compassMargins = it })
866
+ }
867
+
868
+ fun getCenter(): WritableMap {
869
+ val cameraPosition = mapLibreMap!!.cameraPosition
870
+ val center = cameraPosition.target!!
871
+
872
+ val payload: WritableMap = WritableNativeMap()
873
+ payload.putDouble("longitude", center.longitude)
874
+ payload.putDouble("latitude", center.latitude)
875
+
876
+ return payload
877
+ }
878
+
879
+ fun getZoom(): Double {
880
+ val cameraPosition = mapLibreMap!!.cameraPosition
881
+
882
+ return cameraPosition.zoom
883
+ }
884
+
885
+ fun getBearing(): Double {
886
+ val cameraPosition = mapLibreMap!!.cameraPosition
887
+
888
+ return cameraPosition.bearing
889
+ }
890
+
891
+ fun getPitch(): Double {
892
+ val cameraPosition = mapLibreMap!!.cameraPosition
893
+
894
+ return cameraPosition.tilt
895
+ }
896
+
897
+ fun getBounds(): WritableArray {
898
+ val visibleRegion = mapLibreMap!!.projection.visibleRegion
899
+ return GeoJSONUtils.fromLatLngBounds(visibleRegion.latLngBounds)
900
+ }
901
+
902
+ fun getViewState(): WritableMap {
903
+ val payload = this.getCenter()
904
+ payload.putDouble("zoom", getZoom())
905
+ payload.putDouble("bearing", getBearing())
906
+ payload.putDouble("pitch", getPitch())
907
+ payload.putArray("bounds", getBounds())
908
+
909
+ return payload
910
+ }
911
+
912
+ fun queryRenderedFeaturesWithCoordinate(
913
+ latLng: LatLng, layers: ReadableArray?, filter: Expression?,
914
+ ): WritableMap {
915
+ val features =
916
+ mapLibreMap!!.queryRenderedFeatures(
917
+ mapLibreMap!!.projection.toScreenLocation(latLng),
918
+ filter,
919
+ *(layers?.let { Array(layers.size()) { layers.getString(it) } } ?: emptyArray()))
920
+
921
+
922
+ val featureCollection = FeatureCollection.fromFeatures(features)
923
+ val jsonObject: JsonObject =
924
+ com.google.gson.JsonParser.parseString(featureCollection.toJson()).asJsonObject
925
+ return ConvertUtils.toWritableMap(jsonObject)
926
+ }
927
+
928
+
929
+ fun queryRenderedFeaturesWithBounds(
930
+ bounds: LatLngBounds, layers: ReadableArray?, filter: Expression?,
931
+ ): WritableMap {
932
+ val swPoint = mapLibreMap!!.projection.toScreenLocation(bounds.southWest)
933
+ val nePoint = mapLibreMap!!.projection.toScreenLocation(bounds.northEast)
934
+
935
+ val rect = RectF(
936
+ swPoint.x, nePoint.y, nePoint.x, swPoint.y
937
+ )
938
+
939
+ val features = mapLibreMap!!.queryRenderedFeatures(
940
+ rect,
941
+ filter,
942
+ *(layers?.let { Array(layers.size()) { layers.getString(it) } } ?: emptyArray()))
943
+
944
+ val featureCollection = FeatureCollection.fromFeatures(features)
945
+ val jsonObject =
946
+ com.google.gson.JsonParser.parseString(featureCollection.toJson()).asJsonObject
947
+ return ConvertUtils.toWritableMap(jsonObject)
948
+ }
949
+
950
+ fun project(mapCoordinate: LatLng): WritableMap {
951
+ val pointInView = mapLibreMap!!.projection.toScreenLocation(mapCoordinate)
952
+ val density = this.displayDensity
953
+ pointInView.x /= density
954
+ pointInView.y /= density
955
+ val payload: WritableMap = WritableNativeMap()
956
+
957
+ val array: WritableArray = WritableNativeArray()
958
+ array.pushDouble(pointInView.x.toDouble())
959
+ array.pushDouble(pointInView.y.toDouble())
960
+ payload.putArray("pointInView", array)
961
+
962
+ return payload
963
+ }
964
+
965
+ fun unproject(pointInView: PointF): WritableMap {
966
+ val density = this.displayDensity
967
+ pointInView.x *= density
968
+ pointInView.y *= density
969
+
970
+ val mapCoordinate = mapLibreMap!!.projection.fromScreenLocation(pointInView)
971
+ val payload: WritableMap = WritableNativeMap()
972
+
973
+ val array: WritableArray = WritableNativeArray()
974
+ array.pushDouble(mapCoordinate.longitude)
975
+ array.pushDouble(mapCoordinate.latitude)
976
+ payload.putArray("coordinateFromView", array)
977
+
978
+ return payload
979
+ }
980
+
981
+ fun takeSnap(writeToDisk: Boolean, callback: (WritableMap) -> Unit) {
982
+ if (this.mapLibreMap == null) {
983
+ throw Error("takeSnap should only be called after the map has rendered")
984
+ }
985
+
986
+ mapLibreMap!!.snapshot { snapshot ->
987
+ val payload: WritableMap = WritableNativeMap()
988
+ val uri = if (writeToDisk) BitmapUtils.createTempFile(context, snapshot)
989
+ else BitmapUtils.createBase64(snapshot)
990
+ payload.putString("uri", uri)
991
+
992
+ callback(payload)
993
+ }
994
+ }
995
+
996
+ fun showAttribution() {
997
+ val manager = AttributionDialogManager(context, this.mapLibreMap!!)
998
+ manager.onClick(this)
999
+ }
1000
+
1001
+ fun setSourceVisibility(
1002
+ visible: Boolean, sourceId: String, sourceLayerId: String?
1003
+ ) {
1004
+ if (this.mapLibreMap == null) {
1005
+ return
1006
+ }
1007
+ mapLibreMap!!.getStyle { style ->
1008
+ val layers = style.layers
1009
+ for (layer in layers) {
1010
+ val layerSourceInfo = LayerSourceInfo(layer)
1011
+ if (layerSourceInfo.sourceId == sourceId && (sourceLayerId == null || sourceLayerId == layerSourceInfo.sourceLayerId)) {
1012
+ layer.setProperties(PropertyFactory.visibility(if (visible) Property.VISIBLE else Property.NONE))
1013
+ }
1014
+ }
1015
+ }
1016
+ }
1017
+
1018
+ fun init() {
1019
+ // Required for rendering properly in Android Oreo
1020
+ viewTreeObserver.dispatchOnGlobalLayout()
1021
+ }
1022
+
1023
+ override fun isDestroyed(): Boolean {
1024
+ return destroyed
1025
+ }
1026
+
1027
+ fun getStyle(onStyleLoaded: OnStyleLoaded) {
1028
+ if (this.mapLibreMap == null) {
1029
+ return
1030
+ }
1031
+
1032
+ mapLibreMap!!.getStyle(onStyleLoaded)
1033
+ }
1034
+
1035
+ private fun updateUISettings() {
1036
+ if (mapLibreMap == null) {
1037
+ return
1038
+ }
1039
+
1040
+ val uiSettings = mapLibreMap!!.uiSettings
1041
+
1042
+ if (scrollEnabled != null && uiSettings.isScrollGesturesEnabled != scrollEnabled) {
1043
+ uiSettings.isScrollGesturesEnabled = scrollEnabled!!
1044
+
1045
+ if (!scrollEnabled!!) {
1046
+ mapLibreMap!!.gesturesManager.moveGestureDetector.interrupt()
1047
+ }
1048
+ }
1049
+
1050
+ if (zoomEnabled != null && uiSettings.isZoomGesturesEnabled != zoomEnabled) {
1051
+ uiSettings.isZoomGesturesEnabled = zoomEnabled!!
1052
+
1053
+ if (!zoomEnabled!!) {
1054
+ mapLibreMap!!.gesturesManager.standardScaleGestureDetector.interrupt()
1055
+ }
1056
+ }
1057
+
1058
+ if (rotateEnabled != null && uiSettings.isRotateGesturesEnabled != rotateEnabled) {
1059
+ uiSettings.isRotateGesturesEnabled = rotateEnabled!!
1060
+
1061
+ if (!rotateEnabled!!) {
1062
+ mapLibreMap!!.gesturesManager.rotateGestureDetector.interrupt()
1063
+ }
1064
+ }
1065
+
1066
+ if (pitchEnabled != null && uiSettings.isTiltGesturesEnabled != pitchEnabled) {
1067
+ uiSettings.isTiltGesturesEnabled = pitchEnabled!!
1068
+ }
1069
+
1070
+ if (tintColor != null) {
1071
+ uiSettings.setAttributionTintColor(tintColor!!)
1072
+ }
1073
+
1074
+ if (attributionEnabled != null && uiSettings.isAttributionEnabled != attributionEnabled) {
1075
+ uiSettings.isAttributionEnabled = attributionEnabled!!
1076
+ }
1077
+
1078
+ if (attributionGravity != null && uiSettings.attributionGravity != attributionGravity) {
1079
+ uiSettings.attributionGravity = attributionGravity!!
1080
+ }
1081
+
1082
+ if (attributionMargin != null && (uiSettings.attributionMarginLeft != attributionMargin!![0] || uiSettings.attributionMarginTop != attributionMargin!![1] || uiSettings.attributionMarginRight != attributionMargin!![2] || uiSettings.attributionMarginBottom != attributionMargin!![3])) {
1083
+ uiSettings.setAttributionMargins(
1084
+ attributionMargin!![0],
1085
+ attributionMargin!![1],
1086
+ attributionMargin!![2],
1087
+ attributionMargin!![3]
1088
+ )
1089
+ }
1090
+
1091
+ if (logoEnabled != null && uiSettings.isLogoEnabled != logoEnabled) {
1092
+ uiSettings.setLogoEnabled(logoEnabled!!)
1093
+ }
1094
+
1095
+ if (logoGravity != null && uiSettings.logoGravity != logoGravity) {
1096
+ uiSettings.logoGravity = logoGravity!!
1097
+ }
1098
+
1099
+ if (logoMargins != null && (uiSettings.logoMarginLeft != logoMargins!![0] || uiSettings.logoMarginTop != logoMargins!![1] || uiSettings.logoMarginRight != logoMargins!![2] || uiSettings.logoMarginBottom != logoMargins!![3])) {
1100
+ uiSettings.setLogoMargins(
1101
+ logoMargins!![0], logoMargins!![1], logoMargins!![2], logoMargins!![3]
1102
+ )
1103
+ }
1104
+
1105
+ if (compassEnabled != null && uiSettings.isCompassEnabled != compassEnabled) {
1106
+ uiSettings.setCompassEnabled(compassEnabled!!)
1107
+ }
1108
+
1109
+ if (compassGravity != null && uiSettings.compassGravity != compassGravity) {
1110
+ uiSettings.compassGravity = compassGravity!!
1111
+ }
1112
+
1113
+ if (compassMargins != null && (uiSettings.compassMarginLeft != compassMargins!![0] || uiSettings.compassMarginTop != compassMargins!![1] || uiSettings.compassMarginRight != compassMargins!![2] || uiSettings.compassMarginBottom != compassMargins!![3])) {
1114
+ uiSettings.setCompassMargins(
1115
+ compassMargins!![0], compassMargins!![1], compassMargins!![2], compassMargins!![3]
1116
+ )
1117
+ }
1118
+ }
1119
+
1120
+ private fun updatePreferredFramesPerSecond() {
1121
+ if (preferredFramesPerSecond == null) {
1122
+ return
1123
+ }
1124
+ setMaximumFps(preferredFramesPerSecond!!)
1125
+ }
1126
+
1127
+ val contentInset: DoubleArray
1128
+ get() {
1129
+ if (insets == null) {
1130
+ return doubleArrayOf(0.0, 0.0, 0.0, 0.0)
1131
+ }
1132
+ var top = 0.0
1133
+ var right = 0.0
1134
+ var bottom = 0.0
1135
+ var left = 0.0
1136
+
1137
+ if (insets!!.size() == 4) {
1138
+ top = insets!!.getInt(0).toDouble()
1139
+ right = insets!!.getInt(1).toDouble()
1140
+ bottom = insets!!.getInt(2).toDouble()
1141
+ left = insets!!.getInt(3).toDouble()
1142
+ } else if (insets!!.size() == 2) {
1143
+ top = insets!!.getInt(0).toDouble()
1144
+ right = insets!!.getInt(1).toDouble()
1145
+ bottom = top
1146
+ left = right
1147
+ } else if (insets!!.size() == 1) {
1148
+ top = insets!!.getInt(0).toDouble()
1149
+ right = top
1150
+ bottom = top
1151
+ left = top
1152
+ }
1153
+
1154
+
1155
+ return doubleArrayOf(
1156
+ left * displayDensity,
1157
+ top * displayDensity,
1158
+ right * displayDensity,
1159
+ bottom * displayDensity
1160
+ )
1161
+ }
1162
+
1163
+ private fun updateInsets() {
1164
+ if (this.mapLibreMap == null || insets == null) {
1165
+ return
1166
+ }
1167
+
1168
+ val padding = this.contentInset
1169
+ val top = padding[1]
1170
+ val right = padding[2]
1171
+ val bottom = padding[3]
1172
+ val left = padding[0]
1173
+
1174
+ mapLibreMap!!.setPadding(
1175
+ left.toInt(), top.toInt(), right.toInt(), bottom.toInt()
1176
+ )
1177
+ }
1178
+
1179
+ private fun setLifecycleListeners() {
1180
+ val reactContext = context as ReactContext
1181
+
1182
+ lifeCycleListener = object : LifecycleEventListener {
1183
+ override fun onHostResume() {
1184
+ onResume()
1185
+ }
1186
+
1187
+ override fun onHostPause() {
1188
+ onPause()
1189
+ }
1190
+
1191
+ override fun onHostDestroy() {
1192
+ dispose()
1193
+ }
1194
+ }
1195
+
1196
+ reactContext.addLifecycleEventListener(lifeCycleListener)
1197
+ }
1198
+
1199
+ private fun makeViewState(isAnimated: Boolean?): WritableMap {
1200
+ val position = mapLibreMap!!.cameraPosition
1201
+ val viewState: WritableMap = WritableNativeMap()
1202
+
1203
+ if (position.target == null) {
1204
+ return viewState
1205
+ }
1206
+
1207
+ viewState.putDouble("longitude", position.target!!.longitude)
1208
+ viewState.putDouble("latitude", position.target!!.latitude)
1209
+
1210
+ viewState.putDouble("zoom", position.zoom)
1211
+ viewState.putDouble("bearing", position.bearing)
1212
+ viewState.putDouble("pitch", position.tilt)
1213
+
1214
+ try {
1215
+ val visibleRegion = mapLibreMap!!.projection.visibleRegion
1216
+ viewState.putArray(
1217
+ "bounds", GeoJSONUtils.fromLatLngBounds(visibleRegion.latLngBounds)
1218
+ )
1219
+ } catch (ex: Exception) {
1220
+ Logger.e(
1221
+ LOG_TAG, String.format(
1222
+ "An error occurred while attempting to make the region: %s", ex.message
1223
+ )
1224
+ )
1225
+ }
1226
+
1227
+ viewState.putBoolean(
1228
+ "animated", isAnimated ?: cameraChangeTracker.isAnimated
1229
+ )
1230
+ viewState.putBoolean("userInteraction", cameraChangeTracker.isUserInteraction)
1231
+
1232
+ return viewState
1233
+ }
1234
+
1235
+ fun sendRegionChangeEvent(isAnimated: Boolean) {
1236
+ val event = MapChangeEvent(
1237
+ surfaceId, id, "onRegionDidChange", makeViewState(isAnimated)
1238
+ )
1239
+ eventDispatcher?.dispatchEvent(event)
1240
+
1241
+ cameraChangeTracker.setReason(CameraChangeTracker.EMPTY)
1242
+ }
1243
+
1244
+ private fun removeAllSourcesFromMap() {
1245
+ if (sources.isEmpty()) {
1246
+ return
1247
+ }
1248
+ for (key in sources.keys) {
1249
+ val source = sources[key]
1250
+ source!!.removeFromMap(this)
1251
+ }
1252
+ }
1253
+
1254
+ private fun addAllSourcesToMap() {
1255
+ if (sources.isEmpty()) {
1256
+ return
1257
+ }
1258
+ for (key in sources.keys) {
1259
+ val source = sources[key]
1260
+ source!!.addToMap(this)
1261
+ }
1262
+ }
1263
+
1264
+ private val allTouchableSources: MutableList<MLRNSource<*>>
1265
+ get() {
1266
+ val sources: MutableList<MLRNSource<*>> = ArrayList()
1267
+
1268
+ for (key in this.sources.keys) {
1269
+ val source = this.sources[key]
1270
+ if (source != null && source.hasPressListener()) {
1271
+ sources.add(source)
1272
+ }
1273
+ }
1274
+
1275
+ return sources
1276
+ }
1277
+
1278
+ private fun getTouchableSourceWithHighestZIndex(sources: MutableList<MLRNSource<*>>?): MLRNSource<*>? {
1279
+ if (sources == null || sources.isEmpty()) {
1280
+ return null
1281
+ }
1282
+
1283
+ if (sources.size == 1) {
1284
+ return sources[0]
1285
+ }
1286
+
1287
+ val layerToSourceMap: MutableMap<String?, MLRNSource<*>?> = HashMap()
1288
+ for (source in sources) {
1289
+ val layerIDs = source.getLayerIDs()
1290
+
1291
+ for (layerID in layerIDs) {
1292
+ layerToSourceMap.put(layerID, source)
1293
+ }
1294
+ }
1295
+
1296
+ val mapboxLayers = mapLibreMap!!.style!!.getLayers()
1297
+ for (i in mapboxLayers.indices.reversed()) {
1298
+ val mapboxLayer = mapboxLayers[i]
1299
+
1300
+ val layerID = mapboxLayer.getId()
1301
+ if (layerToSourceMap.containsKey(layerID)) {
1302
+ return layerToSourceMap[layerID]
1303
+ }
1304
+ }
1305
+
1306
+ return null
1307
+ }
1308
+
1309
+ fun sendRegionDidChangeEvent() {
1310
+ handleMapChangedEvent("onRegionDidChange", true)
1311
+ cameraChangeTracker.setReason(CameraChangeTracker.EMPTY)
1312
+ }
1313
+
1314
+ private fun handleMapChangedEvent(eventName: String, withViewState: Boolean? = null) {
1315
+ val event = if (withViewState == true) {
1316
+ MapChangeEvent(surfaceId, id, eventName, makeViewState(null))
1317
+ } else {
1318
+ MapChangeEvent(surfaceId, id, eventName)
1319
+ }
1320
+
1321
+ eventDispatcher?.dispatchEvent(event)
1322
+ }
1323
+
1324
+ /**
1325
+ * Adds the marker image to the map for use as a SymbolLayer icon
1326
+ */
1327
+ private fun setUpImage(loadedStyle: Style) {
1328
+ loadedStyle.addImage(
1329
+ "MARKER_IMAGE_ID", BitmapFactory.decodeResource(
1330
+ this.resources, R.drawable.red_marker
1331
+ )
1332
+ )
1333
+ }
1334
+
1335
+ /**
1336
+ * PointAnnotations are rendered to a canvas, but react native Image component is
1337
+ * implemented on top of Fresco, and fresco will not load images when their view is
1338
+ * not attached to the window. So we'll have an offscreen view where we add those views
1339
+ * so they can rendered full to canvas.
1340
+ */
1341
+ fun offscreenAnnotationViewContainer(): ViewGroup? {
1342
+ if (offscreenAnnotationViewContainer == null) {
1343
+ offscreenAnnotationViewContainer = FrameLayout(this.context)
1344
+ val flParams = LayoutParams(0, 0)
1345
+ flParams.setMargins(-10000, -10000, -10000, -10000)
1346
+ offscreenAnnotationViewContainer!!.layoutParams = flParams
1347
+ addView(offscreenAnnotationViewContainer)
1348
+ }
1349
+ return offscreenAnnotationViewContainer
1350
+ }
1351
+
1352
+ fun getMarkerViewManager(map: MapLibreMap): MarkerViewManager {
1353
+ if (markerViewManager == null) {
1354
+ markerViewManager = MarkerViewManager(this, map)
1355
+ }
1356
+ return markerViewManager!!
1357
+ }
1358
+
1359
+ companion object {
1360
+ const val LOG_TAG: String = "MLRNMapView"
1361
+ }
1362
+ }