@maplibre/maplibre-react-native 10.0.0-beta.2 → 10.0.0-beta.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (584) hide show
  1. package/README.md +12 -56
  2. package/android/build.gradle +120 -50
  3. package/android/gradle.properties +15 -0
  4. package/android/src/main/AndroidManifest.xml +4 -2
  5. package/android/src/main/AndroidManifestNew.xml +5 -0
  6. package/android/src/main/java/org/maplibre/reactnative/MLRNPackage.java +0 -5
  7. package/android/src/main/java/org/maplibre/reactnative/components/camera/MLRNCamera.java +37 -48
  8. package/android/src/main/java/org/maplibre/reactnative/components/location/LocationComponentManager.java +16 -9
  9. package/android/src/main/java/org/maplibre/reactnative/components/mapview/MLRNMapView.java +11 -13
  10. package/android/src/main/java/org/maplibre/reactnative/components/mapview/MLRNMapViewManager.java +4 -11
  11. package/android/src/main/java/org/maplibre/reactnative/components/styles/MLRNStyle.java +1 -4
  12. package/android/src/main/java/org/maplibre/reactnative/components/styles/MLRNStyleFactory.java +10 -11
  13. package/android/src/main/java/org/maplibre/reactnative/components/styles/sources/MLRNShapeSource.java +0 -66
  14. package/android/src/main/java/org/maplibre/reactnative/components/styles/sources/MLRNShapeSourceManager.java +0 -28
  15. package/android/src/main/java/org/maplibre/reactnative/location/LocationManager.java +7 -11
  16. package/android/src/main/java/org/maplibre/reactnative/location/engine/DefaultLocationEngineProvider.java +18 -0
  17. package/android/src/main/java/org/maplibre/reactnative/location/engine/LocationEngineProvidable.java +9 -0
  18. package/android/src/main/java/org/maplibre/reactnative/modules/MLRNModule.java +27 -148
  19. package/android/src/main/java/org/maplibre/reactnative/modules/MLRNOfflineModule.java +1 -3
  20. package/android/src/main/java/org/maplibre/reactnative/utils/GeoJSONUtils.java +123 -18
  21. package/android/src/main/location-engine-default/org/maplibre/reactnative/location/engine/LocationEngineProvider.java +12 -0
  22. package/android/src/main/location-engine-google/org/maplibre/reactnative/location/engine/GoogleLocationEngineImpl.java +151 -0
  23. package/android/src/main/location-engine-google/org/maplibre/reactnative/location/engine/GoogleLocationEngineProvider.java +24 -0
  24. package/android/src/main/location-engine-google/org/maplibre/reactnative/location/engine/LocationEngineProvider.java +12 -0
  25. package/app.plugin.js +1 -1
  26. package/ios/MLRN/MLRNBackgroundLayer.h +0 -1
  27. package/ios/MLRN/MLRNCamera.m +6 -7
  28. package/ios/MLRN/MLRNFillExtrusionLayer.h +0 -1
  29. package/ios/MLRN/MLRNFillLayer.h +0 -1
  30. package/ios/MLRN/MLRNFillLayer.m +1 -0
  31. package/ios/MLRN/MLRNLineLayer.h +0 -1
  32. package/ios/MLRN/MLRNMapView.h +1 -1
  33. package/ios/MLRN/MLRNMapView.m +7 -7
  34. package/ios/MLRN/MLRNMapViewManager.m +1 -1
  35. package/ios/MLRN/MLRNModule.m +8 -139
  36. package/ios/MLRN/MLRNRasterLayer.h +0 -1
  37. package/ios/MLRN/MLRNShapeSource.h +0 -11
  38. package/ios/MLRN/MLRNShapeSource.m +0 -38
  39. package/ios/MLRN/MLRNShapeSourceManager.m +0 -68
  40. package/ios/MLRN/MLRNStyle.m +0 -40
  41. package/ios/MLRN/MLRNSymbolLayer.h +1 -7
  42. package/ios/MLRN/MLRNSymbolLayer.m +1 -89
  43. package/ios/MLRN/MLRNSymbolLayerManager.m +0 -1
  44. package/lib/commonjs/MLRNModule.js +7 -5
  45. package/lib/commonjs/MLRNModule.js.map +1 -1
  46. package/lib/commonjs/MapLibreRN.js +74 -68
  47. package/lib/commonjs/MapLibreRN.js.map +1 -1
  48. package/lib/commonjs/components/Annotation.js +7 -9
  49. package/lib/commonjs/components/Annotation.js.map +1 -1
  50. package/lib/commonjs/components/BackgroundLayer.js +6 -8
  51. package/lib/commonjs/components/BackgroundLayer.js.map +1 -1
  52. package/lib/commonjs/components/Callout.js +2 -2
  53. package/lib/commonjs/components/Callout.js.map +1 -1
  54. package/lib/commonjs/components/Camera.js +111 -63
  55. package/lib/commonjs/components/Camera.js.map +1 -1
  56. package/lib/commonjs/components/CircleLayer.js +6 -8
  57. package/lib/commonjs/components/CircleLayer.js.map +1 -1
  58. package/lib/commonjs/components/FillExtrusionLayer.js +6 -8
  59. package/lib/commonjs/components/FillExtrusionLayer.js.map +1 -1
  60. package/lib/commonjs/components/FillLayer.js +6 -8
  61. package/lib/commonjs/components/FillLayer.js.map +1 -1
  62. package/lib/commonjs/components/HeadingIndicator.js +4 -4
  63. package/lib/commonjs/components/HeadingIndicator.js.map +1 -1
  64. package/lib/commonjs/components/HeatmapLayer.js +6 -8
  65. package/lib/commonjs/components/HeatmapLayer.js.map +1 -1
  66. package/lib/commonjs/components/ImageSource.js +4 -5
  67. package/lib/commonjs/components/ImageSource.js.map +1 -1
  68. package/lib/commonjs/components/Images.js +3 -7
  69. package/lib/commonjs/components/Images.js.map +1 -1
  70. package/lib/commonjs/components/Light.js +4 -6
  71. package/lib/commonjs/components/Light.js.map +1 -1
  72. package/lib/commonjs/components/LineLayer.js +6 -8
  73. package/lib/commonjs/components/LineLayer.js.map +1 -1
  74. package/lib/commonjs/components/MapView.js +69 -83
  75. package/lib/commonjs/components/MapView.js.map +1 -1
  76. package/lib/commonjs/components/MarkerView.js +4 -5
  77. package/lib/commonjs/components/MarkerView.js.map +1 -1
  78. package/lib/commonjs/components/NativeUserLocation.js +2 -2
  79. package/lib/commonjs/components/NativeUserLocation.js.map +1 -1
  80. package/lib/commonjs/components/PointAnnotation.js +7 -10
  81. package/lib/commonjs/components/PointAnnotation.js.map +1 -1
  82. package/lib/commonjs/components/RasterLayer.js +6 -8
  83. package/lib/commonjs/components/RasterLayer.js.map +1 -1
  84. package/lib/commonjs/components/RasterSource.js +8 -10
  85. package/lib/commonjs/components/RasterSource.js.map +1 -1
  86. package/lib/commonjs/components/ShapeSource.js +11 -45
  87. package/lib/commonjs/components/ShapeSource.js.map +1 -1
  88. package/lib/commonjs/components/SymbolLayer.js +8 -24
  89. package/lib/commonjs/components/SymbolLayer.js.map +1 -1
  90. package/lib/commonjs/components/UserLocation.js +21 -23
  91. package/lib/commonjs/components/UserLocation.js.map +1 -1
  92. package/lib/commonjs/components/VectorSource.js +9 -21
  93. package/lib/commonjs/components/VectorSource.js.map +1 -1
  94. package/lib/commonjs/hooks/useAbstractLayer.js +1 -1
  95. package/lib/commonjs/hooks/useAbstractLayer.js.map +1 -1
  96. package/lib/commonjs/hooks/useAbstractSource.js +1 -1
  97. package/lib/commonjs/hooks/useAbstractSource.js.map +1 -1
  98. package/lib/commonjs/hooks/useNativeBridge.js +2 -2
  99. package/lib/commonjs/hooks/useNativeBridge.js.map +1 -1
  100. package/lib/commonjs/hooks/useOnce.js +2 -2
  101. package/lib/commonjs/hooks/useOnce.js.map +1 -1
  102. package/lib/commonjs/index.js +3 -0
  103. package/lib/commonjs/index.js.map +1 -1
  104. package/lib/commonjs/modules/location/{locationManager.js → LocationManager.js} +10 -10
  105. package/lib/commonjs/modules/location/LocationManager.js.map +1 -0
  106. package/lib/commonjs/modules/offline/OfflineCreatePackOptions.js +2 -2
  107. package/lib/commonjs/modules/offline/OfflineCreatePackOptions.js.map +1 -1
  108. package/lib/commonjs/modules/offline/{offlineManager.js → OfflineManager.js} +34 -36
  109. package/lib/commonjs/modules/offline/OfflineManager.js.map +1 -0
  110. package/lib/commonjs/modules/offline/OfflinePack.js +2 -2
  111. package/lib/commonjs/modules/offline/OfflinePack.js.map +1 -1
  112. package/lib/commonjs/modules/snapshot/{snapshotManager.js → SnapshotManager.js} +12 -14
  113. package/lib/commonjs/modules/snapshot/SnapshotManager.js.map +1 -0
  114. package/lib/commonjs/modules/snapshot/SnapshotOptions.js +3 -4
  115. package/lib/commonjs/modules/snapshot/SnapshotOptions.js.map +1 -1
  116. package/lib/commonjs/plugin/MapLibrePluginProps.js +2 -0
  117. package/lib/commonjs/plugin/MapLibrePluginProps.js.map +1 -0
  118. package/lib/commonjs/plugin/android.js +41 -0
  119. package/lib/commonjs/plugin/android.js.map +1 -0
  120. package/lib/commonjs/plugin/ios.js +131 -0
  121. package/lib/commonjs/plugin/ios.js.map +1 -0
  122. package/lib/commonjs/plugin/withMapLibre.js +31 -0
  123. package/lib/commonjs/plugin/withMapLibre.js.map +1 -0
  124. package/lib/commonjs/types/MapLibreRNStyles.js +6 -0
  125. package/lib/commonjs/types/MapLibreRNStyles.js.map +1 -0
  126. package/lib/commonjs/utils/BridgeValue.js +2 -2
  127. package/lib/commonjs/utils/BridgeValue.js.map +1 -1
  128. package/lib/commonjs/utils/Logger.js +2 -2
  129. package/lib/commonjs/utils/Logger.js.map +1 -1
  130. package/lib/commonjs/utils/StyleValue.js +4 -5
  131. package/lib/commonjs/utils/StyleValue.js.map +1 -1
  132. package/lib/commonjs/utils/animated/AbstractAnimatedCoordinates.js +2 -2
  133. package/lib/commonjs/utils/animated/AbstractAnimatedCoordinates.js.map +1 -1
  134. package/lib/commonjs/utils/animated/Animated.js +29 -31
  135. package/lib/commonjs/utils/animated/Animated.js.map +1 -1
  136. package/lib/commonjs/utils/animated/AnimatedCoordinatesArray.js +4 -5
  137. package/lib/commonjs/utils/animated/AnimatedCoordinatesArray.js.map +1 -1
  138. package/lib/commonjs/utils/animated/AnimatedExtractCoordinateFromArray.js +2 -2
  139. package/lib/commonjs/utils/animated/AnimatedExtractCoordinateFromArray.js.map +1 -1
  140. package/lib/commonjs/utils/animated/AnimatedPoint.js +1 -2
  141. package/lib/commonjs/utils/animated/AnimatedPoint.js.map +1 -1
  142. package/lib/commonjs/utils/animated/AnimatedRouteCoordinatesArray.js +4 -4
  143. package/lib/commonjs/utils/animated/AnimatedRouteCoordinatesArray.js.map +1 -1
  144. package/lib/commonjs/utils/animated/AnimatedShape.js +2 -2
  145. package/lib/commonjs/utils/animated/AnimatedShape.js.map +1 -1
  146. package/lib/commonjs/utils/getStylePropertyType.js +252 -0
  147. package/lib/commonjs/utils/getStylePropertyType.js.map +1 -0
  148. package/lib/module/MLRNModule.js +3 -2
  149. package/lib/module/MLRNModule.js.map +1 -1
  150. package/lib/module/MapLibreRN.js +40 -32
  151. package/lib/module/MapLibreRN.js.map +1 -1
  152. package/lib/module/components/Annotation.js +5 -6
  153. package/lib/module/components/Annotation.js.map +1 -1
  154. package/lib/module/components/BackgroundLayer.js +4 -6
  155. package/lib/module/components/BackgroundLayer.js.map +1 -1
  156. package/lib/module/components/Callout.js +2 -3
  157. package/lib/module/components/Callout.js.map +1 -1
  158. package/lib/module/components/Camera.js +112 -64
  159. package/lib/module/components/Camera.js.map +1 -1
  160. package/lib/module/components/CircleLayer.js +4 -6
  161. package/lib/module/components/CircleLayer.js.map +1 -1
  162. package/lib/module/components/FillExtrusionLayer.js +4 -6
  163. package/lib/module/components/FillExtrusionLayer.js.map +1 -1
  164. package/lib/module/components/FillLayer.js +4 -6
  165. package/lib/module/components/FillLayer.js.map +1 -1
  166. package/lib/module/components/HeadingIndicator.js +2 -3
  167. package/lib/module/components/HeadingIndicator.js.map +1 -1
  168. package/lib/module/components/HeatmapLayer.js +4 -6
  169. package/lib/module/components/HeatmapLayer.js.map +1 -1
  170. package/lib/module/components/ImageSource.js +2 -3
  171. package/lib/module/components/ImageSource.js.map +1 -1
  172. package/lib/module/components/Images.js +3 -8
  173. package/lib/module/components/Images.js.map +1 -1
  174. package/lib/module/components/Light.js +2 -4
  175. package/lib/module/components/Light.js.map +1 -1
  176. package/lib/module/components/LineLayer.js +4 -6
  177. package/lib/module/components/LineLayer.js.map +1 -1
  178. package/lib/module/components/MapView.js +65 -79
  179. package/lib/module/components/MapView.js.map +1 -1
  180. package/lib/module/components/MarkerView.js +2 -3
  181. package/lib/module/components/MarkerView.js.map +1 -1
  182. package/lib/module/components/NativeUserLocation.js +1 -2
  183. package/lib/module/components/NativeUserLocation.js.map +1 -1
  184. package/lib/module/components/PointAnnotation.js +5 -7
  185. package/lib/module/components/PointAnnotation.js.map +1 -1
  186. package/lib/module/components/RasterLayer.js +4 -6
  187. package/lib/module/components/RasterLayer.js.map +1 -1
  188. package/lib/module/components/RasterSource.js +5 -7
  189. package/lib/module/components/RasterSource.js.map +1 -1
  190. package/lib/module/components/ShapeSource.js +9 -42
  191. package/lib/module/components/ShapeSource.js.map +1 -1
  192. package/lib/module/components/SymbolLayer.js +7 -23
  193. package/lib/module/components/SymbolLayer.js.map +1 -1
  194. package/lib/module/components/UserLocation.js +14 -15
  195. package/lib/module/components/UserLocation.js.map +1 -1
  196. package/lib/module/components/VectorSource.js +6 -17
  197. package/lib/module/components/VectorSource.js.map +1 -1
  198. package/lib/module/hooks/useAbstractLayer.js +1 -1
  199. package/lib/module/hooks/useAbstractLayer.js.map +1 -1
  200. package/lib/module/hooks/useAbstractSource.js +1 -1
  201. package/lib/module/hooks/useAbstractSource.js.map +1 -1
  202. package/lib/module/hooks/useNativeBridge.js +1 -2
  203. package/lib/module/hooks/useNativeBridge.js.map +1 -1
  204. package/lib/module/hooks/useNativeRef.js.map +1 -1
  205. package/lib/module/hooks/useOnce.js +1 -2
  206. package/lib/module/hooks/useOnce.js.map +1 -1
  207. package/lib/module/index.js +4 -0
  208. package/lib/module/index.js.map +1 -1
  209. package/lib/module/modules/location/{locationManager.js → LocationManager.js} +10 -9
  210. package/lib/module/modules/location/LocationManager.js.map +1 -0
  211. package/lib/module/modules/offline/OfflineCreatePackOptions.js +1 -2
  212. package/lib/module/modules/offline/OfflineCreatePackOptions.js.map +1 -1
  213. package/lib/module/modules/offline/{offlineManager.js → OfflineManager.js} +30 -30
  214. package/lib/module/modules/offline/OfflineManager.js.map +1 -0
  215. package/lib/module/modules/offline/OfflinePack.js +1 -2
  216. package/lib/module/modules/offline/OfflinePack.js.map +1 -1
  217. package/lib/module/modules/snapshot/{snapshotManager.js → SnapshotManager.js} +10 -10
  218. package/lib/module/modules/snapshot/{snapshotManager.js.map → SnapshotManager.js.map} +1 -1
  219. package/lib/module/modules/snapshot/SnapshotOptions.js +2 -3
  220. package/lib/module/modules/snapshot/SnapshotOptions.js.map +1 -1
  221. package/lib/module/plugin/MapLibrePluginProps.js +2 -0
  222. package/lib/module/plugin/MapLibrePluginProps.js.map +1 -0
  223. package/lib/module/plugin/android.js +34 -0
  224. package/lib/module/plugin/android.js.map +1 -0
  225. package/lib/module/plugin/ios.js +123 -0
  226. package/lib/module/plugin/ios.js.map +1 -0
  227. package/lib/module/plugin/withMapLibre.js +27 -0
  228. package/lib/module/plugin/withMapLibre.js.map +1 -0
  229. package/lib/module/types/MapLibreRNStyles.js +4 -0
  230. package/lib/module/types/MapLibreRNStyles.js.map +1 -0
  231. package/lib/module/utils/BridgeValue.js +1 -1
  232. package/lib/module/utils/BridgeValue.js.map +1 -1
  233. package/lib/module/utils/Logger.js +1 -2
  234. package/lib/module/utils/Logger.js.map +1 -1
  235. package/lib/module/utils/StyleValue.js +3 -3
  236. package/lib/module/utils/StyleValue.js.map +1 -1
  237. package/lib/module/utils/animated/AbstractAnimatedCoordinates.js +1 -2
  238. package/lib/module/utils/animated/AbstractAnimatedCoordinates.js.map +1 -1
  239. package/lib/module/utils/animated/Animated.js +14 -15
  240. package/lib/module/utils/animated/Animated.js.map +1 -1
  241. package/lib/module/utils/animated/AnimatedCoordinatesArray.js +2 -3
  242. package/lib/module/utils/animated/AnimatedCoordinatesArray.js.map +1 -1
  243. package/lib/module/utils/animated/AnimatedExtractCoordinateFromArray.js +1 -1
  244. package/lib/module/utils/animated/AnimatedExtractCoordinateFromArray.js.map +1 -1
  245. package/lib/module/utils/animated/AnimatedPoint.js +0 -1
  246. package/lib/module/utils/animated/AnimatedPoint.js.map +1 -1
  247. package/lib/module/utils/animated/AnimatedRouteCoordinatesArray.js +2 -2
  248. package/lib/module/utils/animated/AnimatedRouteCoordinatesArray.js.map +1 -1
  249. package/lib/module/utils/animated/AnimatedShape.js +1 -2
  250. package/lib/module/utils/animated/AnimatedShape.js.map +1 -1
  251. package/lib/module/utils/getStylePropertyType.js +248 -0
  252. package/lib/module/utils/getStylePropertyType.js.map +1 -0
  253. package/lib/typescript/commonjs/src/MLRNModule.d.ts +3 -7
  254. package/lib/typescript/commonjs/src/MLRNModule.d.ts.map +1 -1
  255. package/lib/typescript/commonjs/src/MapLibreRN.d.ts +44 -34
  256. package/lib/typescript/commonjs/src/MapLibreRN.d.ts.map +1 -1
  257. package/lib/typescript/commonjs/src/components/Annotation.d.ts +6 -6
  258. package/lib/typescript/commonjs/src/components/Annotation.d.ts.map +1 -1
  259. package/lib/typescript/commonjs/src/components/BackgroundLayer.d.ts +3 -5
  260. package/lib/typescript/commonjs/src/components/BackgroundLayer.d.ts.map +1 -1
  261. package/lib/typescript/commonjs/src/components/Callout.d.ts +3 -4
  262. package/lib/typescript/commonjs/src/components/Callout.d.ts.map +1 -1
  263. package/lib/typescript/commonjs/src/components/Camera.d.ts +4 -4
  264. package/lib/typescript/commonjs/src/components/Camera.d.ts.map +1 -1
  265. package/lib/typescript/commonjs/src/components/CircleLayer.d.ts +3 -5
  266. package/lib/typescript/commonjs/src/components/CircleLayer.d.ts.map +1 -1
  267. package/lib/typescript/commonjs/src/components/FillExtrusionLayer.d.ts +3 -5
  268. package/lib/typescript/commonjs/src/components/FillExtrusionLayer.d.ts.map +1 -1
  269. package/lib/typescript/commonjs/src/components/FillLayer.d.ts +3 -5
  270. package/lib/typescript/commonjs/src/components/FillLayer.d.ts.map +1 -1
  271. package/lib/typescript/commonjs/src/components/HeadingIndicator.d.ts +2 -3
  272. package/lib/typescript/commonjs/src/components/HeadingIndicator.d.ts.map +1 -1
  273. package/lib/typescript/commonjs/src/components/HeatmapLayer.d.ts +3 -5
  274. package/lib/typescript/commonjs/src/components/HeatmapLayer.d.ts.map +1 -1
  275. package/lib/typescript/commonjs/src/components/ImageSource.d.ts +3 -4
  276. package/lib/typescript/commonjs/src/components/ImageSource.d.ts.map +1 -1
  277. package/lib/typescript/commonjs/src/components/Images.d.ts +5 -5
  278. package/lib/typescript/commonjs/src/components/Images.d.ts.map +1 -1
  279. package/lib/typescript/commonjs/src/components/Light.d.ts +4 -5
  280. package/lib/typescript/commonjs/src/components/Light.d.ts.map +1 -1
  281. package/lib/typescript/commonjs/src/components/LineLayer.d.ts +3 -5
  282. package/lib/typescript/commonjs/src/components/LineLayer.d.ts.map +1 -1
  283. package/lib/typescript/commonjs/src/components/MapView.d.ts +12 -16
  284. package/lib/typescript/commonjs/src/components/MapView.d.ts.map +1 -1
  285. package/lib/typescript/commonjs/src/components/MarkerView.d.ts +3 -3
  286. package/lib/typescript/commonjs/src/components/MarkerView.d.ts.map +1 -1
  287. package/lib/typescript/commonjs/src/components/NativeUserLocation.d.ts +2 -3
  288. package/lib/typescript/commonjs/src/components/NativeUserLocation.d.ts.map +1 -1
  289. package/lib/typescript/commonjs/src/components/PointAnnotation.d.ts +7 -8
  290. package/lib/typescript/commonjs/src/components/PointAnnotation.d.ts.map +1 -1
  291. package/lib/typescript/commonjs/src/components/RasterLayer.d.ts +3 -5
  292. package/lib/typescript/commonjs/src/components/RasterLayer.d.ts.map +1 -1
  293. package/lib/typescript/commonjs/src/components/RasterSource.d.ts +4 -4
  294. package/lib/typescript/commonjs/src/components/RasterSource.d.ts.map +1 -1
  295. package/lib/typescript/commonjs/src/components/ShapeSource.d.ts +8 -16
  296. package/lib/typescript/commonjs/src/components/ShapeSource.d.ts.map +1 -1
  297. package/lib/typescript/commonjs/src/components/SymbolLayer.d.ts +3 -10
  298. package/lib/typescript/commonjs/src/components/SymbolLayer.d.ts.map +1 -1
  299. package/lib/typescript/commonjs/src/components/UserLocation.d.ts +6 -6
  300. package/lib/typescript/commonjs/src/components/UserLocation.d.ts.map +1 -1
  301. package/lib/typescript/commonjs/src/components/VectorSource.d.ts +4 -8
  302. package/lib/typescript/commonjs/src/components/VectorSource.d.ts.map +1 -1
  303. package/lib/typescript/commonjs/src/hooks/useAbstractLayer.d.ts +5 -4
  304. package/lib/typescript/commonjs/src/hooks/useAbstractLayer.d.ts.map +1 -1
  305. package/lib/typescript/commonjs/src/hooks/useAbstractSource.d.ts +4 -3
  306. package/lib/typescript/commonjs/src/hooks/useAbstractSource.d.ts.map +1 -1
  307. package/lib/typescript/commonjs/src/hooks/useNativeBridge.d.ts +5 -5
  308. package/lib/typescript/commonjs/src/hooks/useNativeBridge.d.ts.map +1 -1
  309. package/lib/typescript/commonjs/src/hooks/useNativeRef.d.ts +2 -2
  310. package/lib/typescript/commonjs/src/hooks/useNativeRef.d.ts.map +1 -1
  311. package/lib/typescript/commonjs/src/hooks/useOnce.d.ts +1 -2
  312. package/lib/typescript/commonjs/src/hooks/useOnce.d.ts.map +1 -1
  313. package/lib/typescript/commonjs/src/index.d.ts +3 -0
  314. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  315. package/lib/typescript/commonjs/src/modules/location/LocationManager.d.ts +33 -0
  316. package/lib/typescript/commonjs/src/modules/location/LocationManager.d.ts.map +1 -0
  317. package/lib/typescript/commonjs/src/modules/offline/OfflineCreatePackOptions.d.ts +1 -2
  318. package/lib/typescript/commonjs/src/modules/offline/OfflineCreatePackOptions.d.ts.map +1 -1
  319. package/lib/typescript/{module/src/modules/offline/offlineManager.d.ts → commonjs/src/modules/offline/OfflineManager.d.ts} +27 -37
  320. package/lib/typescript/commonjs/src/modules/offline/OfflineManager.d.ts.map +1 -0
  321. package/lib/typescript/commonjs/src/modules/offline/OfflinePack.d.ts +3 -4
  322. package/lib/typescript/commonjs/src/modules/offline/OfflinePack.d.ts.map +1 -1
  323. package/lib/typescript/{module/src/modules/snapshot/snapshotManager.d.ts → commonjs/src/modules/snapshot/SnapshotManager.d.ts} +9 -9
  324. package/lib/typescript/commonjs/src/modules/snapshot/SnapshotManager.d.ts.map +1 -0
  325. package/lib/typescript/commonjs/src/modules/snapshot/SnapshotOptions.d.ts +1 -1
  326. package/lib/typescript/commonjs/src/modules/snapshot/SnapshotOptions.d.ts.map +1 -1
  327. package/lib/typescript/commonjs/src/plugin/MapLibrePluginProps.d.ts +77 -0
  328. package/lib/typescript/commonjs/src/plugin/MapLibrePluginProps.d.ts.map +1 -0
  329. package/lib/typescript/commonjs/src/plugin/android.d.ts +16 -0
  330. package/lib/typescript/commonjs/src/plugin/android.d.ts.map +1 -0
  331. package/lib/typescript/commonjs/src/plugin/ios.d.ts +17 -0
  332. package/lib/typescript/commonjs/src/plugin/ios.d.ts.map +1 -0
  333. package/lib/typescript/commonjs/src/plugin/withMapLibre.d.ts +5 -0
  334. package/lib/typescript/commonjs/src/plugin/withMapLibre.d.ts.map +1 -0
  335. package/lib/typescript/commonjs/src/types/MapLibreRNStyles.d.ts +960 -0
  336. package/lib/typescript/commonjs/src/types/MapLibreRNStyles.d.ts.map +1 -0
  337. package/lib/typescript/commonjs/src/utils/BridgeValue.d.ts +1 -1
  338. package/lib/typescript/commonjs/src/utils/BridgeValue.d.ts.map +1 -1
  339. package/lib/typescript/commonjs/src/utils/Logger.d.ts +2 -2
  340. package/lib/typescript/commonjs/src/utils/Logger.d.ts.map +1 -1
  341. package/lib/typescript/commonjs/src/utils/StyleValue.d.ts +2 -2
  342. package/lib/typescript/commonjs/src/utils/StyleValue.d.ts.map +1 -1
  343. package/lib/typescript/commonjs/src/utils/animated/AbstractAnimatedCoordinates.d.ts +2 -2
  344. package/lib/typescript/commonjs/src/utils/animated/AbstractAnimatedCoordinates.d.ts.map +1 -1
  345. package/lib/typescript/commonjs/src/utils/animated/Animated.d.ts +19 -19
  346. package/lib/typescript/commonjs/src/utils/animated/Animated.d.ts.map +1 -1
  347. package/lib/typescript/commonjs/src/utils/animated/AnimatedCoordinatesArray.d.ts +3 -3
  348. package/lib/typescript/commonjs/src/utils/animated/AnimatedCoordinatesArray.d.ts.map +1 -1
  349. package/lib/typescript/commonjs/src/utils/animated/AnimatedExtractCoordinateFromArray.d.ts +1 -1
  350. package/lib/typescript/commonjs/src/utils/animated/AnimatedExtractCoordinateFromArray.d.ts.map +1 -1
  351. package/lib/typescript/commonjs/src/utils/animated/AnimatedPoint.d.ts +1 -1
  352. package/lib/typescript/commonjs/src/utils/animated/AnimatedPoint.d.ts.map +1 -1
  353. package/lib/typescript/commonjs/src/utils/animated/AnimatedRouteCoordinatesArray.d.ts +2 -2
  354. package/lib/typescript/commonjs/src/utils/animated/AnimatedRouteCoordinatesArray.d.ts.map +1 -1
  355. package/lib/typescript/commonjs/src/utils/animated/AnimatedShape.d.ts +5 -5
  356. package/lib/typescript/commonjs/src/utils/animated/AnimatedShape.d.ts.map +1 -1
  357. package/lib/typescript/commonjs/src/utils/filterUtils.d.ts +1 -1
  358. package/lib/typescript/commonjs/src/utils/filterUtils.d.ts.map +1 -1
  359. package/lib/typescript/commonjs/src/utils/getStylePropertyType.d.ts +35 -0
  360. package/lib/typescript/commonjs/src/utils/getStylePropertyType.d.ts.map +1 -0
  361. package/lib/typescript/module/src/MLRNModule.d.ts +3 -7
  362. package/lib/typescript/module/src/MLRNModule.d.ts.map +1 -1
  363. package/lib/typescript/module/src/MapLibreRN.d.ts +44 -34
  364. package/lib/typescript/module/src/MapLibreRN.d.ts.map +1 -1
  365. package/lib/typescript/module/src/components/Annotation.d.ts +6 -6
  366. package/lib/typescript/module/src/components/Annotation.d.ts.map +1 -1
  367. package/lib/typescript/module/src/components/BackgroundLayer.d.ts +3 -5
  368. package/lib/typescript/module/src/components/BackgroundLayer.d.ts.map +1 -1
  369. package/lib/typescript/module/src/components/Callout.d.ts +3 -4
  370. package/lib/typescript/module/src/components/Callout.d.ts.map +1 -1
  371. package/lib/typescript/module/src/components/Camera.d.ts +4 -4
  372. package/lib/typescript/module/src/components/Camera.d.ts.map +1 -1
  373. package/lib/typescript/module/src/components/CircleLayer.d.ts +3 -5
  374. package/lib/typescript/module/src/components/CircleLayer.d.ts.map +1 -1
  375. package/lib/typescript/module/src/components/FillExtrusionLayer.d.ts +3 -5
  376. package/lib/typescript/module/src/components/FillExtrusionLayer.d.ts.map +1 -1
  377. package/lib/typescript/module/src/components/FillLayer.d.ts +3 -5
  378. package/lib/typescript/module/src/components/FillLayer.d.ts.map +1 -1
  379. package/lib/typescript/module/src/components/HeadingIndicator.d.ts +2 -3
  380. package/lib/typescript/module/src/components/HeadingIndicator.d.ts.map +1 -1
  381. package/lib/typescript/module/src/components/HeatmapLayer.d.ts +3 -5
  382. package/lib/typescript/module/src/components/HeatmapLayer.d.ts.map +1 -1
  383. package/lib/typescript/module/src/components/ImageSource.d.ts +3 -4
  384. package/lib/typescript/module/src/components/ImageSource.d.ts.map +1 -1
  385. package/lib/typescript/module/src/components/Images.d.ts +5 -5
  386. package/lib/typescript/module/src/components/Images.d.ts.map +1 -1
  387. package/lib/typescript/module/src/components/Light.d.ts +4 -5
  388. package/lib/typescript/module/src/components/Light.d.ts.map +1 -1
  389. package/lib/typescript/module/src/components/LineLayer.d.ts +3 -5
  390. package/lib/typescript/module/src/components/LineLayer.d.ts.map +1 -1
  391. package/lib/typescript/module/src/components/MapView.d.ts +12 -16
  392. package/lib/typescript/module/src/components/MapView.d.ts.map +1 -1
  393. package/lib/typescript/module/src/components/MarkerView.d.ts +3 -3
  394. package/lib/typescript/module/src/components/MarkerView.d.ts.map +1 -1
  395. package/lib/typescript/module/src/components/NativeUserLocation.d.ts +2 -3
  396. package/lib/typescript/module/src/components/NativeUserLocation.d.ts.map +1 -1
  397. package/lib/typescript/module/src/components/PointAnnotation.d.ts +7 -8
  398. package/lib/typescript/module/src/components/PointAnnotation.d.ts.map +1 -1
  399. package/lib/typescript/module/src/components/RasterLayer.d.ts +3 -5
  400. package/lib/typescript/module/src/components/RasterLayer.d.ts.map +1 -1
  401. package/lib/typescript/module/src/components/RasterSource.d.ts +4 -4
  402. package/lib/typescript/module/src/components/RasterSource.d.ts.map +1 -1
  403. package/lib/typescript/module/src/components/ShapeSource.d.ts +8 -16
  404. package/lib/typescript/module/src/components/ShapeSource.d.ts.map +1 -1
  405. package/lib/typescript/module/src/components/SymbolLayer.d.ts +3 -10
  406. package/lib/typescript/module/src/components/SymbolLayer.d.ts.map +1 -1
  407. package/lib/typescript/module/src/components/UserLocation.d.ts +6 -6
  408. package/lib/typescript/module/src/components/UserLocation.d.ts.map +1 -1
  409. package/lib/typescript/module/src/components/VectorSource.d.ts +4 -8
  410. package/lib/typescript/module/src/components/VectorSource.d.ts.map +1 -1
  411. package/lib/typescript/module/src/hooks/useAbstractLayer.d.ts +5 -4
  412. package/lib/typescript/module/src/hooks/useAbstractLayer.d.ts.map +1 -1
  413. package/lib/typescript/module/src/hooks/useAbstractSource.d.ts +4 -3
  414. package/lib/typescript/module/src/hooks/useAbstractSource.d.ts.map +1 -1
  415. package/lib/typescript/module/src/hooks/useNativeBridge.d.ts +5 -5
  416. package/lib/typescript/module/src/hooks/useNativeBridge.d.ts.map +1 -1
  417. package/lib/typescript/module/src/hooks/useNativeRef.d.ts +2 -2
  418. package/lib/typescript/module/src/hooks/useNativeRef.d.ts.map +1 -1
  419. package/lib/typescript/module/src/hooks/useOnce.d.ts +1 -2
  420. package/lib/typescript/module/src/hooks/useOnce.d.ts.map +1 -1
  421. package/lib/typescript/module/src/index.d.ts +3 -0
  422. package/lib/typescript/module/src/index.d.ts.map +1 -1
  423. package/lib/typescript/module/src/modules/location/LocationManager.d.ts +33 -0
  424. package/lib/typescript/module/src/modules/location/LocationManager.d.ts.map +1 -0
  425. package/lib/typescript/module/src/modules/offline/OfflineCreatePackOptions.d.ts +1 -2
  426. package/lib/typescript/module/src/modules/offline/OfflineCreatePackOptions.d.ts.map +1 -1
  427. package/lib/typescript/{commonjs/src/modules/offline/offlineManager.d.ts → module/src/modules/offline/OfflineManager.d.ts} +27 -37
  428. package/lib/typescript/module/src/modules/offline/OfflineManager.d.ts.map +1 -0
  429. package/lib/typescript/module/src/modules/offline/OfflinePack.d.ts +3 -4
  430. package/lib/typescript/module/src/modules/offline/OfflinePack.d.ts.map +1 -1
  431. package/lib/typescript/{commonjs/src/modules/snapshot/snapshotManager.d.ts → module/src/modules/snapshot/SnapshotManager.d.ts} +9 -9
  432. package/lib/typescript/module/src/modules/snapshot/SnapshotManager.d.ts.map +1 -0
  433. package/lib/typescript/module/src/modules/snapshot/SnapshotOptions.d.ts +1 -1
  434. package/lib/typescript/module/src/modules/snapshot/SnapshotOptions.d.ts.map +1 -1
  435. package/lib/typescript/module/src/plugin/MapLibrePluginProps.d.ts +77 -0
  436. package/lib/typescript/module/src/plugin/MapLibrePluginProps.d.ts.map +1 -0
  437. package/lib/typescript/module/src/plugin/android.d.ts +16 -0
  438. package/lib/typescript/module/src/plugin/android.d.ts.map +1 -0
  439. package/lib/typescript/module/src/plugin/ios.d.ts +17 -0
  440. package/lib/typescript/module/src/plugin/ios.d.ts.map +1 -0
  441. package/lib/typescript/module/src/plugin/withMapLibre.d.ts +5 -0
  442. package/lib/typescript/module/src/plugin/withMapLibre.d.ts.map +1 -0
  443. package/lib/typescript/module/src/types/MapLibreRNStyles.d.ts +960 -0
  444. package/lib/typescript/module/src/types/MapLibreRNStyles.d.ts.map +1 -0
  445. package/lib/typescript/module/src/utils/BridgeValue.d.ts +1 -1
  446. package/lib/typescript/module/src/utils/BridgeValue.d.ts.map +1 -1
  447. package/lib/typescript/module/src/utils/Logger.d.ts +2 -2
  448. package/lib/typescript/module/src/utils/Logger.d.ts.map +1 -1
  449. package/lib/typescript/module/src/utils/StyleValue.d.ts +2 -2
  450. package/lib/typescript/module/src/utils/StyleValue.d.ts.map +1 -1
  451. package/lib/typescript/module/src/utils/animated/AbstractAnimatedCoordinates.d.ts +2 -2
  452. package/lib/typescript/module/src/utils/animated/AbstractAnimatedCoordinates.d.ts.map +1 -1
  453. package/lib/typescript/module/src/utils/animated/Animated.d.ts +19 -19
  454. package/lib/typescript/module/src/utils/animated/Animated.d.ts.map +1 -1
  455. package/lib/typescript/module/src/utils/animated/AnimatedCoordinatesArray.d.ts +3 -3
  456. package/lib/typescript/module/src/utils/animated/AnimatedCoordinatesArray.d.ts.map +1 -1
  457. package/lib/typescript/module/src/utils/animated/AnimatedExtractCoordinateFromArray.d.ts +1 -1
  458. package/lib/typescript/module/src/utils/animated/AnimatedExtractCoordinateFromArray.d.ts.map +1 -1
  459. package/lib/typescript/module/src/utils/animated/AnimatedPoint.d.ts +1 -1
  460. package/lib/typescript/module/src/utils/animated/AnimatedPoint.d.ts.map +1 -1
  461. package/lib/typescript/module/src/utils/animated/AnimatedRouteCoordinatesArray.d.ts +2 -2
  462. package/lib/typescript/module/src/utils/animated/AnimatedRouteCoordinatesArray.d.ts.map +1 -1
  463. package/lib/typescript/module/src/utils/animated/AnimatedShape.d.ts +5 -5
  464. package/lib/typescript/module/src/utils/animated/AnimatedShape.d.ts.map +1 -1
  465. package/lib/typescript/module/src/utils/filterUtils.d.ts +1 -1
  466. package/lib/typescript/module/src/utils/filterUtils.d.ts.map +1 -1
  467. package/lib/typescript/module/src/utils/getStylePropertyType.d.ts +35 -0
  468. package/lib/typescript/module/src/utils/getStylePropertyType.d.ts.map +1 -0
  469. package/maplibre-react-native.podspec +15 -14
  470. package/package.json +17 -14
  471. package/src/MLRNModule.ts +24 -10
  472. package/src/MapLibreRN.ts +66 -49
  473. package/src/components/Annotation.tsx +12 -14
  474. package/src/components/BackgroundLayer.tsx +7 -9
  475. package/src/components/Callout.tsx +8 -10
  476. package/src/components/Camera.tsx +154 -78
  477. package/src/components/CircleLayer.tsx +7 -9
  478. package/src/components/FillExtrusionLayer.tsx +7 -9
  479. package/src/components/FillLayer.tsx +7 -9
  480. package/src/components/HeadingIndicator.tsx +2 -6
  481. package/src/components/HeatmapLayer.tsx +7 -9
  482. package/src/components/ImageSource.tsx +4 -6
  483. package/src/components/Images.tsx +8 -19
  484. package/src/components/Light.tsx +5 -7
  485. package/src/components/LineLayer.tsx +7 -9
  486. package/src/components/MapView.tsx +85 -105
  487. package/src/components/MarkerView.tsx +4 -6
  488. package/src/components/NativeUserLocation.tsx +1 -4
  489. package/src/components/PointAnnotation.tsx +10 -11
  490. package/src/components/RasterLayer.tsx +7 -9
  491. package/src/components/RasterSource.tsx +7 -9
  492. package/src/components/ShapeSource.tsx +22 -95
  493. package/src/components/SymbolLayer.tsx +12 -41
  494. package/src/components/UserLocation.tsx +21 -22
  495. package/src/components/VectorSource.tsx +12 -35
  496. package/src/hooks/useAbstractLayer.ts +8 -8
  497. package/src/hooks/useAbstractSource.ts +6 -6
  498. package/src/hooks/useNativeBridge.ts +9 -6
  499. package/src/hooks/useNativeRef.ts +2 -2
  500. package/src/hooks/useOnce.ts +3 -3
  501. package/src/index.ts +3 -0
  502. package/src/modules/location/{locationManager.ts → LocationManager.ts} +16 -15
  503. package/src/modules/offline/OfflineCreatePackOptions.ts +1 -3
  504. package/src/modules/offline/{offlineManager.ts → OfflineManager.ts} +32 -45
  505. package/src/modules/offline/OfflinePack.ts +3 -5
  506. package/src/modules/snapshot/{snapshotManager.ts → SnapshotManager.ts} +9 -9
  507. package/src/modules/snapshot/SnapshotOptions.ts +2 -4
  508. package/src/plugin/MapLibrePluginProps.ts +83 -0
  509. package/src/plugin/android.ts +64 -0
  510. package/src/plugin/ios.ts +166 -0
  511. package/src/plugin/withMapLibre.ts +30 -0
  512. package/src/{utils/MapLibreRNStyles.d.ts → types/MapLibreRNStyles.ts} +86 -406
  513. package/src/utils/BridgeValue.ts +1 -1
  514. package/src/utils/Logger.ts +1 -3
  515. package/src/utils/StyleValue.ts +6 -5
  516. package/src/utils/animated/AbstractAnimatedCoordinates.ts +3 -3
  517. package/src/utils/animated/Animated.ts +23 -21
  518. package/src/utils/animated/AnimatedCoordinatesArray.ts +3 -4
  519. package/src/utils/animated/AnimatedExtractCoordinateFromArray.ts +1 -1
  520. package/src/utils/animated/AnimatedPoint.ts +0 -2
  521. package/src/utils/animated/AnimatedRouteCoordinatesArray.ts +3 -2
  522. package/src/utils/animated/AnimatedShape.ts +4 -6
  523. package/src/utils/filterUtils.ts +1 -1
  524. package/src/utils/getStylePropertyType.ts +265 -0
  525. package/android/src/main/res/values/strings.xml +0 -3
  526. package/lib/commonjs/components/Style.js +0 -266
  527. package/lib/commonjs/components/Style.js.map +0 -1
  528. package/lib/commonjs/modules/location/locationManager.js.map +0 -1
  529. package/lib/commonjs/modules/offline/offlineManager.js.map +0 -1
  530. package/lib/commonjs/modules/snapshot/snapshotManager.js.map +0 -1
  531. package/lib/commonjs/types/StyleURL.js +0 -11
  532. package/lib/commonjs/types/StyleURL.js.map +0 -1
  533. package/lib/commonjs/utils/MapLibreRNStyles.d.js +0 -181
  534. package/lib/commonjs/utils/MapLibreRNStyles.d.js.map +0 -1
  535. package/lib/commonjs/utils/deprecation.js +0 -31
  536. package/lib/commonjs/utils/deprecation.js.map +0 -1
  537. package/lib/commonjs/utils/styleMap.js +0 -255
  538. package/lib/commonjs/utils/styleMap.js.map +0 -1
  539. package/lib/module/components/Style.js +0 -261
  540. package/lib/module/components/Style.js.map +0 -1
  541. package/lib/module/modules/location/locationManager.js.map +0 -1
  542. package/lib/module/modules/offline/offlineManager.js.map +0 -1
  543. package/lib/module/types/StyleURL.js +0 -7
  544. package/lib/module/types/StyleURL.js.map +0 -1
  545. package/lib/module/utils/MapLibreRNStyles.d.js +0 -180
  546. package/lib/module/utils/MapLibreRNStyles.d.js.map +0 -1
  547. package/lib/module/utils/deprecation.js +0 -27
  548. package/lib/module/utils/deprecation.js.map +0 -1
  549. package/lib/module/utils/styleMap.js +0 -249
  550. package/lib/module/utils/styleMap.js.map +0 -1
  551. package/lib/typescript/commonjs/jest.config.d.ts +0 -2
  552. package/lib/typescript/commonjs/jest.config.d.ts.map +0 -1
  553. package/lib/typescript/commonjs/src/components/Style.d.ts +0 -81
  554. package/lib/typescript/commonjs/src/components/Style.d.ts.map +0 -1
  555. package/lib/typescript/commonjs/src/modules/location/locationManager.d.ts +0 -64
  556. package/lib/typescript/commonjs/src/modules/location/locationManager.d.ts.map +0 -1
  557. package/lib/typescript/commonjs/src/modules/offline/offlineManager.d.ts.map +0 -1
  558. package/lib/typescript/commonjs/src/modules/snapshot/snapshotManager.d.ts.map +0 -1
  559. package/lib/typescript/commonjs/src/types/StyleURL.d.ts +0 -4
  560. package/lib/typescript/commonjs/src/types/StyleURL.d.ts.map +0 -1
  561. package/lib/typescript/commonjs/src/utils/deprecation.d.ts +0 -6
  562. package/lib/typescript/commonjs/src/utils/deprecation.d.ts.map +0 -1
  563. package/lib/typescript/commonjs/src/utils/styleMap.d.ts +0 -231
  564. package/lib/typescript/commonjs/src/utils/styleMap.d.ts.map +0 -1
  565. package/lib/typescript/module/jest.config.d.ts +0 -2
  566. package/lib/typescript/module/jest.config.d.ts.map +0 -1
  567. package/lib/typescript/module/src/components/Style.d.ts +0 -81
  568. package/lib/typescript/module/src/components/Style.d.ts.map +0 -1
  569. package/lib/typescript/module/src/modules/location/locationManager.d.ts +0 -64
  570. package/lib/typescript/module/src/modules/location/locationManager.d.ts.map +0 -1
  571. package/lib/typescript/module/src/modules/offline/offlineManager.d.ts.map +0 -1
  572. package/lib/typescript/module/src/modules/snapshot/snapshotManager.d.ts.map +0 -1
  573. package/lib/typescript/module/src/types/StyleURL.d.ts +0 -4
  574. package/lib/typescript/module/src/types/StyleURL.d.ts.map +0 -1
  575. package/lib/typescript/module/src/utils/deprecation.d.ts +0 -6
  576. package/lib/typescript/module/src/utils/deprecation.d.ts.map +0 -1
  577. package/lib/typescript/module/src/utils/styleMap.d.ts +0 -231
  578. package/lib/typescript/module/src/utils/styleMap.d.ts.map +0 -1
  579. package/plugin/build/withMapLibre.d.ts +0 -12
  580. package/plugin/build/withMapLibre.js +0 -148
  581. package/src/components/Style.tsx +0 -371
  582. package/src/types/StyleURL.ts +0 -3
  583. package/src/utils/deprecation.ts +0 -31
  584. package/src/utils/styleMap.ts +0 -265
@@ -6,34 +6,49 @@ import com.facebook.react.bridge.WritableArray;
6
6
  import com.facebook.react.bridge.WritableMap;
7
7
  import com.facebook.react.bridge.WritableNativeArray;
8
8
  import com.facebook.react.bridge.WritableNativeMap;
9
+ import com.google.gson.JsonObject;
10
+
9
11
  import org.maplibre.geojson.Feature;
10
12
  import org.maplibre.geojson.FeatureCollection;
11
13
  import org.maplibre.geojson.Geometry;
12
14
  import org.maplibre.geojson.GeometryCollection;
15
+ import org.maplibre.geojson.MultiLineString;
13
16
  import org.maplibre.geojson.LineString;
14
17
  import org.maplibre.geojson.MultiPoint;
15
18
  import org.maplibre.geojson.Point;
19
+ import org.maplibre.geojson.MultiPolygon;
16
20
  import org.maplibre.geojson.Polygon;
17
21
  import org.maplibre.android.geometry.LatLng;
18
22
  import org.maplibre.android.geometry.LatLngBounds;
19
23
  import org.maplibre.android.geometry.LatLngQuad;
20
- import org.maplibre.android.style.light.Position;
24
+ import org.maplibre.android.log.Logger;
21
25
  import org.maplibre.turf.TurfMeasurement;
22
26
 
23
27
  import java.util.ArrayList;
24
28
  import java.util.List;
29
+ import java.util.stream.Collectors;
25
30
 
26
31
  public class GeoJSONUtils {
32
+ public static final String LOG_TAG = "GeoJSONUtils";
33
+
27
34
  public static WritableMap fromFeature(Feature feature) {
28
35
  WritableMap map = Arguments.createMap();
29
36
  map.putString("type", "Feature");
30
37
  map.putString("id", feature.id());
31
38
 
32
- WritableMap geometry = fromGeometry(feature.geometry());
33
- map.putMap("geometry", geometry);
39
+ Geometry geometry = feature.geometry();
40
+ if (geometry == null) {
41
+ map.putNull("geometry");
42
+ } else {
43
+ map.putMap("geometry", fromGeometry(geometry));
44
+ }
34
45
 
35
- WritableMap properties = ConvertUtils.toWritableMap(feature.properties());
36
- map.putMap("properties", properties);
46
+ JsonObject properties = feature.properties();
47
+ if(properties == null) {
48
+ map.putNull("properties");
49
+ } else {
50
+ map.putMap("properties", ConvertUtils.toWritableMap(properties));
51
+ }
37
52
 
38
53
  return map;
39
54
  }
@@ -41,16 +56,20 @@ public class GeoJSONUtils {
41
56
  public static WritableMap fromGeometry(Geometry geometry) {
42
57
  final String type = geometry.type();
43
58
 
44
- switch (type) {
45
- case "Point":
46
- return fromPoint((Point) geometry);
47
- case "LineString":
48
- return fromLineString((LineString) geometry);
49
- case "Polygon":
50
- return fromPolygon((Polygon) geometry);
51
- default:
52
- return null;
53
- }
59
+ return switch (type) {
60
+ case "Point" -> fromPoint((Point) geometry);
61
+ case "LineString" -> fromLineString((LineString) geometry);
62
+ case "Polygon" -> fromPolygon((Polygon) geometry);
63
+ case "MultiPoint" -> fromMultiPoint((MultiPoint) geometry);
64
+ case "MultiLineString" -> fromMultiLineString((MultiLineString) geometry);
65
+ case "MultiPolygon" -> fromMultiPolygon((MultiPolygon) geometry);
66
+ case "GeometryCollection" -> fromGeometryCollection((GeometryCollection) geometry);
67
+ default -> {
68
+ Logger.w(LOG_TAG, "GeoJSONUtils.fromGeometry unsupported type: \"" + type + "\"");
69
+
70
+ yield null;
71
+ }
72
+ };
54
73
  }
55
74
 
56
75
  public static WritableMap fromPoint(Point point) {
@@ -74,6 +93,44 @@ public class GeoJSONUtils {
74
93
  return map;
75
94
  }
76
95
 
96
+ public static WritableMap fromMultiPoint(MultiPoint multiPoint) {
97
+ WritableMap map = Arguments.createMap();
98
+ map.putString("type", "MultiPoint");
99
+ map.putArray("coordinates", getCoordinates(multiPoint));
100
+ return map;
101
+ }
102
+
103
+ public static WritableMap fromMultiLineString(MultiLineString multiLineString) {
104
+ WritableMap map = Arguments.createMap();
105
+ map.putString("type", "MultiLineString");
106
+ map.putArray("coordinates", getCoordinates(multiLineString));
107
+ return map;
108
+ }
109
+
110
+ public static WritableMap fromMultiPolygon(MultiPolygon multiPolygon) {
111
+ WritableMap map = Arguments.createMap();
112
+ map.putString("type", "MultiPolygon");
113
+ map.putArray("coordinates", getCoordinates(multiPolygon));
114
+ return map;
115
+ }
116
+
117
+ public static WritableMap fromGeometryCollection(GeometryCollection geometryCollection) {
118
+ WritableMap map = Arguments.createMap();
119
+ map.putString("type", "GeometryCollection");
120
+
121
+ map.putArray("geometries",
122
+ Arguments.fromList(
123
+ geometryCollection
124
+ .geometries()
125
+ .stream()
126
+ .map(GeoJSONUtils::fromGeometry)
127
+ .collect(Collectors.toList())
128
+ )
129
+ );
130
+
131
+ return map;
132
+ }
133
+
77
134
  public static WritableArray getCoordinates(Point point) {
78
135
  return Arguments.fromArray(pointToDoubleArray(point));
79
136
  }
@@ -93,9 +150,6 @@ public class GeoJSONUtils {
93
150
  WritableArray array = Arguments.createArray();
94
151
 
95
152
  List<List<Point>> points = polygon.coordinates();
96
- if (points == null) {
97
- return array;
98
- }
99
153
 
100
154
  for (List<Point> curPoint : points) {
101
155
  WritableArray innerArray = Arguments.createArray();
@@ -110,6 +164,57 @@ public class GeoJSONUtils {
110
164
  return array;
111
165
  }
112
166
 
167
+ public static WritableArray getCoordinates(MultiPoint multiPoint) {
168
+ WritableArray array = Arguments.createArray();
169
+
170
+ List<Point> points = multiPoint.coordinates();
171
+ for (Point point : points) {
172
+ array.pushArray(Arguments.fromArray(pointToDoubleArray(point)));
173
+ }
174
+
175
+ return array;
176
+ }
177
+
178
+ public static WritableArray getCoordinates(MultiLineString multiLineString) {
179
+ WritableArray array = Arguments.createArray();
180
+
181
+ List<List<Point>> lines = multiLineString.coordinates();
182
+ for (List<Point> line : lines) {
183
+ WritableArray lineArray = Arguments.createArray();
184
+
185
+ for (Point point : line) {
186
+ lineArray.pushArray(Arguments.fromArray(pointToDoubleArray(point)));
187
+ }
188
+
189
+ array.pushArray(lineArray);
190
+ }
191
+
192
+ return array;
193
+ }
194
+
195
+ public static WritableArray getCoordinates(MultiPolygon multiPolygon) {
196
+ WritableArray array = Arguments.createArray();
197
+
198
+ List<List<List<Point>>> polygons = multiPolygon.coordinates();
199
+ for (List<List<Point>> polygon : polygons) {
200
+ WritableArray polygonArray = Arguments.createArray();
201
+
202
+ for (List<Point> ring : polygon) {
203
+ WritableArray ringArray = Arguments.createArray();
204
+
205
+ for (Point point : ring) {
206
+ ringArray.pushArray(Arguments.fromArray(pointToDoubleArray(point)));
207
+ }
208
+
209
+ polygonArray.pushArray(ringArray);
210
+ }
211
+
212
+ array.pushArray(polygonArray);
213
+ }
214
+
215
+ return array;
216
+ }
217
+
113
218
  public static WritableMap toPointFeature(LatLng latLng, WritableMap properties) {
114
219
  WritableMap map = new WritableNativeMap();
115
220
  map.putString("type", "Feature");
@@ -0,0 +1,12 @@
1
+ package org.maplibre.reactnative.location.engine;
2
+
3
+ import android.content.Context;
4
+
5
+ import org.maplibre.android.location.engine.LocationEngine;
6
+
7
+ public class LocationEngineProvider implements LocationEngineProvidable {
8
+ @Override
9
+ public LocationEngine getLocationEngine(Context context) {
10
+ return new DefaultLocationEngineProvider().getLocationEngine(context);
11
+ }
12
+ }
@@ -0,0 +1,151 @@
1
+ package org.maplibre.reactnative.location.engine;
2
+
3
+ import android.annotation.SuppressLint;
4
+ import android.app.PendingIntent;
5
+ import android.content.Context;
6
+ import android.location.Location;
7
+ import android.os.Looper;
8
+
9
+ import androidx.annotation.NonNull;
10
+ import androidx.annotation.Nullable;
11
+ import androidx.annotation.VisibleForTesting;
12
+
13
+ import com.google.android.gms.location.FusedLocationProviderClient;
14
+ import com.google.android.gms.location.LocationCallback;
15
+ import com.google.android.gms.location.LocationRequest;
16
+ import com.google.android.gms.location.LocationResult;
17
+ import com.google.android.gms.location.LocationServices;
18
+ import com.google.android.gms.location.Priority;
19
+ import com.google.android.gms.tasks.OnFailureListener;
20
+ import com.google.android.gms.tasks.OnSuccessListener;
21
+
22
+ import org.maplibre.android.location.engine.LocationEngineCallback;
23
+ import org.maplibre.android.location.engine.LocationEngineImpl;
24
+ import org.maplibre.android.location.engine.LocationEngineRequest;
25
+ import org.maplibre.android.location.engine.LocationEngineResult;
26
+
27
+ import java.util.Collections;
28
+ import java.util.List;
29
+
30
+ /**
31
+ * Wraps implementation of Fused Location Provider
32
+ */
33
+ public class GoogleLocationEngineImpl implements LocationEngineImpl<LocationCallback> {
34
+ private final FusedLocationProviderClient fusedLocationProviderClient;
35
+
36
+ @VisibleForTesting
37
+ GoogleLocationEngineImpl(FusedLocationProviderClient fusedLocationProviderClient) {
38
+ this.fusedLocationProviderClient = fusedLocationProviderClient;
39
+ }
40
+
41
+ public GoogleLocationEngineImpl(@NonNull Context context) {
42
+ this.fusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(context);
43
+ }
44
+
45
+ @NonNull
46
+ @Override
47
+ public LocationCallback createListener(LocationEngineCallback<LocationEngineResult> callback) {
48
+ return new GoogleLocationEngineCallbackTransport(callback);
49
+ }
50
+
51
+ @SuppressLint("MissingPermission")
52
+ @Override
53
+ public void getLastLocation(@NonNull LocationEngineCallback<LocationEngineResult> callback)
54
+ throws SecurityException {
55
+ GoogleLastLocationEngineCallbackTransport transport =
56
+ new GoogleLastLocationEngineCallbackTransport(callback);
57
+ fusedLocationProviderClient.getLastLocation().addOnSuccessListener(transport).addOnFailureListener(transport);
58
+ }
59
+
60
+ @SuppressLint("MissingPermission")
61
+ @Override
62
+ public void requestLocationUpdates(@NonNull LocationEngineRequest request,
63
+ @NonNull LocationCallback listener,
64
+ @Nullable Looper looper) throws SecurityException {
65
+ fusedLocationProviderClient.requestLocationUpdates(toGMSLocationRequest(request), listener, looper);
66
+ }
67
+
68
+ @SuppressLint("MissingPermission")
69
+ @Override
70
+ public void requestLocationUpdates(@NonNull LocationEngineRequest request,
71
+ @NonNull PendingIntent pendingIntent) throws SecurityException {
72
+ fusedLocationProviderClient.requestLocationUpdates(toGMSLocationRequest(request), pendingIntent);
73
+ }
74
+
75
+ @Override
76
+ public void removeLocationUpdates(@NonNull LocationCallback listener) {
77
+ if (listener != null) {
78
+ fusedLocationProviderClient.removeLocationUpdates(listener);
79
+ }
80
+ }
81
+
82
+ @Override
83
+ public void removeLocationUpdates(PendingIntent pendingIntent) {
84
+ if (pendingIntent != null) {
85
+ fusedLocationProviderClient.removeLocationUpdates(pendingIntent);
86
+ }
87
+ }
88
+
89
+ private static LocationRequest toGMSLocationRequest(LocationEngineRequest request) {
90
+ LocationRequest.Builder builder = new LocationRequest.Builder(request.getInterval());
91
+ builder.setMinUpdateIntervalMillis(request.getFastestInterval());
92
+ builder.setMinUpdateDistanceMeters(request.getDisplacement());
93
+ builder.setMaxUpdateDelayMillis(request.getMaxWaitTime());
94
+ builder.setPriority(toGMSLocationPriority(request.getPriority()));
95
+ return builder.build();
96
+ }
97
+
98
+ private static int toGMSLocationPriority(int enginePriority) {
99
+ switch (enginePriority) {
100
+ case LocationEngineRequest.PRIORITY_HIGH_ACCURACY:
101
+ return Priority.PRIORITY_HIGH_ACCURACY;
102
+ case LocationEngineRequest.PRIORITY_BALANCED_POWER_ACCURACY:
103
+ return Priority.PRIORITY_BALANCED_POWER_ACCURACY;
104
+ case LocationEngineRequest.PRIORITY_LOW_POWER:
105
+ return Priority.PRIORITY_LOW_POWER;
106
+ case LocationEngineRequest.PRIORITY_NO_POWER:
107
+ default:
108
+ return Priority.PRIORITY_PASSIVE;
109
+ }
110
+ }
111
+
112
+ private static final class GoogleLocationEngineCallbackTransport extends LocationCallback {
113
+ private final LocationEngineCallback<LocationEngineResult> callback;
114
+
115
+ GoogleLocationEngineCallbackTransport(LocationEngineCallback<LocationEngineResult> callback) {
116
+ this.callback = callback;
117
+ }
118
+
119
+ @Override
120
+ public void onLocationResult(LocationResult locationResult) {
121
+ super.onLocationResult(locationResult);
122
+ List<Location> locations = locationResult.getLocations();
123
+ if (!locations.isEmpty()) {
124
+ callback.onSuccess(LocationEngineResult.create(locations));
125
+ } else {
126
+ callback.onFailure(new Exception("Unavailable location"));
127
+ }
128
+ }
129
+ }
130
+
131
+ @VisibleForTesting
132
+ static final class GoogleLastLocationEngineCallbackTransport
133
+ implements OnSuccessListener<Location>, OnFailureListener {
134
+ private final LocationEngineCallback<LocationEngineResult> callback;
135
+
136
+ GoogleLastLocationEngineCallbackTransport(LocationEngineCallback<LocationEngineResult> callback) {
137
+ this.callback = callback;
138
+ }
139
+
140
+ @Override
141
+ public void onSuccess(Location location) {
142
+ callback.onSuccess(location != null ? LocationEngineResult.create(location) :
143
+ LocationEngineResult.create(Collections.<Location>emptyList()));
144
+ }
145
+
146
+ @Override
147
+ public void onFailure(@NonNull Exception e) {
148
+ callback.onFailure(e);
149
+ }
150
+ }
151
+ }
@@ -0,0 +1,24 @@
1
+ package org.maplibre.reactnative.location.engine;
2
+
3
+ import android.content.Context;
4
+ import android.util.Log;
5
+
6
+ import com.google.android.gms.common.ConnectionResult;
7
+ import com.google.android.gms.common.GoogleApiAvailability;
8
+
9
+ import org.maplibre.android.location.engine.LocationEngine;
10
+ import org.maplibre.android.location.engine.LocationEngineProxy;
11
+
12
+ public class GoogleLocationEngineProvider implements LocationEngineProvidable {
13
+ private static final String LOG_TAG = "GoogleLocationEngineProvider";
14
+
15
+ public LocationEngine getLocationEngine(Context context) {
16
+ if (GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(context) == ConnectionResult.SUCCESS) {
17
+ LocationEngine locationEngine = new LocationEngineProxy<>(new GoogleLocationEngineImpl(context.getApplicationContext()));
18
+ Log.d(LOG_TAG, "GoogleLocationEngine will be used.");
19
+ return locationEngine;
20
+ } else {
21
+ return new DefaultLocationEngineProvider().getLocationEngine(context);
22
+ }
23
+ }
24
+ }
@@ -0,0 +1,12 @@
1
+ package org.maplibre.reactnative.location.engine;
2
+
3
+ import android.content.Context;
4
+
5
+ import org.maplibre.android.location.engine.LocationEngine;
6
+
7
+ public class LocationEngineProvider implements LocationEngineProvidable {
8
+ @Override
9
+ public LocationEngine getLocationEngine(Context context) {
10
+ return new GoogleLocationEngineProvider().getLocationEngine(context);
11
+ }
12
+ }
package/app.plugin.js CHANGED
@@ -1 +1 @@
1
- module.exports = require("./plugin/build/withMapLibre");
1
+ module.exports = require("./lib/commonjs/plugin/withMapLibre");
@@ -1,5 +1,4 @@
1
1
  #import "MLRNLayer.h"
2
- @import MapLibre;
3
2
 
4
3
  @interface MLRNBackgroundLayer : MLRNLayer
5
4
 
@@ -179,11 +179,6 @@
179
179
  return;
180
180
  }
181
181
 
182
- if (_map.userTrackingMode != [self _userTrackingMode]) {
183
- _map.showsUserLocation = [self _userTrackingMode] != MLNUserTrackingModeNone;
184
- _map.userTrackingMode = [self _userTrackingMode];
185
- }
186
-
187
182
  MLNMapCamera *camera = _map.camera;
188
183
  if (_followPitch != nil && [_followPitch floatValue] >= 0.0) {
189
184
  camera.pitch = [_followPitch floatValue];
@@ -202,8 +197,12 @@
202
197
  if (_followZoomLevel != nil && [_followZoomLevel doubleValue] >= 0.0) {
203
198
  camera.altitude = [_map altitudeFromZoom:[_followZoomLevel doubleValue]];
204
199
  }
205
-
206
- [_map setCamera:camera animated:YES];
200
+
201
+ [_map setCamera:camera animated:NO];
202
+
203
+ if (_map.userTrackingMode != [self _userTrackingMode]) {
204
+ [_map setUserTrackingMode:[self _userTrackingMode] animated:NO completionHandler:nil];
205
+ }
207
206
  }
208
207
 
209
208
  - (NSUInteger)_userTrackingMode
@@ -1,5 +1,4 @@
1
1
  #import "MLRNVectorLayer.h"
2
- @import MapLibre;
3
2
 
4
3
  @interface MLRNFillExtrusionLayer : MLRNVectorLayer
5
4
 
@@ -1,5 +1,4 @@
1
1
  #import "MLRNVectorLayer.h"
2
- @import MapLibre;
3
2
 
4
3
  @interface MLRNFillLayer : MLRNVectorLayer
5
4
 
@@ -1,5 +1,6 @@
1
1
  #import "MLRNFillLayer.h"
2
2
  #import "MLRNStyle.h"
3
+
3
4
  #import <React/RCTLog.h>
4
5
 
5
6
  @implementation MLRNFillLayer
@@ -1,5 +1,4 @@
1
1
  #import "MLRNVectorLayer.h"
2
- @import MapLibre;
3
2
 
4
3
  @interface MLRNLineLayer : MLRNVectorLayer
5
4
 
@@ -47,7 +47,7 @@ typedef void (^StyleLoadedBlock) (MLNStyle* __nonnull style);
47
47
  @property (nonatomic, assign) NSInteger *reactCompassViewPosition;
48
48
  @property (nonatomic, assign) CGPoint reactCompassViewMargins;
49
49
 
50
- @property (nonatomic, copy) NSString *reactStyleURL;
50
+ @property (nonatomic, copy) NSString *reactMapStyle;
51
51
  @property (nonatomic, assign) NSInteger reactPreferredFramesPerSecond;
52
52
 
53
53
  @property (nonatomic, assign) MLNCoordinateBounds maxBounds;
@@ -374,11 +374,11 @@ static double const M2PI = M_PI * 2;
374
374
  self.contentInset = UIEdgeInsetsMake(top, left, bottom, right);
375
375
  }
376
376
 
377
- - (void)setReactStyleURL:(NSString *)reactStyleURL
377
+ - (void)setReactMapStyle:(NSString *)reactMapStyle
378
378
  {
379
- _reactStyleURL = reactStyleURL;
379
+ _reactMapStyle = reactMapStyle;
380
380
  [self _removeAllSourcesFromMap];
381
- self.styleURL = [self _getStyleURLFromKey:_reactStyleURL];
381
+ self.styleURL = [self _getStyleURLFromKey:_reactMapStyle];
382
382
  }
383
383
 
384
384
  - (void)setReactPreferredFramesPerSecond:(NSInteger)reactPreferredFramesPerSecond
@@ -500,13 +500,13 @@ static double const M2PI = M_PI * 2;
500
500
  return nil;
501
501
  }
502
502
 
503
- - (NSURL*)_getStyleURLFromKey:(NSString *)styleURL
503
+ - (NSURL*)_getStyleURLFromKey:(NSString *)mapStyle
504
504
  {
505
- NSURL *url = [NSURL URLWithString:styleURL];
505
+ NSURL *url = [NSURL URLWithString:mapStyle];
506
506
  if (url) {
507
507
  return url;
508
- } else if (RCTJSONParse(styleURL, nil)) {
509
- return [MLRNUtils styleURLFromStyleJSON:styleURL];
508
+ } else if (RCTJSONParse(mapStyle, nil)) {
509
+ return [MLRNUtils styleURLFromStyleJSON:mapStyle];
510
510
  }
511
511
  return url;
512
512
  }
@@ -80,7 +80,7 @@ RCT_REMAP_VIEW_PROPERTY(compassViewPosition, reactCompassViewPosition, NSInteger
80
80
  RCT_REMAP_VIEW_PROPERTY(compassViewMargins, reactCompassViewMargins, CGPoint)
81
81
 
82
82
  RCT_REMAP_VIEW_PROPERTY(contentInset, reactContentInset, NSArray)
83
- RCT_REMAP_VIEW_PROPERTY(styleURL, reactStyleURL, NSString)
83
+ RCT_REMAP_VIEW_PROPERTY(mapStyle, reactMapStyle, NSString)
84
84
  RCT_REMAP_VIEW_PROPERTY(preferredFramesPerSecond, reactPreferredFramesPerSecond, NSInteger)
85
85
 
86
86
  RCT_EXPORT_VIEW_PROPERTY(tintColor, UIColor)