@maydon_tech/react-native-nitro-maps 0.1.4 → 0.2.1

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 (222) hide show
  1. package/LICENSE +1 -1
  2. package/NitroMap.podspec +1 -1
  3. package/README.md +82 -9
  4. package/android/CMakeLists.txt +4 -1
  5. package/android/build.gradle +6 -2
  6. package/android/gradle.properties +4 -4
  7. package/android/src/main/cpp/ClusterEngineJNI.cpp +198 -0
  8. package/android/src/main/kotlin/com/margelo/nitro/nitromap/NitroMap.kt +397 -0
  9. package/android/src/main/kotlin/com/margelo/nitro/nitromap/NitroMapConfig.kt +53 -0
  10. package/android/src/main/{java → kotlin}/com/margelo/nitro/nitromap/NitroMapPackage.kt +4 -4
  11. package/android/src/main/kotlin/com/margelo/nitro/nitromap/NitroMapView.kt +73 -0
  12. package/android/src/main/kotlin/com/margelo/nitro/nitromap/UserLocationManager.kt +295 -0
  13. package/android/src/main/kotlin/com/margelo/nitro/nitromap/clustering/ClusterIconRenderer.kt +111 -0
  14. package/android/src/main/kotlin/com/margelo/nitro/nitromap/clustering/ClusteringManager.kt +104 -0
  15. package/android/src/main/kotlin/com/margelo/nitro/nitromap/clustering/NitroClusterEngine.kt +166 -0
  16. package/android/src/main/kotlin/com/margelo/nitro/nitromap/markers/MarkerIconFactory.kt +303 -0
  17. package/android/src/main/kotlin/com/margelo/nitro/nitromap/markers/MarkerSelectionHandler.kt +72 -0
  18. package/android/src/main/kotlin/com/margelo/nitro/nitromap/markers/PriceMarkerRenderer.kt +159 -0
  19. package/android/src/main/kotlin/com/margelo/nitro/nitromap/providers/MapProviderFactory.kt +24 -0
  20. package/android/src/main/kotlin/com/margelo/nitro/nitromap/providers/MapProviderInterface.kt +128 -0
  21. package/android/src/main/kotlin/com/margelo/nitro/nitromap/providers/google/GoogleMapDelegate.kt +317 -0
  22. package/android/src/main/kotlin/com/margelo/nitro/nitromap/providers/google/GoogleMapProvider+Clustering.kt +524 -0
  23. package/android/src/main/kotlin/com/margelo/nitro/nitromap/providers/google/GoogleMapProvider+Markers.kt +358 -0
  24. package/android/src/main/kotlin/com/margelo/nitro/nitromap/providers/google/GoogleMapProvider+Overlays.kt +272 -0
  25. package/android/src/main/kotlin/com/margelo/nitro/nitromap/providers/google/GoogleMapProvider+UserLocation.kt +296 -0
  26. package/android/src/main/kotlin/com/margelo/nitro/nitromap/providers/google/GoogleMapProvider.kt +815 -0
  27. package/android/src/main/kotlin/com/margelo/nitro/nitromap/providers/google/MarkerTagData.kt +19 -0
  28. package/ios/Location/NitroLocationManager.swift +116 -0
  29. package/ios/MarkerRenderer/MarkerIconFactory.swift +1 -3
  30. package/ios/MarkerRenderer/PriceMarkerRenderer.swift +10 -6
  31. package/ios/NitroMap.swift +279 -13
  32. package/ios/NitroMapConfig/NitroMapConfig.swift +45 -0
  33. package/ios/Providers/{GoogleMapDelegate.swift → Google/GoogleMapDelegate.swift} +48 -23
  34. package/ios/Providers/Google/GoogleMapProvider+Camera.swift +180 -0
  35. package/ios/Providers/Google/GoogleMapProvider+Clustering.swift +541 -0
  36. package/ios/Providers/Google/GoogleMapProvider+Markers.swift +270 -0
  37. package/ios/Providers/Google/GoogleMapProvider+Overlays.swift +245 -0
  38. package/ios/Providers/Google/GoogleMapProvider+UserLocation.swift +180 -0
  39. package/ios/Providers/Google/GoogleMapProvider.swift +342 -0
  40. package/ios/Providers/MapProviderFactory.swift +17 -0
  41. package/ios/Providers/MapProviderProtocol.swift +48 -1
  42. package/ios/Shared/ClusterConfig+Factory.swift +2 -2
  43. package/ios/Shared/MapStyleProvider.swift +6 -4
  44. package/ios/Shared/MarkerSelectionHandler.swift +4 -1
  45. package/ios/Utils/ColorValueExtension.swift +46 -67
  46. package/lib/module/components/ImageMarker.js +39 -29
  47. package/lib/module/components/ImageMarker.js.map +1 -1
  48. package/lib/module/components/Marker.js +118 -0
  49. package/lib/module/components/Marker.js.map +1 -0
  50. package/lib/module/components/NitroCircle.js +92 -0
  51. package/lib/module/components/NitroCircle.js.map +1 -0
  52. package/lib/module/components/NitroMap.js +216 -76
  53. package/lib/module/components/NitroMap.js.map +1 -1
  54. package/lib/module/components/NitroPolygon.js +137 -0
  55. package/lib/module/components/NitroPolygon.js.map +1 -0
  56. package/lib/module/components/NitroPolyline.js +115 -0
  57. package/lib/module/components/NitroPolyline.js.map +1 -0
  58. package/lib/module/components/PriceMarker.js +16 -29
  59. package/lib/module/components/PriceMarker.js.map +1 -1
  60. package/lib/module/context/NitroMapContext.js.map +1 -1
  61. package/lib/module/hooks/useNitroCircle.js +18 -0
  62. package/lib/module/hooks/useNitroCircle.js.map +1 -0
  63. package/lib/module/hooks/useNitroMarker.js +26 -9
  64. package/lib/module/hooks/useNitroMarker.js.map +1 -1
  65. package/lib/module/hooks/useNitroOverlay.js +59 -0
  66. package/lib/module/hooks/useNitroOverlay.js.map +1 -0
  67. package/lib/module/hooks/useNitroPolygon.js +18 -0
  68. package/lib/module/hooks/useNitroPolygon.js.map +1 -0
  69. package/lib/module/hooks/useNitroPolyline.js +18 -0
  70. package/lib/module/hooks/useNitroPolyline.js.map +1 -0
  71. package/lib/module/index.js +5 -0
  72. package/lib/module/index.js.map +1 -1
  73. package/lib/module/types/overlay.js +4 -0
  74. package/lib/module/types/overlay.js.map +1 -0
  75. package/lib/module/types/theme.js +4 -0
  76. package/lib/module/types/theme.js.map +1 -0
  77. package/lib/module/utils/colors.js +41 -13
  78. package/lib/module/utils/colors.js.map +1 -1
  79. package/lib/module/utils/validation.js +45 -0
  80. package/lib/module/utils/validation.js.map +1 -0
  81. package/lib/typescript/src/components/ImageMarker.d.ts.map +1 -1
  82. package/lib/typescript/src/components/Marker.d.ts +34 -0
  83. package/lib/typescript/src/components/Marker.d.ts.map +1 -0
  84. package/lib/typescript/src/components/NitroCircle.d.ts +70 -0
  85. package/lib/typescript/src/components/NitroCircle.d.ts.map +1 -0
  86. package/lib/typescript/src/components/NitroMap.d.ts +60 -3
  87. package/lib/typescript/src/components/NitroMap.d.ts.map +1 -1
  88. package/lib/typescript/src/components/NitroPolygon.d.ts +86 -0
  89. package/lib/typescript/src/components/NitroPolygon.d.ts.map +1 -0
  90. package/lib/typescript/src/components/NitroPolyline.d.ts +84 -0
  91. package/lib/typescript/src/components/NitroPolyline.d.ts.map +1 -0
  92. package/lib/typescript/src/components/PriceMarker.d.ts +0 -5
  93. package/lib/typescript/src/components/PriceMarker.d.ts.map +1 -1
  94. package/lib/typescript/src/context/NitroMapContext.d.ts +2 -0
  95. package/lib/typescript/src/context/NitroMapContext.d.ts.map +1 -1
  96. package/lib/typescript/src/hooks/useNitroCircle.d.ts +7 -0
  97. package/lib/typescript/src/hooks/useNitroCircle.d.ts.map +1 -0
  98. package/lib/typescript/src/hooks/useNitroMarker.d.ts +20 -0
  99. package/lib/typescript/src/hooks/useNitroMarker.d.ts.map +1 -1
  100. package/lib/typescript/src/hooks/useNitroOverlay.d.ts +26 -0
  101. package/lib/typescript/src/hooks/useNitroOverlay.d.ts.map +1 -0
  102. package/lib/typescript/src/hooks/useNitroPolygon.d.ts +7 -0
  103. package/lib/typescript/src/hooks/useNitroPolygon.d.ts.map +1 -0
  104. package/lib/typescript/src/hooks/useNitroPolyline.d.ts +7 -0
  105. package/lib/typescript/src/hooks/useNitroPolyline.d.ts.map +1 -0
  106. package/lib/typescript/src/index.d.ts +15 -2
  107. package/lib/typescript/src/index.d.ts.map +1 -1
  108. package/lib/typescript/src/specs/NitroMap.nitro.d.ts +248 -6
  109. package/lib/typescript/src/specs/NitroMap.nitro.d.ts.map +1 -1
  110. package/lib/typescript/src/types/map.d.ts +34 -4
  111. package/lib/typescript/src/types/map.d.ts.map +1 -1
  112. package/lib/typescript/src/types/marker.d.ts +24 -36
  113. package/lib/typescript/src/types/marker.d.ts.map +1 -1
  114. package/lib/typescript/src/types/overlay.d.ts +84 -0
  115. package/lib/typescript/src/types/overlay.d.ts.map +1 -0
  116. package/lib/typescript/src/types/theme.d.ts +93 -0
  117. package/lib/typescript/src/types/theme.d.ts.map +1 -0
  118. package/lib/typescript/src/utils/colors.d.ts +6 -8
  119. package/lib/typescript/src/utils/colors.d.ts.map +1 -1
  120. package/lib/typescript/src/utils/validation.d.ts +12 -0
  121. package/lib/typescript/src/utils/validation.d.ts.map +1 -0
  122. package/nitrogen/generated/android/c++/JCircleData.hpp +94 -0
  123. package/nitrogen/generated/android/c++/JClusterConfig.hpp +5 -7
  124. package/nitrogen/generated/android/c++/JCoordinateRing.hpp +77 -0
  125. package/nitrogen/generated/android/c++/JFunc_void_UserLocationChangeEvent.hpp +79 -0
  126. package/nitrogen/generated/android/c++/JFunc_void_UserTrackingMode.hpp +77 -0
  127. package/nitrogen/generated/android/c++/JFunc_void_std__string.hpp +76 -0
  128. package/nitrogen/generated/android/c++/JHybridNitroMapSpec.cpp +332 -21
  129. package/nitrogen/generated/android/c++/JHybridNitroMapSpec.hpp +53 -2
  130. package/nitrogen/generated/android/c++/JMarkerAnimation.hpp +3 -6
  131. package/nitrogen/generated/android/c++/JMarkerData.hpp +15 -3
  132. package/nitrogen/generated/android/c++/JPolygonData.hpp +133 -0
  133. package/nitrogen/generated/android/c++/JPolylineData.hpp +113 -0
  134. package/nitrogen/generated/android/c++/JUserLocationChangeEvent.hpp +70 -0
  135. package/nitrogen/generated/android/c++/JUserTrackingMode.hpp +62 -0
  136. package/nitrogen/generated/android/c++/views/JHybridNitroMapStateUpdater.cpp +72 -4
  137. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/CircleData.kt +62 -0
  138. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/ClusterConfig.kt +4 -4
  139. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/CoordinateRing.kt +38 -0
  140. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/Func_void_UserLocationChangeEvent.kt +80 -0
  141. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/Func_void_UserTrackingMode.kt +80 -0
  142. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/Func_void_std__string.kt +80 -0
  143. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/HybridNitroMapSpec.kt +228 -2
  144. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/MarkerAnimation.kt +1 -2
  145. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/MarkerData.kt +12 -3
  146. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/PolygonData.kt +62 -0
  147. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/PolylineData.kt +62 -0
  148. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/UserLocationChangeEvent.kt +47 -0
  149. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/{ClusterAnimationStyle.kt → UserTrackingMode.kt} +6 -8
  150. package/nitrogen/generated/android/nitromapOnLoad.cpp +6 -0
  151. package/nitrogen/generated/ios/NitroMap-Swift-Cxx-Bridge.cpp +24 -0
  152. package/nitrogen/generated/ios/NitroMap-Swift-Cxx-Bridge.hpp +178 -17
  153. package/nitrogen/generated/ios/NitroMap-Swift-Cxx-Umbrella.hpp +18 -3
  154. package/nitrogen/generated/ios/c++/HybridNitroMapSpecSwift.hpp +252 -16
  155. package/nitrogen/generated/ios/c++/views/HybridNitroMapComponent.mm +90 -5
  156. package/nitrogen/generated/ios/swift/CircleData.swift +143 -0
  157. package/nitrogen/generated/ios/swift/ClusterConfig.swift +22 -15
  158. package/nitrogen/generated/ios/swift/CoordinateRing.swift +48 -0
  159. package/nitrogen/generated/ios/swift/Func_void_UserLocationChangeEvent.swift +47 -0
  160. package/nitrogen/generated/ios/swift/Func_void_UserTrackingMode.swift +47 -0
  161. package/nitrogen/generated/ios/swift/Func_void_std__string.swift +47 -0
  162. package/nitrogen/generated/ios/swift/HybridNitroMapSpec.swift +35 -1
  163. package/nitrogen/generated/ios/swift/HybridNitroMapSpec_cxx.swift +582 -8
  164. package/nitrogen/generated/ios/swift/MarkerAnimation.swift +4 -8
  165. package/nitrogen/generated/ios/swift/MarkerData.swift +54 -2
  166. package/nitrogen/generated/ios/swift/PolygonData.swift +167 -0
  167. package/nitrogen/generated/ios/swift/PolylineData.swift +155 -0
  168. package/nitrogen/generated/ios/swift/UserLocationChangeEvent.swift +69 -0
  169. package/nitrogen/generated/ios/swift/UserTrackingMode.swift +44 -0
  170. package/nitrogen/generated/shared/c++/CircleData.hpp +113 -0
  171. package/nitrogen/generated/shared/c++/ClusterConfig.hpp +5 -8
  172. package/nitrogen/generated/shared/c++/CoordinateRing.hpp +77 -0
  173. package/nitrogen/generated/shared/c++/HybridNitroMapSpec.cpp +53 -2
  174. package/nitrogen/generated/shared/c++/HybridNitroMapSpec.hpp +75 -6
  175. package/nitrogen/generated/shared/c++/MarkerAnimation.hpp +4 -8
  176. package/nitrogen/generated/shared/c++/MarkerData.hpp +14 -2
  177. package/nitrogen/generated/shared/c++/PolygonData.hpp +117 -0
  178. package/nitrogen/generated/shared/c++/PolylineData.hpp +114 -0
  179. package/nitrogen/generated/shared/c++/UserLocationChangeEvent.hpp +88 -0
  180. package/nitrogen/generated/shared/c++/UserTrackingMode.hpp +80 -0
  181. package/nitrogen/generated/shared/c++/views/HybridNitroMapComponent.cpp +216 -12
  182. package/nitrogen/generated/shared/c++/views/HybridNitroMapComponent.hpp +23 -1
  183. package/nitrogen/generated/shared/json/NitroMapConfig.json +18 -1
  184. package/package.json +36 -5
  185. package/src/components/ImageMarker.tsx +58 -42
  186. package/src/components/Marker.tsx +161 -0
  187. package/src/components/NitroCircle.tsx +183 -0
  188. package/src/components/NitroMap.tsx +328 -78
  189. package/src/components/NitroPolygon.tsx +229 -0
  190. package/src/components/NitroPolyline.tsx +208 -0
  191. package/src/components/PriceMarker.tsx +23 -48
  192. package/src/context/NitroMapContext.tsx +4 -0
  193. package/src/hooks/useNitroCircle.ts +25 -0
  194. package/src/hooks/useNitroMarker.ts +49 -10
  195. package/src/hooks/useNitroOverlay.ts +68 -0
  196. package/src/hooks/useNitroPolygon.ts +25 -0
  197. package/src/hooks/useNitroPolyline.ts +25 -0
  198. package/src/index.tsx +28 -2
  199. package/src/specs/NitroMap.nitro.ts +294 -5
  200. package/src/types/map.ts +36 -4
  201. package/src/types/marker.ts +24 -44
  202. package/src/types/overlay.ts +87 -0
  203. package/src/types/theme.ts +101 -0
  204. package/src/utils/colors.ts +48 -16
  205. package/src/utils/validation.ts +69 -0
  206. package/android/src/main/java/com/margelo/nitro/nitromap/ClusterIconGenerator.kt +0 -108
  207. package/android/src/main/java/com/margelo/nitro/nitromap/ColorUtils.kt +0 -63
  208. package/android/src/main/java/com/margelo/nitro/nitromap/HybridNitroMap.kt +0 -408
  209. package/android/src/main/java/com/margelo/nitro/nitromap/HybridNitroMapConfig.kt +0 -68
  210. package/android/src/main/java/com/margelo/nitro/nitromap/MarkerIconCache.kt +0 -176
  211. package/android/src/main/java/com/margelo/nitro/nitromap/MarkerIconFactory.kt +0 -252
  212. package/android/src/main/java/com/margelo/nitro/nitromap/clustering/NitroClusterEngine.kt +0 -252
  213. package/android/src/main/java/com/margelo/nitro/nitromap/clustering/QuadTree.kt +0 -195
  214. package/android/src/main/java/com/margelo/nitro/nitromap/providers/GoogleMapProvider.kt +0 -912
  215. package/android/src/main/java/com/margelo/nitro/nitromap/providers/MapProviderInterface.kt +0 -70
  216. package/cpp/QuadTree.hpp +0 -246
  217. package/ios/NitroMapConfig/HybridNitroMapConfig.swift +0 -33
  218. package/ios/Providers/GoogleMapProvider+Camera.swift +0 -164
  219. package/ios/Providers/GoogleMapProvider.swift +0 -924
  220. package/nitrogen/generated/android/c++/JClusterAnimationStyle.hpp +0 -68
  221. package/nitrogen/generated/ios/swift/ClusterAnimationStyle.swift +0 -52
  222. package/nitrogen/generated/shared/c++/ClusterAnimationStyle.hpp +0 -88
@@ -0,0 +1,47 @@
1
+ ///
2
+ /// UserLocationChangeEvent.kt
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ package com.margelo.nitro.nitromap
9
+
10
+ import androidx.annotation.Keep
11
+ import com.facebook.proguard.annotations.DoNotStrip
12
+
13
+
14
+ /**
15
+ * Represents the JavaScript object/struct "UserLocationChangeEvent".
16
+ */
17
+ @DoNotStrip
18
+ @Keep
19
+ data class UserLocationChangeEvent(
20
+ @DoNotStrip
21
+ @Keep
22
+ val coordinate: Coordinate,
23
+ @DoNotStrip
24
+ @Keep
25
+ val accuracy: Double,
26
+ @DoNotStrip
27
+ @Keep
28
+ val heading: Double,
29
+ @DoNotStrip
30
+ @Keep
31
+ val speed: Double
32
+ ) {
33
+ /* primary constructor */
34
+
35
+ private companion object {
36
+ /**
37
+ * Constructor called from C++
38
+ */
39
+ @DoNotStrip
40
+ @Keep
41
+ @Suppress("unused")
42
+ @JvmStatic
43
+ private fun fromCpp(coordinate: Coordinate, accuracy: Double, heading: Double, speed: Double): UserLocationChangeEvent {
44
+ return UserLocationChangeEvent(coordinate, accuracy, heading, speed)
45
+ }
46
+ }
47
+ }
@@ -1,5 +1,5 @@
1
1
  ///
2
- /// ClusterAnimationStyle.kt
2
+ /// UserTrackingMode.kt
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
5
  /// Copyright © 2026 Marc Rousavy @ Margelo
@@ -11,14 +11,12 @@ import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
12
 
13
13
  /**
14
- * Represents the JavaScript enum/union "ClusterAnimationStyle".
14
+ * Represents the JavaScript enum/union "UserTrackingMode".
15
15
  */
16
16
  @DoNotStrip
17
17
  @Keep
18
- enum class ClusterAnimationStyle(@DoNotStrip @Keep val value: Int) {
19
- DEFAULT(0),
20
- BOUNCE(1),
21
- SCALE(2),
22
- FADE(3),
23
- SPRING(4);
18
+ enum class UserTrackingMode(@DoNotStrip @Keep val value: Int) {
19
+ NONE(0),
20
+ FOLLOW(1),
21
+ FOLLOWWITHHEADING(2);
24
22
  }
@@ -22,7 +22,10 @@
22
22
  #include "JFunc_void_MarkerPressEvent.hpp"
23
23
  #include "JFunc_void_MarkerDragEvent.hpp"
24
24
  #include "JFunc_void_ClusterPressEvent.hpp"
25
+ #include "JFunc_void_std__string.hpp"
25
26
  #include "JFunc_void_MapError.hpp"
27
+ #include "JFunc_void_UserLocationChangeEvent.hpp"
28
+ #include "JFunc_void_UserTrackingMode.hpp"
26
29
  #include "views/JHybridNitroMapStateUpdater.hpp"
27
30
  #include "JHybridNitroMapConfigSpec.hpp"
28
31
  #include <NitroModules/DefaultConstructableObject.hpp>
@@ -43,7 +46,10 @@ int initialize(JavaVM* vm) {
43
46
  margelo::nitro::nitromap::JFunc_void_MarkerPressEvent_cxx::registerNatives();
44
47
  margelo::nitro::nitromap::JFunc_void_MarkerDragEvent_cxx::registerNatives();
45
48
  margelo::nitro::nitromap::JFunc_void_ClusterPressEvent_cxx::registerNatives();
49
+ margelo::nitro::nitromap::JFunc_void_std__string_cxx::registerNatives();
46
50
  margelo::nitro::nitromap::JFunc_void_MapError_cxx::registerNatives();
51
+ margelo::nitro::nitromap::JFunc_void_UserLocationChangeEvent_cxx::registerNatives();
52
+ margelo::nitro::nitromap::JFunc_void_UserTrackingMode_cxx::registerNatives();
47
53
  margelo::nitro::nitromap::views::JHybridNitroMapStateUpdater::registerNatives();
48
54
  margelo::nitro::nitromap::JHybridNitroMapConfigSpec::registerNatives();
49
55
 
@@ -63,6 +63,14 @@ namespace margelo::nitro::nitromap::bridge::swift {
63
63
  };
64
64
  }
65
65
 
66
+ // pragma MARK: std::function<void(const std::string& /* id */)>
67
+ Func_void_std__string create_Func_void_std__string(void* NON_NULL swiftClosureWrapper) noexcept {
68
+ auto swiftClosure = NitroMap::Func_void_std__string::fromUnsafe(swiftClosureWrapper);
69
+ return [swiftClosure = std::move(swiftClosure)](const std::string& id) mutable -> void {
70
+ swiftClosure.call(id);
71
+ };
72
+ }
73
+
66
74
  // pragma MARK: std::function<void(const MapError& /* error */)>
67
75
  Func_void_MapError create_Func_void_MapError(void* NON_NULL swiftClosureWrapper) noexcept {
68
76
  auto swiftClosure = NitroMap::Func_void_MapError::fromUnsafe(swiftClosureWrapper);
@@ -71,6 +79,22 @@ namespace margelo::nitro::nitromap::bridge::swift {
71
79
  };
72
80
  }
73
81
 
82
+ // pragma MARK: std::function<void(const UserLocationChangeEvent& /* event */)>
83
+ Func_void_UserLocationChangeEvent create_Func_void_UserLocationChangeEvent(void* NON_NULL swiftClosureWrapper) noexcept {
84
+ auto swiftClosure = NitroMap::Func_void_UserLocationChangeEvent::fromUnsafe(swiftClosureWrapper);
85
+ return [swiftClosure = std::move(swiftClosure)](const UserLocationChangeEvent& event) mutable -> void {
86
+ swiftClosure.call(event);
87
+ };
88
+ }
89
+
90
+ // pragma MARK: std::function<void(UserTrackingMode /* mode */)>
91
+ Func_void_UserTrackingMode create_Func_void_UserTrackingMode(void* NON_NULL swiftClosureWrapper) noexcept {
92
+ auto swiftClosure = NitroMap::Func_void_UserTrackingMode::fromUnsafe(swiftClosureWrapper);
93
+ return [swiftClosure = std::move(swiftClosure)](UserTrackingMode mode) mutable -> void {
94
+ swiftClosure.call(static_cast<int>(mode));
95
+ };
96
+ }
97
+
74
98
  // pragma MARK: std::function<void(const Camera& /* result */)>
75
99
  Func_void_Camera create_Func_void_Camera(void* NON_NULL swiftClosureWrapper) noexcept {
76
100
  auto swiftClosure = NitroMap::Func_void_Camera::fromUnsafe(swiftClosureWrapper);
@@ -10,14 +10,14 @@
10
10
  // Forward declarations of C++ defined types
11
11
  // Forward declaration of `Camera` to properly resolve imports.
12
12
  namespace margelo::nitro::nitromap { struct Camera; }
13
- // Forward declaration of `ClusterAnimationStyle` to properly resolve imports.
14
- namespace margelo::nitro::nitromap { enum class ClusterAnimationStyle; }
15
13
  // Forward declaration of `ClusterConfig` to properly resolve imports.
16
14
  namespace margelo::nitro::nitromap { struct ClusterConfig; }
17
15
  // Forward declaration of `ClusterPressEvent` to properly resolve imports.
18
16
  namespace margelo::nitro::nitromap { struct ClusterPressEvent; }
19
17
  // Forward declaration of `ClusterStrategy` to properly resolve imports.
20
18
  namespace margelo::nitro::nitromap { enum class ClusterStrategy; }
19
+ // Forward declaration of `CoordinateRing` to properly resolve imports.
20
+ namespace margelo::nitro::nitromap { struct CoordinateRing; }
21
21
  // Forward declaration of `Coordinate` to properly resolve imports.
22
22
  namespace margelo::nitro::nitromap { struct Coordinate; }
23
23
  // Forward declaration of `EdgePadding` to properly resolve imports.
@@ -64,6 +64,10 @@ namespace margelo::nitro::nitromap { struct PriceMarkerStyle; }
64
64
  namespace margelo::nitro::nitromap { struct RegionChangeEvent; }
65
65
  // Forward declaration of `Region` to properly resolve imports.
66
66
  namespace margelo::nitro::nitromap { struct Region; }
67
+ // Forward declaration of `UserLocationChangeEvent` to properly resolve imports.
68
+ namespace margelo::nitro::nitromap { struct UserLocationChangeEvent; }
69
+ // Forward declaration of `UserTrackingMode` to properly resolve imports.
70
+ namespace margelo::nitro::nitromap { enum class UserTrackingMode; }
67
71
 
68
72
  // Forward declarations of Swift defined types
69
73
  // Forward declaration of `HybridNitroMapConfigSpec_cxx` to properly resolve imports.
@@ -73,11 +77,11 @@ namespace NitroMap { class HybridNitroMapSpec_cxx; }
73
77
 
74
78
  // Include C++ defined types
75
79
  #include "Camera.hpp"
76
- #include "ClusterAnimationStyle.hpp"
77
80
  #include "ClusterConfig.hpp"
78
81
  #include "ClusterPressEvent.hpp"
79
82
  #include "ClusterStrategy.hpp"
80
83
  #include "Coordinate.hpp"
84
+ #include "CoordinateRing.hpp"
81
85
  #include "EdgePadding.hpp"
82
86
  #include "HybridNitroMapConfigSpec.hpp"
83
87
  #include "HybridNitroMapSpec.hpp"
@@ -100,6 +104,8 @@ namespace NitroMap { class HybridNitroMapSpec_cxx; }
100
104
  #include "PriceMarkerStyle.hpp"
101
105
  #include "Region.hpp"
102
106
  #include "RegionChangeEvent.hpp"
107
+ #include "UserLocationChangeEvent.hpp"
108
+ #include "UserTrackingMode.hpp"
103
109
  #include <NitroModules/Promise.hpp>
104
110
  #include <NitroModules/PromiseHolder.hpp>
105
111
  #include <NitroModules/Result.hpp>
@@ -303,33 +309,48 @@ namespace margelo::nitro::nitromap::bridge::swift {
303
309
  return *optional;
304
310
  }
305
311
 
306
- // pragma MARK: std::optional<ClusterAnimationStyle>
312
+ // pragma MARK: std::optional<ClusterConfig>
307
313
  /**
308
- * Specialized version of `std::optional<ClusterAnimationStyle>`.
314
+ * Specialized version of `std::optional<ClusterConfig>`.
309
315
  */
310
- using std__optional_ClusterAnimationStyle_ = std::optional<ClusterAnimationStyle>;
311
- inline std::optional<ClusterAnimationStyle> create_std__optional_ClusterAnimationStyle_(const ClusterAnimationStyle& value) noexcept {
312
- return std::optional<ClusterAnimationStyle>(value);
316
+ using std__optional_ClusterConfig_ = std::optional<ClusterConfig>;
317
+ inline std::optional<ClusterConfig> create_std__optional_ClusterConfig_(const ClusterConfig& value) noexcept {
318
+ return std::optional<ClusterConfig>(value);
313
319
  }
314
- inline bool has_value_std__optional_ClusterAnimationStyle_(const std::optional<ClusterAnimationStyle>& optional) noexcept {
320
+ inline bool has_value_std__optional_ClusterConfig_(const std::optional<ClusterConfig>& optional) noexcept {
315
321
  return optional.has_value();
316
322
  }
317
- inline ClusterAnimationStyle get_std__optional_ClusterAnimationStyle_(const std::optional<ClusterAnimationStyle>& optional) noexcept {
323
+ inline ClusterConfig get_std__optional_ClusterConfig_(const std::optional<ClusterConfig>& optional) noexcept {
318
324
  return *optional;
319
325
  }
320
326
 
321
- // pragma MARK: std::optional<ClusterConfig>
327
+ // pragma MARK: std::optional<UserTrackingMode>
322
328
  /**
323
- * Specialized version of `std::optional<ClusterConfig>`.
329
+ * Specialized version of `std::optional<UserTrackingMode>`.
324
330
  */
325
- using std__optional_ClusterConfig_ = std::optional<ClusterConfig>;
326
- inline std::optional<ClusterConfig> create_std__optional_ClusterConfig_(const ClusterConfig& value) noexcept {
327
- return std::optional<ClusterConfig>(value);
331
+ using std__optional_UserTrackingMode_ = std::optional<UserTrackingMode>;
332
+ inline std::optional<UserTrackingMode> create_std__optional_UserTrackingMode_(const UserTrackingMode& value) noexcept {
333
+ return std::optional<UserTrackingMode>(value);
328
334
  }
329
- inline bool has_value_std__optional_ClusterConfig_(const std::optional<ClusterConfig>& optional) noexcept {
335
+ inline bool has_value_std__optional_UserTrackingMode_(const std::optional<UserTrackingMode>& optional) noexcept {
330
336
  return optional.has_value();
331
337
  }
332
- inline ClusterConfig get_std__optional_ClusterConfig_(const std::optional<ClusterConfig>& optional) noexcept {
338
+ inline UserTrackingMode get_std__optional_UserTrackingMode_(const std::optional<UserTrackingMode>& optional) noexcept {
339
+ return *optional;
340
+ }
341
+
342
+ // pragma MARK: std::optional<Point>
343
+ /**
344
+ * Specialized version of `std::optional<Point>`.
345
+ */
346
+ using std__optional_Point_ = std::optional<Point>;
347
+ inline std::optional<Point> create_std__optional_Point_(const Point& value) noexcept {
348
+ return std::optional<Point>(value);
349
+ }
350
+ inline bool has_value_std__optional_Point_(const std::optional<Point>& optional) noexcept {
351
+ return optional.has_value();
352
+ }
353
+ inline Point get_std__optional_Point_(const std::optional<Point>& optional) noexcept {
333
354
  return *optional;
334
355
  }
335
356
 
@@ -566,6 +587,43 @@ namespace margelo::nitro::nitromap::bridge::swift {
566
587
  return *optional;
567
588
  }
568
589
 
590
+ // pragma MARK: std::function<void(const std::string& /* id */)>
591
+ /**
592
+ * Specialized version of `std::function<void(const std::string&)>`.
593
+ */
594
+ using Func_void_std__string = std::function<void(const std::string& /* id */)>;
595
+ /**
596
+ * Wrapper class for a `std::function<void(const std::string& / * id * /)>`, this can be used from Swift.
597
+ */
598
+ class Func_void_std__string_Wrapper final {
599
+ public:
600
+ explicit Func_void_std__string_Wrapper(std::function<void(const std::string& /* id */)>&& func): _function(std::make_unique<std::function<void(const std::string& /* id */)>>(std::move(func))) {}
601
+ inline void call(std::string id) const noexcept {
602
+ _function->operator()(id);
603
+ }
604
+ private:
605
+ std::unique_ptr<std::function<void(const std::string& /* id */)>> _function;
606
+ } SWIFT_NONCOPYABLE;
607
+ Func_void_std__string create_Func_void_std__string(void* NON_NULL swiftClosureWrapper) noexcept;
608
+ inline Func_void_std__string_Wrapper wrap_Func_void_std__string(Func_void_std__string value) noexcept {
609
+ return Func_void_std__string_Wrapper(std::move(value));
610
+ }
611
+
612
+ // pragma MARK: std::optional<std::function<void(const std::string& /* id */)>>
613
+ /**
614
+ * Specialized version of `std::optional<std::function<void(const std::string& / * id * /)>>`.
615
+ */
616
+ using std__optional_std__function_void_const_std__string_____id______ = std::optional<std::function<void(const std::string& /* id */)>>;
617
+ inline std::optional<std::function<void(const std::string& /* id */)>> create_std__optional_std__function_void_const_std__string_____id______(const std::function<void(const std::string& /* id */)>& value) noexcept {
618
+ return std::optional<std::function<void(const std::string& /* id */)>>(value);
619
+ }
620
+ inline bool has_value_std__optional_std__function_void_const_std__string_____id______(const std::optional<std::function<void(const std::string& /* id */)>>& optional) noexcept {
621
+ return optional.has_value();
622
+ }
623
+ inline std::function<void(const std::string& /* id */)> get_std__optional_std__function_void_const_std__string_____id______(const std::optional<std::function<void(const std::string& /* id */)>>& optional) noexcept {
624
+ return *optional;
625
+ }
626
+
569
627
  // pragma MARK: std::function<void(const MapError& /* error */)>
570
628
  /**
571
629
  * Specialized version of `std::function<void(const MapError&)>`.
@@ -603,6 +661,80 @@ namespace margelo::nitro::nitromap::bridge::swift {
603
661
  return *optional;
604
662
  }
605
663
 
664
+ // pragma MARK: std::function<void(const UserLocationChangeEvent& /* event */)>
665
+ /**
666
+ * Specialized version of `std::function<void(const UserLocationChangeEvent&)>`.
667
+ */
668
+ using Func_void_UserLocationChangeEvent = std::function<void(const UserLocationChangeEvent& /* event */)>;
669
+ /**
670
+ * Wrapper class for a `std::function<void(const UserLocationChangeEvent& / * event * /)>`, this can be used from Swift.
671
+ */
672
+ class Func_void_UserLocationChangeEvent_Wrapper final {
673
+ public:
674
+ explicit Func_void_UserLocationChangeEvent_Wrapper(std::function<void(const UserLocationChangeEvent& /* event */)>&& func): _function(std::make_unique<std::function<void(const UserLocationChangeEvent& /* event */)>>(std::move(func))) {}
675
+ inline void call(UserLocationChangeEvent event) const noexcept {
676
+ _function->operator()(event);
677
+ }
678
+ private:
679
+ std::unique_ptr<std::function<void(const UserLocationChangeEvent& /* event */)>> _function;
680
+ } SWIFT_NONCOPYABLE;
681
+ Func_void_UserLocationChangeEvent create_Func_void_UserLocationChangeEvent(void* NON_NULL swiftClosureWrapper) noexcept;
682
+ inline Func_void_UserLocationChangeEvent_Wrapper wrap_Func_void_UserLocationChangeEvent(Func_void_UserLocationChangeEvent value) noexcept {
683
+ return Func_void_UserLocationChangeEvent_Wrapper(std::move(value));
684
+ }
685
+
686
+ // pragma MARK: std::optional<std::function<void(const UserLocationChangeEvent& /* event */)>>
687
+ /**
688
+ * Specialized version of `std::optional<std::function<void(const UserLocationChangeEvent& / * event * /)>>`.
689
+ */
690
+ using std__optional_std__function_void_const_UserLocationChangeEvent_____event______ = std::optional<std::function<void(const UserLocationChangeEvent& /* event */)>>;
691
+ inline std::optional<std::function<void(const UserLocationChangeEvent& /* event */)>> create_std__optional_std__function_void_const_UserLocationChangeEvent_____event______(const std::function<void(const UserLocationChangeEvent& /* event */)>& value) noexcept {
692
+ return std::optional<std::function<void(const UserLocationChangeEvent& /* event */)>>(value);
693
+ }
694
+ inline bool has_value_std__optional_std__function_void_const_UserLocationChangeEvent_____event______(const std::optional<std::function<void(const UserLocationChangeEvent& /* event */)>>& optional) noexcept {
695
+ return optional.has_value();
696
+ }
697
+ inline std::function<void(const UserLocationChangeEvent& /* event */)> get_std__optional_std__function_void_const_UserLocationChangeEvent_____event______(const std::optional<std::function<void(const UserLocationChangeEvent& /* event */)>>& optional) noexcept {
698
+ return *optional;
699
+ }
700
+
701
+ // pragma MARK: std::function<void(UserTrackingMode /* mode */)>
702
+ /**
703
+ * Specialized version of `std::function<void(UserTrackingMode)>`.
704
+ */
705
+ using Func_void_UserTrackingMode = std::function<void(UserTrackingMode /* mode */)>;
706
+ /**
707
+ * Wrapper class for a `std::function<void(UserTrackingMode / * mode * /)>`, this can be used from Swift.
708
+ */
709
+ class Func_void_UserTrackingMode_Wrapper final {
710
+ public:
711
+ explicit Func_void_UserTrackingMode_Wrapper(std::function<void(UserTrackingMode /* mode */)>&& func): _function(std::make_unique<std::function<void(UserTrackingMode /* mode */)>>(std::move(func))) {}
712
+ inline void call(int mode) const noexcept {
713
+ _function->operator()(static_cast<UserTrackingMode>(mode));
714
+ }
715
+ private:
716
+ std::unique_ptr<std::function<void(UserTrackingMode /* mode */)>> _function;
717
+ } SWIFT_NONCOPYABLE;
718
+ Func_void_UserTrackingMode create_Func_void_UserTrackingMode(void* NON_NULL swiftClosureWrapper) noexcept;
719
+ inline Func_void_UserTrackingMode_Wrapper wrap_Func_void_UserTrackingMode(Func_void_UserTrackingMode value) noexcept {
720
+ return Func_void_UserTrackingMode_Wrapper(std::move(value));
721
+ }
722
+
723
+ // pragma MARK: std::optional<std::function<void(UserTrackingMode /* mode */)>>
724
+ /**
725
+ * Specialized version of `std::optional<std::function<void(UserTrackingMode / * mode * /)>>`.
726
+ */
727
+ using std__optional_std__function_void_UserTrackingMode____mode______ = std::optional<std::function<void(UserTrackingMode /* mode */)>>;
728
+ inline std::optional<std::function<void(UserTrackingMode /* mode */)>> create_std__optional_std__function_void_UserTrackingMode____mode______(const std::function<void(UserTrackingMode /* mode */)>& value) noexcept {
729
+ return std::optional<std::function<void(UserTrackingMode /* mode */)>>(value);
730
+ }
731
+ inline bool has_value_std__optional_std__function_void_UserTrackingMode____mode______(const std::optional<std::function<void(UserTrackingMode /* mode */)>>& optional) noexcept {
732
+ return optional.has_value();
733
+ }
734
+ inline std::function<void(UserTrackingMode /* mode */)> get_std__optional_std__function_void_UserTrackingMode____mode______(const std::optional<std::function<void(UserTrackingMode /* mode */)>>& optional) noexcept {
735
+ return *optional;
736
+ }
737
+
606
738
  // pragma MARK: std::vector<Coordinate>
607
739
  /**
608
740
  * Specialized version of `std::vector<Coordinate>`.
@@ -760,6 +892,17 @@ namespace margelo::nitro::nitromap::bridge::swift {
760
892
  return vector;
761
893
  }
762
894
 
895
+ // pragma MARK: std::vector<CoordinateRing>
896
+ /**
897
+ * Specialized version of `std::vector<CoordinateRing>`.
898
+ */
899
+ using std__vector_CoordinateRing_ = std::vector<CoordinateRing>;
900
+ inline std::vector<CoordinateRing> create_std__vector_CoordinateRing_(size_t size) noexcept {
901
+ std::vector<CoordinateRing> vector;
902
+ vector.reserve(size);
903
+ return vector;
904
+ }
905
+
763
906
  // pragma MARK: std::shared_ptr<HybridNitroMapSpec>
764
907
  /**
765
908
  * Specialized version of `std::shared_ptr<HybridNitroMapSpec>`.
@@ -799,6 +942,24 @@ namespace margelo::nitro::nitromap::bridge::swift {
799
942
  return Result<std::shared_ptr<Promise<MapBoundaries>>>::withError(error);
800
943
  }
801
944
 
945
+ // pragma MARK: Result<Point>
946
+ using Result_Point_ = Result<Point>;
947
+ inline Result_Point_ create_Result_Point_(const Point& value) noexcept {
948
+ return Result<Point>::withValue(value);
949
+ }
950
+ inline Result_Point_ create_Result_Point_(const std::exception_ptr& error) noexcept {
951
+ return Result<Point>::withError(error);
952
+ }
953
+
954
+ // pragma MARK: Result<Coordinate>
955
+ using Result_Coordinate_ = Result<Coordinate>;
956
+ inline Result_Coordinate_ create_Result_Coordinate_(const Coordinate& value) noexcept {
957
+ return Result<Coordinate>::withValue(value);
958
+ }
959
+ inline Result_Coordinate_ create_Result_Coordinate_(const std::exception_ptr& error) noexcept {
960
+ return Result<Coordinate>::withError(error);
961
+ }
962
+
802
963
  // pragma MARK: std::shared_ptr<HybridNitroMapConfigSpec>
803
964
  /**
804
965
  * Specialized version of `std::shared_ptr<HybridNitroMapConfigSpec>`.
@@ -10,14 +10,16 @@
10
10
  // Forward declarations of C++ defined types
11
11
  // Forward declaration of `Camera` to properly resolve imports.
12
12
  namespace margelo::nitro::nitromap { struct Camera; }
13
- // Forward declaration of `ClusterAnimationStyle` to properly resolve imports.
14
- namespace margelo::nitro::nitromap { enum class ClusterAnimationStyle; }
13
+ // Forward declaration of `CircleData` to properly resolve imports.
14
+ namespace margelo::nitro::nitromap { struct CircleData; }
15
15
  // Forward declaration of `ClusterConfig` to properly resolve imports.
16
16
  namespace margelo::nitro::nitromap { struct ClusterConfig; }
17
17
  // Forward declaration of `ClusterPressEvent` to properly resolve imports.
18
18
  namespace margelo::nitro::nitromap { struct ClusterPressEvent; }
19
19
  // Forward declaration of `ClusterStrategy` to properly resolve imports.
20
20
  namespace margelo::nitro::nitromap { enum class ClusterStrategy; }
21
+ // Forward declaration of `CoordinateRing` to properly resolve imports.
22
+ namespace margelo::nitro::nitromap { struct CoordinateRing; }
21
23
  // Forward declaration of `Coordinate` to properly resolve imports.
22
24
  namespace margelo::nitro::nitromap { struct Coordinate; }
23
25
  // Forward declaration of `EdgePadding` to properly resolve imports.
@@ -58,20 +60,29 @@ namespace margelo::nitro::nitromap { struct MarkerPressEvent; }
58
60
  namespace margelo::nitro::nitromap { enum class MarkerStyle; }
59
61
  // Forward declaration of `Point` to properly resolve imports.
60
62
  namespace margelo::nitro::nitromap { struct Point; }
63
+ // Forward declaration of `PolygonData` to properly resolve imports.
64
+ namespace margelo::nitro::nitromap { struct PolygonData; }
65
+ // Forward declaration of `PolylineData` to properly resolve imports.
66
+ namespace margelo::nitro::nitromap { struct PolylineData; }
61
67
  // Forward declaration of `PriceMarkerStyle` to properly resolve imports.
62
68
  namespace margelo::nitro::nitromap { struct PriceMarkerStyle; }
63
69
  // Forward declaration of `RegionChangeEvent` to properly resolve imports.
64
70
  namespace margelo::nitro::nitromap { struct RegionChangeEvent; }
65
71
  // Forward declaration of `Region` to properly resolve imports.
66
72
  namespace margelo::nitro::nitromap { struct Region; }
73
+ // Forward declaration of `UserLocationChangeEvent` to properly resolve imports.
74
+ namespace margelo::nitro::nitromap { struct UserLocationChangeEvent; }
75
+ // Forward declaration of `UserTrackingMode` to properly resolve imports.
76
+ namespace margelo::nitro::nitromap { enum class UserTrackingMode; }
67
77
 
68
78
  // Include C++ defined types
69
79
  #include "Camera.hpp"
70
- #include "ClusterAnimationStyle.hpp"
80
+ #include "CircleData.hpp"
71
81
  #include "ClusterConfig.hpp"
72
82
  #include "ClusterPressEvent.hpp"
73
83
  #include "ClusterStrategy.hpp"
74
84
  #include "Coordinate.hpp"
85
+ #include "CoordinateRing.hpp"
75
86
  #include "EdgePadding.hpp"
76
87
  #include "HybridNitroMapConfigSpec.hpp"
77
88
  #include "HybridNitroMapSpec.hpp"
@@ -91,9 +102,13 @@ namespace margelo::nitro::nitromap { struct Region; }
91
102
  #include "MarkerPressEvent.hpp"
92
103
  #include "MarkerStyle.hpp"
93
104
  #include "Point.hpp"
105
+ #include "PolygonData.hpp"
106
+ #include "PolylineData.hpp"
94
107
  #include "PriceMarkerStyle.hpp"
95
108
  #include "Region.hpp"
96
109
  #include "RegionChangeEvent.hpp"
110
+ #include "UserLocationChangeEvent.hpp"
111
+ #include "UserTrackingMode.hpp"
97
112
  #include <NitroModules/Promise.hpp>
98
113
  #include <NitroModules/Result.hpp>
99
114
  #include <exception>