@maplibre/maplibre-react-native 10.4.0 → 11.0.0-alpha.10

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