@maplibre/maplibre-react-native 11.0.0-alpha.8 → 11.0.0-alpha.9

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 (337) hide show
  1. package/android/build.gradle +0 -3
  2. package/android/src/main/java/org/maplibre/reactnative/MLRNPackage.kt +43 -0
  3. package/android/src/main/java/org/maplibre/reactnative/components/AbstractEvent.kt +24 -0
  4. package/android/src/main/java/org/maplibre/reactnative/components/AbstractEventEmitter.kt +71 -0
  5. package/android/src/main/java/org/maplibre/reactnative/components/annotation/MLRNPointAnnotation.java +1 -1
  6. package/android/src/main/java/org/maplibre/reactnative/components/camera/CameraStop.kt +203 -0
  7. package/android/src/main/java/org/maplibre/reactnative/components/camera/CameraUpdateItem.kt +109 -0
  8. package/android/src/main/java/org/maplibre/reactnative/components/camera/CameraUpdateQueue.kt +60 -0
  9. package/android/src/main/java/org/maplibre/reactnative/components/camera/MLRNCamera.kt +409 -0
  10. package/android/src/main/java/org/maplibre/reactnative/components/camera/MLRNCameraManager.kt +69 -0
  11. package/android/src/main/java/org/maplibre/reactnative/components/camera/MLRNCameraModule.kt +34 -0
  12. package/android/src/main/java/org/maplibre/reactnative/components/camera/constants/CameraEasing.kt +24 -0
  13. package/android/src/main/java/org/maplibre/reactnative/components/images/MLRNImages.java +1 -2
  14. package/android/src/main/java/org/maplibre/reactnative/components/location/LocationComponentManager.java +1 -1
  15. package/android/src/main/java/org/maplibre/reactnative/components/mapview/MLRNAndroidTextureMapView.kt +23 -0
  16. package/android/src/main/java/org/maplibre/reactnative/components/mapview/MLRNAndroidTextureMapViewManager.kt +23 -0
  17. package/android/src/main/java/org/maplibre/reactnative/components/mapview/MLRNMapView.kt +1338 -0
  18. package/android/src/main/java/org/maplibre/reactnative/components/mapview/MLRNMapViewManager.kt +187 -0
  19. package/android/src/main/java/org/maplibre/reactnative/components/mapview/MLRNMapViewModule.kt +159 -0
  20. package/android/src/main/java/org/maplibre/reactnative/components/mapview/helpers/CameraChangeTracker.kt +26 -0
  21. package/android/src/main/java/org/maplibre/reactnative/components/mapview/helpers/LayerSourceInfo.kt +74 -0
  22. package/android/src/main/java/org/maplibre/reactnative/components/styles/layers/MLRNLayer.java +1 -5
  23. package/android/src/main/java/org/maplibre/reactnative/components/styles/light/MLRNLight.java +1 -6
  24. package/android/src/main/java/org/maplibre/reactnative/components/styles/sources/MLRNShapeSource.java +2 -9
  25. package/android/src/main/java/org/maplibre/reactnative/components/styles/sources/MLRNSource.java +1 -1
  26. package/android/src/main/java/org/maplibre/reactnative/events/AbstractEvent.java +2 -5
  27. package/android/src/main/java/org/maplibre/reactnative/events/MapChangeEvent.kt +18 -0
  28. package/android/src/main/java/org/maplibre/reactnative/events/MapClickEvent.java +4 -0
  29. package/android/src/main/java/org/maplibre/reactnative/events/MapPressEvent.kt +27 -0
  30. package/android/src/main/java/org/maplibre/reactnative/events/TrackUserLocationChangeEvent.kt +24 -0
  31. package/android/src/main/java/org/maplibre/reactnative/events/constants/EventKeys.java +0 -1
  32. package/android/src/main/java/org/maplibre/reactnative/events/constants/EventTypes.java +0 -19
  33. package/android/src/main/java/org/maplibre/reactnative/location/LocationManager.java +1 -1
  34. package/android/src/main/java/org/maplibre/reactnative/location/TrackUserLocationMode.kt +43 -0
  35. package/android/src/main/java/org/maplibre/reactnative/location/{UserTrackingState.java → TrackUserLocationState.java} +1 -1
  36. package/android/src/main/java/org/maplibre/reactnative/location/UserLocation.java +1 -1
  37. package/android/src/main/java/org/maplibre/reactnative/modules/MLRNModule.java +1 -49
  38. package/android/src/main/java/org/maplibre/reactnative/utils/ConvertUtils.java +2 -9
  39. package/android/src/main/java/org/maplibre/reactnative/utils/GeoJSONUtils.kt +322 -0
  40. package/android/src/main/java/org/maplibre/reactnative/utils/ReactTagResolver.kt +85 -0
  41. package/ios/MLRNCallout.h +1 -1
  42. package/ios/MLRNEvent.m +3 -1
  43. package/ios/MLRNEventTypes.h +10 -31
  44. package/ios/MLRNEventTypes.m +10 -30
  45. package/ios/MLRNImages.h +1 -1
  46. package/ios/MLRNImages.m +1 -1
  47. package/ios/MLRNLayer.h +1 -1
  48. package/ios/MLRNLayer.m +2 -2
  49. package/ios/MLRNLight.h +2 -1
  50. package/ios/MLRNLocationModule.m +2 -2
  51. package/ios/MLRNMapTouchEvent.h +2 -1
  52. package/ios/MLRNMapTouchEvent.m +12 -10
  53. package/ios/MLRNModule.m +5 -52
  54. package/ios/MLRNNativeUserLocation.m +0 -1
  55. package/ios/MLRNOfflineModule.h +2 -2
  56. package/ios/MLRNOfflineModule.m +9 -9
  57. package/ios/MLRNPointAnnotation.h +1 -1
  58. package/ios/MLRNShapeSource.h +1 -1
  59. package/ios/MLRNSource.h +3 -1
  60. package/ios/MLRNStyle.m +20 -20
  61. package/ios/MLRNUtils.h +17 -2
  62. package/ios/MLRNUtils.m +25 -2
  63. package/ios/components/camera/CameraEasing.h +8 -0
  64. package/ios/{CameraStop.h → components/camera/CameraStop.h} +10 -6
  65. package/ios/components/camera/CameraStop.m +75 -0
  66. package/ios/{CameraUpdateItem.m → components/camera/CameraUpdateItem.m} +45 -46
  67. package/ios/components/camera/MLRNCamera.h +26 -0
  68. package/ios/components/camera/MLRNCamera.m +195 -0
  69. package/ios/components/camera/MLRNCameraComponentView.h +18 -0
  70. package/ios/components/camera/MLRNCameraComponentView.mm +192 -0
  71. package/ios/components/camera/MLRNCameraManager.h +11 -0
  72. package/ios/components/camera/MLRNCameraManager.m +20 -0
  73. package/ios/components/camera/MLRNCameraModule.h +4 -0
  74. package/ios/components/camera/MLRNCameraModule.mm +111 -0
  75. package/ios/{MLRNMapView.h → components/map-view/MLRNMapView.h} +42 -20
  76. package/ios/components/map-view/MLRNMapView.m +809 -0
  77. package/ios/components/map-view/MLRNMapViewComponentView.h +18 -0
  78. package/ios/components/map-view/MLRNMapViewComponentView.mm +400 -0
  79. package/ios/components/map-view/MLRNMapViewManager.h +70 -0
  80. package/ios/components/map-view/MLRNMapViewManager.m +163 -0
  81. package/ios/components/map-view/MLRNMapViewModule.h +4 -0
  82. package/ios/components/map-view/MLRNMapViewModule.mm +249 -0
  83. package/ios/{MLRNSnapshotModule → modules/snapshot}/MLRNSnapshotModule.mm +0 -1
  84. package/lib/commonjs/MLRNModule.js +1 -3
  85. package/lib/commonjs/MLRNModule.js.map +1 -1
  86. package/lib/commonjs/components/Annotation.js +1 -13
  87. package/lib/commonjs/components/Annotation.js.map +1 -1
  88. package/lib/commonjs/components/Images.js.map +1 -1
  89. package/lib/commonjs/components/ShapeSource.js +2 -21
  90. package/lib/commonjs/components/ShapeSource.js.map +1 -1
  91. package/lib/commonjs/components/VectorSource.js +3 -26
  92. package/lib/commonjs/components/VectorSource.js.map +1 -1
  93. package/lib/commonjs/components/camera/Camera.js +97 -0
  94. package/lib/commonjs/components/camera/Camera.js.map +1 -0
  95. package/lib/commonjs/components/camera/CameraNativeComponent.ts +61 -0
  96. package/lib/commonjs/components/camera/NativeCameraModule.js +11 -0
  97. package/lib/commonjs/components/camera/NativeCameraModule.js.map +1 -0
  98. package/lib/commonjs/components/map-view/MapView.js +115 -0
  99. package/lib/commonjs/components/map-view/MapView.js.map +1 -0
  100. package/lib/commonjs/components/map-view/MapViewNativeComponent.ts +96 -0
  101. package/lib/commonjs/components/map-view/NativeMapViewModule.js +9 -0
  102. package/lib/commonjs/components/map-view/NativeMapViewModule.js.map +1 -0
  103. package/lib/commonjs/index.js +246 -4
  104. package/lib/commonjs/index.js.map +1 -1
  105. package/lib/commonjs/modules/snapshot/NativeSnapshotModule.js +2 -2
  106. package/lib/commonjs/modules/snapshot/NativeSnapshotModule.js.map +1 -1
  107. package/lib/commonjs/modules/snapshot/SnapshotManager.js +3 -2
  108. package/lib/commonjs/modules/snapshot/SnapshotManager.js.map +1 -1
  109. package/lib/commonjs/types/Bounds.js +2 -0
  110. package/lib/commonjs/types/{OnPressEvent.js.map → Bounds.js.map} +1 -1
  111. package/lib/commonjs/types/PressEvent.js +2 -0
  112. package/lib/{module/types/OnPressEvent.js.map → commonjs/types/PressEvent.js.map} +1 -1
  113. package/lib/commonjs/types/ViewPadding.js +2 -0
  114. package/lib/commonjs/types/{MapLibreRNEvent.js.map → ViewPadding.js.map} +1 -1
  115. package/lib/commonjs/types/codegen/UnsafeMixed.js +2 -0
  116. package/lib/commonjs/types/codegen/UnsafeMixed.js.map +1 -0
  117. package/lib/commonjs/utils/index.js +0 -11
  118. package/lib/commonjs/utils/index.js.map +1 -1
  119. package/lib/module/MLRNModule.js +0 -1
  120. package/lib/module/MLRNModule.js.map +1 -1
  121. package/lib/module/components/Annotation.js +2 -14
  122. package/lib/module/components/Annotation.js.map +1 -1
  123. package/lib/module/components/Images.js.map +1 -1
  124. package/lib/module/components/ShapeSource.js +3 -22
  125. package/lib/module/components/ShapeSource.js.map +1 -1
  126. package/lib/module/components/VectorSource.js +4 -27
  127. package/lib/module/components/VectorSource.js.map +1 -1
  128. package/lib/module/components/camera/Camera.js +92 -0
  129. package/lib/module/components/camera/Camera.js.map +1 -0
  130. package/lib/module/components/camera/CameraNativeComponent.ts +61 -0
  131. package/lib/module/components/camera/NativeCameraModule.js +10 -0
  132. package/lib/module/components/camera/NativeCameraModule.js.map +1 -0
  133. package/lib/module/components/map-view/MapView.js +110 -0
  134. package/lib/module/components/map-view/MapView.js.map +1 -0
  135. package/lib/module/components/map-view/MapViewNativeComponent.ts +96 -0
  136. package/lib/module/components/map-view/NativeMapViewModule.js +5 -0
  137. package/lib/module/components/map-view/NativeMapViewModule.js.map +1 -0
  138. package/lib/module/index.js +30 -1
  139. package/lib/module/index.js.map +1 -1
  140. package/lib/module/modules/snapshot/NativeSnapshotModule.js +1 -1
  141. package/lib/module/modules/snapshot/NativeSnapshotModule.js.map +1 -1
  142. package/lib/module/modules/snapshot/SnapshotManager.js +1 -1
  143. package/lib/module/modules/snapshot/SnapshotManager.js.map +1 -1
  144. package/lib/module/types/Bounds.js +2 -0
  145. package/lib/module/types/{MapLibreRNEvent.js.map → Bounds.js.map} +1 -1
  146. package/lib/module/types/PressEvent.js +2 -0
  147. package/lib/module/types/PressEvent.js.map +1 -0
  148. package/lib/module/types/ViewPadding.js +2 -0
  149. package/lib/module/types/ViewPadding.js.map +1 -0
  150. package/lib/module/types/codegen/UnsafeMixed.js +2 -0
  151. package/lib/module/types/codegen/UnsafeMixed.js.map +1 -0
  152. package/lib/module/utils/index.js +0 -9
  153. package/lib/module/utils/index.js.map +1 -1
  154. package/lib/typescript/commonjs/src/MLRNModule.d.ts +1 -7
  155. package/lib/typescript/commonjs/src/MLRNModule.d.ts.map +1 -1
  156. package/lib/typescript/commonjs/src/components/Annotation.d.ts +3 -3
  157. package/lib/typescript/commonjs/src/components/Annotation.d.ts.map +1 -1
  158. package/lib/typescript/commonjs/src/components/Images.d.ts +1 -2
  159. package/lib/typescript/commonjs/src/components/Images.d.ts.map +1 -1
  160. package/lib/typescript/commonjs/src/components/ShapeSource.d.ts +2 -5
  161. package/lib/typescript/commonjs/src/components/ShapeSource.d.ts.map +1 -1
  162. package/lib/typescript/commonjs/src/components/VectorSource.d.ts +3 -2
  163. package/lib/typescript/commonjs/src/components/VectorSource.d.ts.map +1 -1
  164. package/lib/typescript/commonjs/src/components/camera/Camera.d.ts +180 -0
  165. package/lib/typescript/commonjs/src/components/camera/Camera.d.ts.map +1 -0
  166. package/lib/typescript/commonjs/src/components/camera/CameraNativeComponent.d.ts +37 -0
  167. package/lib/typescript/commonjs/src/components/camera/CameraNativeComponent.d.ts.map +1 -0
  168. package/lib/typescript/commonjs/src/components/camera/NativeCameraModule.d.ts +27 -0
  169. package/lib/typescript/commonjs/src/components/camera/NativeCameraModule.d.ts.map +1 -0
  170. package/lib/typescript/commonjs/src/components/map-view/MapView.d.ts +323 -0
  171. package/lib/typescript/commonjs/src/components/map-view/MapView.d.ts.map +1 -0
  172. package/lib/typescript/commonjs/src/components/map-view/MapViewNativeComponent.d.ts +69 -0
  173. package/lib/typescript/commonjs/src/components/map-view/MapViewNativeComponent.d.ts.map +1 -0
  174. package/lib/typescript/commonjs/src/components/map-view/NativeMapViewModule.d.ts +45 -0
  175. package/lib/typescript/commonjs/src/components/map-view/NativeMapViewModule.d.ts.map +1 -0
  176. package/lib/typescript/commonjs/src/index.d.ts +41 -1
  177. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  178. package/lib/typescript/commonjs/src/modules/snapshot/NativeSnapshotModule.d.ts +2 -1
  179. package/lib/typescript/commonjs/src/modules/snapshot/NativeSnapshotModule.d.ts.map +1 -1
  180. package/lib/typescript/commonjs/src/types/Bounds.d.ts +2 -0
  181. package/lib/typescript/commonjs/src/types/Bounds.d.ts.map +1 -0
  182. package/lib/typescript/commonjs/src/types/PressEvent.d.ts +16 -0
  183. package/lib/typescript/commonjs/src/types/PressEvent.d.ts.map +1 -0
  184. package/lib/typescript/commonjs/src/types/ViewPadding.d.ts +7 -0
  185. package/lib/typescript/commonjs/src/types/ViewPadding.d.ts.map +1 -0
  186. package/lib/typescript/commonjs/src/types/codegen/UnsafeMixed.d.ts +10 -0
  187. package/lib/typescript/commonjs/src/types/codegen/UnsafeMixed.d.ts.map +1 -0
  188. package/lib/typescript/commonjs/src/utils/index.d.ts +1 -3
  189. package/lib/typescript/commonjs/src/utils/index.d.ts.map +1 -1
  190. package/lib/typescript/module/src/MLRNModule.d.ts +1 -7
  191. package/lib/typescript/module/src/MLRNModule.d.ts.map +1 -1
  192. package/lib/typescript/module/src/components/Annotation.d.ts +3 -3
  193. package/lib/typescript/module/src/components/Annotation.d.ts.map +1 -1
  194. package/lib/typescript/module/src/components/Images.d.ts +1 -2
  195. package/lib/typescript/module/src/components/Images.d.ts.map +1 -1
  196. package/lib/typescript/module/src/components/ShapeSource.d.ts +2 -5
  197. package/lib/typescript/module/src/components/ShapeSource.d.ts.map +1 -1
  198. package/lib/typescript/module/src/components/VectorSource.d.ts +3 -2
  199. package/lib/typescript/module/src/components/VectorSource.d.ts.map +1 -1
  200. package/lib/typescript/module/src/components/camera/Camera.d.ts +180 -0
  201. package/lib/typescript/module/src/components/camera/Camera.d.ts.map +1 -0
  202. package/lib/typescript/module/src/components/camera/CameraNativeComponent.d.ts +37 -0
  203. package/lib/typescript/module/src/components/camera/CameraNativeComponent.d.ts.map +1 -0
  204. package/lib/typescript/module/src/components/camera/NativeCameraModule.d.ts +27 -0
  205. package/lib/typescript/module/src/components/camera/NativeCameraModule.d.ts.map +1 -0
  206. package/lib/typescript/module/src/components/map-view/MapView.d.ts +323 -0
  207. package/lib/typescript/module/src/components/map-view/MapView.d.ts.map +1 -0
  208. package/lib/typescript/module/src/components/map-view/MapViewNativeComponent.d.ts +69 -0
  209. package/lib/typescript/module/src/components/map-view/MapViewNativeComponent.d.ts.map +1 -0
  210. package/lib/typescript/module/src/components/map-view/NativeMapViewModule.d.ts +45 -0
  211. package/lib/typescript/module/src/components/map-view/NativeMapViewModule.d.ts.map +1 -0
  212. package/lib/typescript/module/src/index.d.ts +41 -1
  213. package/lib/typescript/module/src/index.d.ts.map +1 -1
  214. package/lib/typescript/module/src/modules/snapshot/NativeSnapshotModule.d.ts +2 -1
  215. package/lib/typescript/module/src/modules/snapshot/NativeSnapshotModule.d.ts.map +1 -1
  216. package/lib/typescript/module/src/types/Bounds.d.ts +2 -0
  217. package/lib/typescript/module/src/types/Bounds.d.ts.map +1 -0
  218. package/lib/typescript/module/src/types/PressEvent.d.ts +16 -0
  219. package/lib/typescript/module/src/types/PressEvent.d.ts.map +1 -0
  220. package/lib/typescript/module/src/types/ViewPadding.d.ts +7 -0
  221. package/lib/typescript/module/src/types/ViewPadding.d.ts.map +1 -0
  222. package/lib/typescript/module/src/types/codegen/UnsafeMixed.d.ts +10 -0
  223. package/lib/typescript/module/src/types/codegen/UnsafeMixed.d.ts.map +1 -0
  224. package/lib/typescript/module/src/utils/index.d.ts +1 -3
  225. package/lib/typescript/module/src/utils/index.d.ts.map +1 -1
  226. package/package.json +38 -28
  227. package/src/MLRNModule.ts +0 -10
  228. package/src/components/Annotation.tsx +8 -23
  229. package/src/components/Images.tsx +2 -4
  230. package/src/components/ShapeSource.tsx +18 -31
  231. package/src/components/VectorSource.tsx +5 -28
  232. package/src/components/camera/Camera.tsx +311 -0
  233. package/src/components/camera/CameraNativeComponent.ts +61 -0
  234. package/src/components/camera/NativeCameraModule.ts +39 -0
  235. package/src/components/map-view/MapView.tsx +582 -0
  236. package/src/components/map-view/MapViewNativeComponent.ts +96 -0
  237. package/src/components/map-view/NativeMapViewModule.ts +83 -0
  238. package/src/index.ts +86 -1
  239. package/src/modules/snapshot/NativeSnapshotModule.ts +1 -2
  240. package/src/modules/snapshot/SnapshotManager.ts +1 -1
  241. package/src/types/Bounds.ts +1 -0
  242. package/src/types/PressEvent.ts +19 -0
  243. package/src/types/ViewPadding.ts +6 -0
  244. package/src/types/codegen/UnsafeMixed.ts +9 -0
  245. package/src/utils/index.ts +1 -14
  246. package/android/src/main/java/org/maplibre/reactnative/components/AbstractEvent.java +0 -35
  247. package/android/src/main/java/org/maplibre/reactnative/components/AbstractEventEmitter.java +0 -80
  248. package/android/src/main/java/org/maplibre/reactnative/components/camera/CameraStop.java +0 -245
  249. package/android/src/main/java/org/maplibre/reactnative/components/camera/CameraUpdateItem.java +0 -121
  250. package/android/src/main/java/org/maplibre/reactnative/components/camera/CameraUpdateQueue.java +0 -68
  251. package/android/src/main/java/org/maplibre/reactnative/components/camera/MLRNCamera.java +0 -519
  252. package/android/src/main/java/org/maplibre/reactnative/components/camera/MLRNCameraManager.java +0 -101
  253. package/android/src/main/java/org/maplibre/reactnative/components/camera/constants/CameraMode.java +0 -18
  254. package/android/src/main/java/org/maplibre/reactnative/components/mapview/LayerSourceInfo.java +0 -59
  255. package/android/src/main/java/org/maplibre/reactnative/components/mapview/MLRNAndroidTextureMapView.java +0 -13
  256. package/android/src/main/java/org/maplibre/reactnative/components/mapview/MLRNAndroidTextureMapViewManager.java +0 -27
  257. package/android/src/main/java/org/maplibre/reactnative/components/mapview/MLRNMapView.java +0 -1521
  258. package/android/src/main/java/org/maplibre/reactnative/components/mapview/MLRNMapViewManager.java +0 -342
  259. package/android/src/main/java/org/maplibre/reactnative/components/mapview/helpers/CameraChangeTracker.java +0 -37
  260. package/android/src/main/java/org/maplibre/reactnative/events/MapChangeEvent.java +0 -43
  261. package/android/src/main/java/org/maplibre/reactnative/events/MapUserTrackingModeEvent.java +0 -32
  262. package/android/src/main/java/org/maplibre/reactnative/location/UserLocationVerticalAlignment.java +0 -7
  263. package/android/src/main/java/org/maplibre/reactnative/location/UserTrackingMode.java +0 -59
  264. package/android/src/main/java/org/maplibre/reactnative/utils/GeoJSONUtils.java +0 -310
  265. package/ios/CameraMode.h +0 -10
  266. package/ios/CameraMode.m +0 -10
  267. package/ios/CameraStop.m +0 -73
  268. package/ios/MLRNCamera.h +0 -29
  269. package/ios/MLRNCamera.m +0 -236
  270. package/ios/MLRNCameraManager.h +0 -5
  271. package/ios/MLRNCameraManager.m +0 -39
  272. package/ios/MLRNMapView.m +0 -497
  273. package/ios/MLRNMapViewManager.h +0 -9
  274. package/ios/MLRNMapViewManager.m +0 -604
  275. package/lib/commonjs/MapLibreRN.js +0 -266
  276. package/lib/commonjs/MapLibreRN.js.map +0 -1
  277. package/lib/commonjs/components/Camera.js +0 -333
  278. package/lib/commonjs/components/Camera.js.map +0 -1
  279. package/lib/commonjs/components/MapView.js +0 -449
  280. package/lib/commonjs/components/MapView.js.map +0 -1
  281. package/lib/commonjs/hooks/useNativeRef.js +0 -14
  282. package/lib/commonjs/hooks/useNativeRef.js.map +0 -1
  283. package/lib/commonjs/types/CameraMode.js +0 -14
  284. package/lib/commonjs/types/CameraMode.js.map +0 -1
  285. package/lib/commonjs/types/MapLibreRNEvent.js +0 -6
  286. package/lib/commonjs/types/OnPressEvent.js +0 -2
  287. package/lib/module/MapLibreRN.js +0 -33
  288. package/lib/module/MapLibreRN.js.map +0 -1
  289. package/lib/module/components/Camera.js +0 -328
  290. package/lib/module/components/Camera.js.map +0 -1
  291. package/lib/module/components/MapView.js +0 -444
  292. package/lib/module/components/MapView.js.map +0 -1
  293. package/lib/module/hooks/useNativeRef.js +0 -10
  294. package/lib/module/hooks/useNativeRef.js.map +0 -1
  295. package/lib/module/types/CameraMode.js +0 -10
  296. package/lib/module/types/CameraMode.js.map +0 -1
  297. package/lib/module/types/MapLibreRNEvent.js +0 -4
  298. package/lib/module/types/OnPressEvent.js +0 -2
  299. package/lib/typescript/commonjs/src/MapLibreRN.d.ts +0 -41
  300. package/lib/typescript/commonjs/src/MapLibreRN.d.ts.map +0 -1
  301. package/lib/typescript/commonjs/src/components/Camera.d.ts +0 -134
  302. package/lib/typescript/commonjs/src/components/Camera.d.ts.map +0 -1
  303. package/lib/typescript/commonjs/src/components/MapView.d.ts +0 -223
  304. package/lib/typescript/commonjs/src/components/MapView.d.ts.map +0 -1
  305. package/lib/typescript/commonjs/src/hooks/useNativeRef.d.ts +0 -8
  306. package/lib/typescript/commonjs/src/hooks/useNativeRef.d.ts.map +0 -1
  307. package/lib/typescript/commonjs/src/types/CameraMode.d.ts +0 -7
  308. package/lib/typescript/commonjs/src/types/CameraMode.d.ts.map +0 -1
  309. package/lib/typescript/commonjs/src/types/MapLibreRNEvent.d.ts +0 -6
  310. package/lib/typescript/commonjs/src/types/MapLibreRNEvent.d.ts.map +0 -1
  311. package/lib/typescript/commonjs/src/types/OnPressEvent.d.ts +0 -12
  312. package/lib/typescript/commonjs/src/types/OnPressEvent.d.ts.map +0 -1
  313. package/lib/typescript/module/src/MapLibreRN.d.ts +0 -41
  314. package/lib/typescript/module/src/MapLibreRN.d.ts.map +0 -1
  315. package/lib/typescript/module/src/components/Camera.d.ts +0 -134
  316. package/lib/typescript/module/src/components/Camera.d.ts.map +0 -1
  317. package/lib/typescript/module/src/components/MapView.d.ts +0 -223
  318. package/lib/typescript/module/src/components/MapView.d.ts.map +0 -1
  319. package/lib/typescript/module/src/hooks/useNativeRef.d.ts +0 -8
  320. package/lib/typescript/module/src/hooks/useNativeRef.d.ts.map +0 -1
  321. package/lib/typescript/module/src/types/CameraMode.d.ts +0 -7
  322. package/lib/typescript/module/src/types/CameraMode.d.ts.map +0 -1
  323. package/lib/typescript/module/src/types/MapLibreRNEvent.d.ts +0 -6
  324. package/lib/typescript/module/src/types/MapLibreRNEvent.d.ts.map +0 -1
  325. package/lib/typescript/module/src/types/OnPressEvent.d.ts +0 -12
  326. package/lib/typescript/module/src/types/OnPressEvent.d.ts.map +0 -1
  327. package/src/MapLibreRN.ts +0 -75
  328. package/src/components/Camera.tsx +0 -568
  329. package/src/components/MapView.tsx +0 -838
  330. package/src/hooks/useNativeRef.ts +0 -14
  331. package/src/types/CameraMode.ts +0 -6
  332. package/src/types/MapLibreRNEvent.ts +0 -7
  333. package/src/types/OnPressEvent.ts +0 -11
  334. /package/ios/{CameraUpdateItem.h → components/camera/CameraUpdateItem.h} +0 -0
  335. /package/ios/{CameraUpdateQueue.h → components/camera/CameraUpdateQueue.h} +0 -0
  336. /package/ios/{CameraUpdateQueue.m → components/camera/CameraUpdateQueue.m} +0 -0
  337. /package/ios/{MLRNSnapshotModule → modules/snapshot}/MLRNSnapshotModule.h +0 -0
@@ -0,0 +1,409 @@
1
+ package org.maplibre.reactnative.components.camera
2
+
3
+ import android.content.Context
4
+ import android.location.Location
5
+ import android.util.AttributeSet
6
+ import com.facebook.react.bridge.Arguments
7
+ import com.facebook.react.bridge.ReactContext
8
+ import com.facebook.react.bridge.ReadableMap
9
+ import com.facebook.react.bridge.WritableMap
10
+ import com.facebook.react.bridge.WritableNativeMap
11
+ import com.facebook.react.uimanager.UIManagerHelper
12
+ import com.facebook.react.uimanager.events.EventDispatcher
13
+ import org.maplibre.android.camera.CameraPosition
14
+ import org.maplibre.android.camera.CameraUpdateFactory.newCameraPosition
15
+ import org.maplibre.android.geometry.LatLngBounds
16
+ import org.maplibre.android.location.OnCameraTrackingChangedListener
17
+ import org.maplibre.android.location.permissions.PermissionsManager
18
+ import org.maplibre.android.maps.MapLibreMap
19
+ import org.maplibre.android.maps.MapLibreMap.CancelableCallback
20
+ import org.maplibre.android.maps.Style
21
+ import org.maplibre.reactnative.components.AbstractMapFeature
22
+ import org.maplibre.reactnative.components.camera.constants.CameraEasing
23
+ import org.maplibre.reactnative.components.location.LocationComponentManager
24
+ import org.maplibre.reactnative.components.mapview.MLRNMapView
25
+ import org.maplibre.reactnative.events.MapChangeEvent
26
+ import org.maplibre.reactnative.events.TrackUserLocationChangeEvent
27
+ import org.maplibre.reactnative.location.LocationManager
28
+ import org.maplibre.reactnative.location.LocationManager.OnUserLocationChange
29
+ import org.maplibre.reactnative.location.TrackUserLocationMode
30
+ import org.maplibre.reactnative.location.TrackUserLocationState
31
+ import org.maplibre.reactnative.location.UserLocation
32
+
33
+ class MLRNCamera(context: Context) : AbstractMapFeature(
34
+ context
35
+ ) {
36
+ @Suppress("UNUSED_PARAMETER")
37
+ constructor(context: Context, attrs: AttributeSet?) : this(context)
38
+
39
+ @Suppress("UNUSED_PARAMETER")
40
+ constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : this(context)
41
+
42
+ private var mapView: MLRNMapView? = null
43
+ private var hasSentFirstRegion = false
44
+ private val updateQueue = CameraUpdateQueue()
45
+
46
+ private var stop: CameraStop? = null
47
+
48
+ private var initialViewState: CameraStop? = null
49
+
50
+ private var minZoom: Double? = null
51
+ private var maxZoom: Double? = null
52
+
53
+ private var maxBounds: LatLngBounds? = null
54
+
55
+
56
+ private var trackUserLocation = TrackUserLocationMode.NONE
57
+ private var userTrackingState = TrackUserLocationState.POSSIBLE
58
+
59
+ private var locationComponentManager: LocationComponentManager? = null
60
+
61
+ private val locationManager: LocationManager = LocationManager.getInstance(context)
62
+ private val userLocation = UserLocation()
63
+
64
+
65
+ private val locationChangeListener: OnUserLocationChange = object : OnUserLocationChange {
66
+ override fun onLocationChange(nextLocation: Location) {
67
+ if (mapView!!.mapLibreMap == null || locationComponentManager == null || !locationComponentManager!!.hasLocationComponent() || trackUserLocation == TrackUserLocationMode.NONE) {
68
+ return
69
+ }
70
+
71
+ userLocation.currentLocation = nextLocation
72
+ sendUserLocationUpdateEvent(nextLocation)
73
+ }
74
+ }
75
+
76
+ val eventDispatcher: EventDispatcher?
77
+ get() {
78
+ val reactContext = context as ReactContext
79
+
80
+ return UIManagerHelper.getEventDispatcherForReactTag(reactContext, id)
81
+ }
82
+
83
+ val surfaceId: Int
84
+ get() {
85
+ val reactContext = context as ReactContext
86
+
87
+ return UIManagerHelper.getSurfaceId(reactContext)
88
+ }
89
+
90
+ private val cameraCallback: CancelableCallback = object : CancelableCallback {
91
+ override fun onCancel() {
92
+ if (!hasSentFirstRegion) {
93
+ mapView!!.sendRegionChangeEvent(false)
94
+ hasSentFirstRegion = true
95
+ }
96
+ }
97
+
98
+ override fun onFinish() {
99
+ if (!hasSentFirstRegion) {
100
+ mapView!!.sendRegionChangeEvent(false)
101
+ hasSentFirstRegion = true
102
+ }
103
+ }
104
+ }
105
+
106
+ override fun addToMap(mapView: MLRNMapView) {
107
+ this@MLRNCamera.mapView = mapView
108
+
109
+ setInitialCamera()
110
+ updateMaxMinZoom()
111
+ updateMaxBounds()
112
+
113
+ if (stop != null) {
114
+ updateCamera()
115
+ }
116
+
117
+ if (trackUserLocation != TrackUserLocationMode.NONE) {
118
+ enableLocation()
119
+ }
120
+ }
121
+
122
+ override fun removeFromMap(mapView: MLRNMapView) {}
123
+
124
+ fun handleImperativeStop(stop: ReadableMap?) {
125
+ val mapView = this.mapView ?: return
126
+ val stop =
127
+ CameraStop.fromReadableMap(context, stop ?: Arguments.createMap(), cameraCallback)
128
+
129
+ updateQueue.offer(stop)
130
+ updateQueue.execute(mapView)
131
+ }
132
+
133
+ fun setStop(stop: ReadableMap?) {
134
+ this.stop =
135
+ CameraStop.fromReadableMap(context, stop ?: Arguments.createMap(), cameraCallback)
136
+
137
+ if (mapView != null) {
138
+ updateCamera()
139
+ }
140
+ }
141
+
142
+ fun setInitialViewState(stop: CameraStop?) {
143
+ initialViewState = stop
144
+ }
145
+
146
+ fun hasInitialViewState(): Boolean {
147
+ return initialViewState != null
148
+ }
149
+
150
+ fun setMaxBounds(bounds: LatLngBounds?) {
151
+ maxBounds = bounds
152
+ updateMaxBounds()
153
+ }
154
+
155
+ private fun updateMaxMinZoom() {
156
+ val map = maplibreMap
157
+ if (map != null) {
158
+ val minZoom = minZoom
159
+ if (minZoom != null) {
160
+ map.setMinZoomPreference(minZoom)
161
+ }
162
+
163
+ val maxZoom = maxZoom
164
+ if (maxZoom != null) {
165
+ map.setMaxZoomPreference(maxZoom)
166
+ }
167
+ }
168
+ }
169
+
170
+ private fun updateMaxBounds() {
171
+ val map = maplibreMap
172
+ if (map != null && maxBounds != null) {
173
+ map.setLatLngBoundsForCameraTarget(maxBounds)
174
+ }
175
+ }
176
+
177
+ private fun setInitialCamera() {
178
+ if (initialViewState != null) {
179
+ initialViewState!!.duration = 0
180
+ initialViewState!!.easing = CameraEasing.NONE
181
+ val item = initialViewState!!.toCameraUpdate(mapView!!)
182
+
183
+ item.run()
184
+ }
185
+ }
186
+
187
+ private fun updateCamera() {
188
+ updateQueue.offer(stop)
189
+ updateQueue.execute(mapView!!)
190
+ }
191
+
192
+ private fun updateUserTrackingMode(trackUserLocationMode: Int) {
193
+ userLocation.trackingMode = trackUserLocationMode
194
+
195
+ val event = TrackUserLocationChangeEvent(surfaceId, id, trackUserLocationMode)
196
+ eventDispatcher?.dispatchEvent(event)
197
+ }
198
+
199
+ private fun updateUserLocation() {
200
+ if (trackUserLocation == TrackUserLocationMode.NONE || userLocation.trackingMode == TrackUserLocationMode.NONE) {
201
+ return
202
+ }
203
+
204
+ if (userTrackingState == TrackUserLocationState.POSSIBLE) {
205
+ updateUserLocationSignificantly()
206
+ } else if (userTrackingState == TrackUserLocationState.CHANGED) {
207
+ updateUserLocationIncrementally()
208
+ }
209
+ }
210
+
211
+ private fun getUserLocationUpdateCameraPosition(zoomLevel: Double): CameraPosition {
212
+ val center = userLocation.coordinate
213
+
214
+ return CameraPosition.Builder().target(center).bearing(
215
+ directionForUserLocationUpdate
216
+ ).tilt(stop?.pitch ?: 0.0).zoom(zoomLevel).build()
217
+ }
218
+
219
+ private val directionForUserLocationUpdate: Double
220
+ get() {
221
+ // NOTE: The direction of this is used for map rotation only, not location layer rotation
222
+ val currentCamera = mapView!!.cameraPosition
223
+ var direction = currentCamera.bearing
224
+
225
+ val userTrackingMode = userLocation.trackingMode
226
+ if (userTrackingMode == TrackUserLocationMode.HEADING || userTrackingMode == TrackUserLocationMode.COURSE) {
227
+ direction = userLocation.bearing
228
+ } else if (stop?.bearing != null) {
229
+ direction = stop?.bearing ?: direction
230
+ }
231
+
232
+ return direction
233
+ }
234
+
235
+ private fun sendUserLocationUpdateEvent(location: Location?) {
236
+ if (location == null) {
237
+ return
238
+ }
239
+ // TODO: This has to be emitted from the proper Component
240
+ val event = MapChangeEvent(
241
+ surfaceId, id, "onUpdate", makeLocationChangePayload(location)
242
+ )
243
+ eventDispatcher?.dispatchEvent(event)
244
+ }
245
+
246
+ private fun updateUserLocationSignificantly() {
247
+ userTrackingState = TrackUserLocationState.BEGAN
248
+
249
+ val cameraUpdate =
250
+ newCameraPosition(getUserLocationUpdateCameraPosition(mapView!!.mapLibreMap!!.cameraPosition.zoom))
251
+ val cameraCallback: CancelableCallback = object : CancelableCallback {
252
+ override fun onCancel() {
253
+ userTrackingState = TrackUserLocationState.CHANGED
254
+ }
255
+
256
+ override fun onFinish() {
257
+ userTrackingState = TrackUserLocationState.CHANGED
258
+ }
259
+ }
260
+
261
+ mapView!!.moveCamera(cameraUpdate, cameraCallback)
262
+ }
263
+
264
+ private fun updateUserLocationIncrementally() {
265
+ userTrackingState = TrackUserLocationState.BEGAN
266
+
267
+ val cameraPosition = mapView!!.cameraPosition
268
+ val cameraUpdate =
269
+ newCameraPosition(getUserLocationUpdateCameraPosition(cameraPosition.zoom))
270
+
271
+ val callback: CancelableCallback = object : CancelableCallback {
272
+ override fun onCancel() {
273
+ userTrackingState = TrackUserLocationState.CHANGED
274
+ }
275
+
276
+ override fun onFinish() {
277
+ userTrackingState = TrackUserLocationState.CHANGED
278
+ }
279
+ }
280
+
281
+
282
+ mapView!!.moveCamera(cameraUpdate, callback)
283
+ }
284
+
285
+ private fun enableLocation() {
286
+ if (!PermissionsManager.areLocationPermissionsGranted(context)) {
287
+ return
288
+ }
289
+
290
+ if (!locationManager.isActive) {
291
+ locationManager.enable()
292
+ }
293
+
294
+ mapView!!.mapLibreMap!!.getStyle { style ->
295
+ enableLocationComponent(
296
+ style
297
+ )
298
+ }
299
+ }
300
+
301
+ private fun enableLocationComponent(style: Style) {
302
+ updateUserLocation()
303
+ updateLocationLayer(style)
304
+
305
+ val lastKnownLocation = locationManager.lastKnownLocation
306
+ locationManager.addLocationListener(locationChangeListener)
307
+
308
+ if (lastKnownLocation != null) {
309
+ locationChangeListener.onLocationChange(lastKnownLocation)
310
+
311
+ postDelayed({ mapView!!.sendRegionDidChangeEvent() }, 200)
312
+ }
313
+ }
314
+
315
+ private fun updateLocationLayer(style: Style) {
316
+ if (locationComponentManager == null) {
317
+ locationComponentManager = mapView!!.locationComponentManager
318
+ }
319
+
320
+ locationComponentManager!!.update(style)
321
+ locationComponentManager!!.setFollowUserLocation(trackUserLocation != TrackUserLocationMode.NONE)
322
+
323
+ if (trackUserLocation != TrackUserLocationMode.NONE) {
324
+ locationComponentManager!!.setCameraMode(
325
+ TrackUserLocationMode.getCameraMode(
326
+ trackUserLocation
327
+ )
328
+ )
329
+ locationComponentManager!!.addOnCameraTrackingChangedListener(object :
330
+ OnCameraTrackingChangedListener {
331
+ override fun onCameraTrackingChanged(currentMode: Int) {
332
+ val userTrackingMode = when (currentMode) {
333
+ org.maplibre.android.location.modes.CameraMode.NONE -> TrackUserLocationMode.NONE
334
+ org.maplibre.android.location.modes.CameraMode.TRACKING -> TrackUserLocationMode.DEFAULT
335
+ org.maplibre.android.location.modes.CameraMode.TRACKING_COMPASS -> TrackUserLocationMode.HEADING
336
+ org.maplibre.android.location.modes.CameraMode.TRACKING_GPS -> TrackUserLocationMode.COURSE
337
+ else -> TrackUserLocationMode.NONE
338
+ }
339
+
340
+ updateUserTrackingMode(userTrackingMode)
341
+ }
342
+
343
+ override fun onCameraTrackingDismissed() {
344
+ }
345
+ })
346
+ } else {
347
+ locationComponentManager!!.setCameraMode(org.maplibre.android.location.modes.CameraMode.NONE)
348
+ }
349
+ }
350
+
351
+ fun setMinZoomLevel(zoomLevel: Double) {
352
+ minZoom = zoomLevel
353
+ updateMaxMinZoom()
354
+ }
355
+
356
+ fun setMaxZoomLevel(zoomLevel: Double) {
357
+ maxZoom = zoomLevel
358
+ updateMaxMinZoom()
359
+ }
360
+
361
+ fun setTrackUserLocation(trackUserLocationMode: Int) {
362
+ val oldTrackingMode = trackUserLocation
363
+ trackUserLocation = trackUserLocationMode
364
+ updateUserTrackingMode(trackUserLocationMode)
365
+
366
+ when (trackUserLocation) {
367
+ TrackUserLocationMode.NONE -> userTrackingState = TrackUserLocationState.POSSIBLE
368
+
369
+ TrackUserLocationMode.DEFAULT, TrackUserLocationMode.COURSE, TrackUserLocationMode.HEADING -> if (oldTrackingMode == TrackUserLocationMode.NONE) {
370
+ userTrackingState = TrackUserLocationState.POSSIBLE
371
+ }
372
+ }
373
+
374
+ if (maplibreMap != null) {
375
+ updateLocationLayer(maplibreMap!!.style!!)
376
+ }
377
+ }
378
+
379
+
380
+ private val maplibreMap: MapLibreMap?
381
+ get() {
382
+ if (mapView == null) {
383
+ return null
384
+ }
385
+ return mapView!!.mapLibreMap
386
+ }
387
+
388
+ // TODO: Update structure
389
+ private fun makeLocationChangePayload(location: Location): WritableMap {
390
+ val positionProperties: WritableMap = WritableNativeMap()
391
+ val coordinates: WritableMap = WritableNativeMap()
392
+
393
+ coordinates.putDouble("longitude", location.longitude)
394
+ coordinates.putDouble("latitude", location.latitude)
395
+ coordinates.putDouble("altitude", location.altitude)
396
+ coordinates.putDouble("accuracy", location.accuracy.toDouble())
397
+ // TODO
398
+ // A better solution will be to pull the heading from the compass engine,
399
+ // unfortunately the api is not public
400
+ coordinates.putDouble("heading", location.bearing.toDouble())
401
+ coordinates.putDouble("course", location.bearing.toDouble())
402
+ coordinates.putDouble("speed", location.speed.toDouble())
403
+
404
+ positionProperties.putMap("coords", coordinates)
405
+ positionProperties.putDouble("timestamp", location.time.toDouble())
406
+
407
+ return positionProperties
408
+ }
409
+ }
@@ -0,0 +1,69 @@
1
+ package org.maplibre.reactnative.components.camera
2
+
3
+ import com.facebook.react.bridge.ReactApplicationContext
4
+ import com.facebook.react.bridge.ReadableArray
5
+ import com.facebook.react.bridge.ReadableMap
6
+ import com.facebook.react.module.annotations.ReactModule
7
+ import com.facebook.react.uimanager.ThemedReactContext
8
+ import com.facebook.react.uimanager.ViewGroupManager
9
+ import com.facebook.react.uimanager.ViewManagerDelegate
10
+ import com.facebook.react.uimanager.annotations.ReactProp
11
+ import com.facebook.react.viewmanagers.MLRNCameraManagerDelegate
12
+ import com.facebook.react.viewmanagers.MLRNCameraManagerInterface
13
+ import org.maplibre.reactnative.location.TrackUserLocationMode
14
+ import org.maplibre.reactnative.utils.GeoJSONUtils
15
+
16
+ @ReactModule(name = MLRNCameraManager.REACT_CLASS)
17
+ class MLRNCameraManager(private val mContext: ReactApplicationContext) :
18
+ ViewGroupManager<MLRNCamera>(
19
+
20
+ ), MLRNCameraManagerInterface<MLRNCamera> {
21
+ private val delegate: MLRNCameraManagerDelegate<MLRNCamera, MLRNCameraManager> =
22
+ MLRNCameraManagerDelegate(this)
23
+
24
+ override fun getDelegate(): ViewManagerDelegate<MLRNCamera> = delegate
25
+
26
+ companion object {
27
+ const val REACT_CLASS: String = "MLRNCamera"
28
+ }
29
+
30
+ override fun getName(): String = REACT_CLASS
31
+
32
+
33
+ override fun createViewInstance(reactContext: ThemedReactContext): MLRNCamera {
34
+ return MLRNCamera(reactContext)
35
+ }
36
+
37
+ @ReactProp(name = "stop")
38
+ override fun setStop(camera: MLRNCamera, value: ReadableMap?) {
39
+ camera.setStop(value)
40
+ }
41
+
42
+ @ReactProp(name = "initialViewState")
43
+ override fun setInitialViewState(camera: MLRNCamera, value: ReadableMap?) {
44
+ if (value != null && !camera.hasInitialViewState()) {
45
+ val stop = CameraStop.fromReadableMap(mContext, value, null)
46
+ camera.setInitialViewState(stop)
47
+ }
48
+ }
49
+
50
+ @ReactProp(name = "minZoom")
51
+ override fun setMinZoom(camera: MLRNCamera, value: Double) {
52
+ camera.setMinZoomLevel(value)
53
+ }
54
+
55
+ @ReactProp(name = "maxZoom")
56
+ override fun setMaxZoom(camera: MLRNCamera, value: Double) {
57
+ camera.setMaxZoomLevel(value)
58
+ }
59
+
60
+ @ReactProp(name = "maxBounds")
61
+ override fun setMaxBounds(camera: MLRNCamera, value: ReadableArray?) {
62
+ camera.setMaxBounds(GeoJSONUtils.toLatLngBounds(value))
63
+ }
64
+
65
+ @ReactProp(name = "trackUserLocation")
66
+ override fun setTrackUserLocation(camera: MLRNCamera, value: String?) {
67
+ camera.setTrackUserLocation(TrackUserLocationMode.fromString(value))
68
+ }
69
+ }
@@ -0,0 +1,34 @@
1
+ package org.maplibre.reactnative.components.camera
2
+
3
+ import com.facebook.react.bridge.Promise
4
+ import com.facebook.react.bridge.ReactApplicationContext
5
+ import com.facebook.react.bridge.ReadableMap
6
+ import org.maplibre.reactnative.NativeCameraModuleSpec
7
+ import org.maplibre.reactnative.utils.ReactTag
8
+ import org.maplibre.reactnative.utils.ReactTagResolver
9
+
10
+
11
+ class MLRNCameraModule(
12
+ context: ReactApplicationContext,
13
+ private val reactTagResolver: ReactTagResolver
14
+ ) :
15
+ NativeCameraModuleSpec(context) {
16
+ companion object {
17
+ const val NAME = "MLRNCameraModule"
18
+ }
19
+
20
+ private fun withViewportOnUIThread(
21
+ reactTag: ReactTag,
22
+ reject: Promise,
23
+ fn: (MLRNCamera) -> Unit
24
+ ) {
25
+ reactTagResolver.withViewResolved(reactTag.toInt(), reject, fn)
26
+ }
27
+
28
+ override fun setStop(reactTag: ReactTag, stop: ReadableMap, promise: Promise) {
29
+ withViewportOnUIThread(reactTag, promise) {
30
+ it.handleImperativeStop(stop)
31
+ promise.resolve(null)
32
+ }
33
+ }
34
+ }
@@ -0,0 +1,24 @@
1
+ package org.maplibre.reactnative.components.camera.constants
2
+
3
+ import androidx.annotation.IntDef
4
+
5
+ object CameraEasing {
6
+ const val NONE: Int = 0
7
+ const val LINEAR: Int = 1
8
+ const val EASE: Int = 2
9
+ const val FLY: Int = 3
10
+
11
+ @IntDef(NONE, LINEAR, EASE, FLY)
12
+ @Retention(AnnotationRetention.SOURCE)
13
+ annotation class Easing
14
+
15
+ fun fromString(value: String?): Int {
16
+ return when (value) {
17
+ "none" -> NONE
18
+ "linear" -> LINEAR
19
+ "ease" -> EASE
20
+ "fly" -> FLY
21
+ else -> NONE
22
+ }
23
+ }
24
+ }
@@ -26,7 +26,6 @@ import java.util.HashSet;
26
26
  import java.util.List;
27
27
  import java.util.Map;
28
28
  import java.util.Set;
29
- import java.util.stream.Collectors;
30
29
 
31
30
  public class MLRNImages extends AbstractMapFeature {
32
31
  private static Bitmap mImagePlaceholder;
@@ -182,7 +181,7 @@ public class MLRNImages extends AbstractMapFeature {
182
181
  mapView.getStyle(new Style.OnStyleLoaded() {
183
182
  @Override
184
183
  public void onStyleLoaded(@NonNull Style style) {
185
- MapLibreMap map = mapView.getMapboxMap();
184
+ MapLibreMap map = mapView.getMapLibreMap();
186
185
  mMap = map;
187
186
  addNativeImagesToStyle(mNativeImages, map);
188
187
  addImagesToStyle(mImages, map);
@@ -34,7 +34,7 @@ public class LocationComponentManager {
34
34
 
35
35
  public LocationComponentManager(MLRNMapView mlrnMapView, Context context) {
36
36
  mMapView = mlrnMapView;
37
- mMap = mMapView.getMapboxMap();
37
+ mMap = mMapView.getMapLibreMap();
38
38
  mContext = context;
39
39
 
40
40
  mLocationManager = LocationManager.getInstance(context);
@@ -0,0 +1,23 @@
1
+ package org.maplibre.reactnative.components.mapview
2
+
3
+ import android.content.Context
4
+ import android.util.AttributeSet
5
+ import org.maplibre.android.maps.MapLibreMapOptions
6
+
7
+ class MLRNAndroidTextureMapView(
8
+ context: Context, options: MapLibreMapOptions?
9
+ ) : MLRNMapView(context, options) {
10
+ constructor(context: Context) : this(context, options = null)
11
+
12
+ @Suppress("UNUSED_PARAMETER")
13
+ constructor(context: Context, attrs: AttributeSet?) : this(context, options = null)
14
+
15
+ @Suppress("UNUSED_PARAMETER")
16
+ constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : this(
17
+ context, options = null
18
+ )
19
+
20
+ companion object {
21
+ const val LOG_TAG: String = "MLRNAndroidTextureMapView"
22
+ }
23
+ }
@@ -0,0 +1,23 @@
1
+ package org.maplibre.reactnative.components.mapview
2
+
3
+ import com.facebook.react.bridge.ReactApplicationContext
4
+ import com.facebook.react.uimanager.ThemedReactContext
5
+ import org.maplibre.android.maps.MapLibreMapOptions
6
+
7
+ class MLRNAndroidTextureMapViewManager(context: ReactApplicationContext) :
8
+ MLRNMapViewManager(context) {
9
+ override fun getName(): String = REACT_CLASS
10
+
11
+
12
+ override fun createViewInstance(themedReactContext: ThemedReactContext): MLRNAndroidTextureMapView {
13
+ val options = MapLibreMapOptions.createFromAttributes(themedReactContext)
14
+ options.textureMode(true)
15
+
16
+ return MLRNAndroidTextureMapView(themedReactContext, options)
17
+ }
18
+
19
+ companion object {
20
+ const val LOG_TAG: String = "MLRNAndroidTextureMapViewManager"
21
+ const val REACT_CLASS: String = "MLRNAndroidTextureMapView"
22
+ }
23
+ }