@maplibre/maplibre-react-native 11.0.0-alpha.2 → 11.0.0-alpha.21

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