react-native-google-maps-plus 0.1.0 → 1.0.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 (183) hide show
  1. package/GoogleMapsNitro.podspec +34 -0
  2. package/LICENSE +20 -0
  3. package/README.md +40 -0
  4. package/android/CMakeLists.txt +32 -0
  5. package/android/build.gradle +135 -0
  6. package/android/fix-prefab.gradle +51 -0
  7. package/android/gradle.properties +8 -0
  8. package/android/src/main/AndroidManifest.xml +2 -0
  9. package/android/src/main/cpp/cpp-adapter.cpp +6 -0
  10. package/android/src/main/java/com/googlemapsnitro/Color.kt +65 -0
  11. package/android/src/main/java/com/googlemapsnitro/GoogleMapsNitroPackage.kt +35 -0
  12. package/android/src/main/java/com/googlemapsnitro/GoogleMapsNitroViewImpl.kt +720 -0
  13. package/android/src/main/java/com/googlemapsnitro/HybridGoogleMapsNitroModule.kt +22 -0
  14. package/android/src/main/java/com/googlemapsnitro/HybridGoogleMapsNitroView.kt +337 -0
  15. package/android/src/main/java/com/googlemapsnitro/LocationHandler.kt +205 -0
  16. package/android/src/main/java/com/googlemapsnitro/MapMarker.kt +145 -0
  17. package/android/src/main/java/com/googlemapsnitro/MapPolygon.kt +36 -0
  18. package/android/src/main/java/com/googlemapsnitro/MapPolyline.kt +59 -0
  19. package/android/src/main/java/com/googlemapsnitro/PermissionHandler.kt +116 -0
  20. package/android/src/main/java/com/googlemapsnitro/PlayServicesHandler.kt +25 -0
  21. package/ios/Color.swift +109 -0
  22. package/ios/GoogleMapNitroViewImpl.swift +590 -0
  23. package/ios/HybridGoogleMapsNitroModule.swift +27 -0
  24. package/ios/HybridGoogleMapsNitroView.swift +348 -0
  25. package/ios/LocationHandler.swift +205 -0
  26. package/ios/MapHelper.swift +18 -0
  27. package/ios/MapMarker.swift +207 -0
  28. package/ios/MapPolygon.swift +55 -0
  29. package/ios/MapPolyline.swift +83 -0
  30. package/ios/PermissionHandler.swift +73 -0
  31. package/lib/module/GoogleMapsNitroModule.nitro.js +4 -0
  32. package/lib/module/GoogleMapsNitroModule.nitro.js.map +1 -0
  33. package/lib/module/GoogleMapsNitroView.nitro.js +4 -0
  34. package/lib/module/GoogleMapsNitroView.nitro.js.map +1 -0
  35. package/lib/module/index.js +8 -0
  36. package/lib/module/index.js.map +1 -0
  37. package/lib/module/package.json +1 -0
  38. package/lib/module/types.js +78 -0
  39. package/lib/module/types.js.map +1 -0
  40. package/lib/typescript/package.json +1 -0
  41. package/lib/typescript/src/GoogleMapsNitroModule.nitro.d.ts +12 -0
  42. package/lib/typescript/src/GoogleMapsNitroModule.nitro.d.ts.map +1 -0
  43. package/lib/typescript/src/GoogleMapsNitroView.nitro.d.ts +34 -0
  44. package/lib/typescript/src/GoogleMapsNitroView.nitro.d.ts.map +1 -0
  45. package/lib/typescript/src/index.d.ts +7 -0
  46. package/lib/typescript/src/index.d.ts.map +1 -0
  47. package/lib/typescript/src/types.d.ts +113 -0
  48. package/lib/typescript/src/types.d.ts.map +1 -0
  49. package/nitro.json +28 -0
  50. package/nitrogen/generated/.gitattributes +1 -0
  51. package/nitrogen/generated/android/GoogleMapsNitro+autolinking.cmake +85 -0
  52. package/nitrogen/generated/android/GoogleMapsNitro+autolinking.gradle +27 -0
  53. package/nitrogen/generated/android/GoogleMapsNitroOnLoad.cpp +70 -0
  54. package/nitrogen/generated/android/GoogleMapsNitroOnLoad.hpp +25 -0
  55. package/nitrogen/generated/android/c++/JFunc_void_RNLatLng.hpp +76 -0
  56. package/nitrogen/generated/android/c++/JFunc_void_RNLocation.hpp +78 -0
  57. package/nitrogen/generated/android/c++/JFunc_void_RNLocationErrorCode.hpp +76 -0
  58. package/nitrogen/generated/android/c++/JFunc_void_RNMapErrorCode.hpp +76 -0
  59. package/nitrogen/generated/android/c++/JFunc_void_RNRegion_RNCamera_bool.hpp +81 -0
  60. package/nitrogen/generated/android/c++/JFunc_void_bool.hpp +74 -0
  61. package/nitrogen/generated/android/c++/JFunc_void_std__string.hpp +75 -0
  62. package/nitrogen/generated/android/c++/JHybridGoogleMapsNitroModuleSpec.cpp +83 -0
  63. package/nitrogen/generated/android/c++/JHybridGoogleMapsNitroModuleSpec.hpp +67 -0
  64. package/nitrogen/generated/android/c++/JHybridGoogleMapsNitroViewSpec.cpp +485 -0
  65. package/nitrogen/generated/android/c++/JHybridGoogleMapsNitroViewSpec.hpp +108 -0
  66. package/nitrogen/generated/android/c++/JRNAndroidLocationPermissionResult.hpp +62 -0
  67. package/nitrogen/generated/android/c++/JRNCamera.hpp +67 -0
  68. package/nitrogen/generated/android/c++/JRNIOSPermissionResult.hpp +59 -0
  69. package/nitrogen/generated/android/c++/JRNLatLng.hpp +57 -0
  70. package/nitrogen/generated/android/c++/JRNLineCapType.hpp +62 -0
  71. package/nitrogen/generated/android/c++/JRNLineJoinType.hpp +62 -0
  72. package/nitrogen/generated/android/c++/JRNLocation.hpp +58 -0
  73. package/nitrogen/generated/android/c++/JRNLocationErrorCode.hpp +71 -0
  74. package/nitrogen/generated/android/c++/JRNLocationPermissionResult.hpp +61 -0
  75. package/nitrogen/generated/android/c++/JRNMapErrorCode.hpp +74 -0
  76. package/nitrogen/generated/android/c++/JRNMapPadding.hpp +65 -0
  77. package/nitrogen/generated/android/c++/JRNMarker.hpp +82 -0
  78. package/nitrogen/generated/android/c++/JRNPolygon.hpp +94 -0
  79. package/nitrogen/generated/android/c++/JRNPolyline.hpp +102 -0
  80. package/nitrogen/generated/android/c++/JRNPosition.hpp +57 -0
  81. package/nitrogen/generated/android/c++/JRNRegion.hpp +62 -0
  82. package/nitrogen/generated/android/c++/JRNUserInterfaceStyle.hpp +62 -0
  83. package/nitrogen/generated/android/c++/views/JHybridGoogleMapsNitroViewStateUpdater.cpp +132 -0
  84. package/nitrogen/generated/android/c++/views/JHybridGoogleMapsNitroViewStateUpdater.hpp +49 -0
  85. package/nitrogen/generated/android/kotlin/com/margelo/nitro/googlemapsnitro/Func_void_RNLatLng.kt +81 -0
  86. package/nitrogen/generated/android/kotlin/com/margelo/nitro/googlemapsnitro/Func_void_RNLocation.kt +81 -0
  87. package/nitrogen/generated/android/kotlin/com/margelo/nitro/googlemapsnitro/Func_void_RNLocationErrorCode.kt +81 -0
  88. package/nitrogen/generated/android/kotlin/com/margelo/nitro/googlemapsnitro/Func_void_RNMapErrorCode.kt +81 -0
  89. package/nitrogen/generated/android/kotlin/com/margelo/nitro/googlemapsnitro/Func_void_RNRegion_RNCamera_bool.kt +81 -0
  90. package/nitrogen/generated/android/kotlin/com/margelo/nitro/googlemapsnitro/Func_void_bool.kt +81 -0
  91. package/nitrogen/generated/android/kotlin/com/margelo/nitro/googlemapsnitro/Func_void_std__string.kt +81 -0
  92. package/nitrogen/generated/android/kotlin/com/margelo/nitro/googlemapsnitro/GoogleMapsNitroOnLoad.kt +35 -0
  93. package/nitrogen/generated/android/kotlin/com/margelo/nitro/googlemapsnitro/HybridGoogleMapsNitroModuleSpec.kt +64 -0
  94. package/nitrogen/generated/android/kotlin/com/margelo/nitro/googlemapsnitro/HybridGoogleMapsNitroViewSpec.kt +263 -0
  95. package/nitrogen/generated/android/kotlin/com/margelo/nitro/googlemapsnitro/RNAndroidLocationPermissionResult.kt +22 -0
  96. package/nitrogen/generated/android/kotlin/com/margelo/nitro/googlemapsnitro/RNCamera.kt +38 -0
  97. package/nitrogen/generated/android/kotlin/com/margelo/nitro/googlemapsnitro/RNIOSPermissionResult.kt +21 -0
  98. package/nitrogen/generated/android/kotlin/com/margelo/nitro/googlemapsnitro/RNLatLng.kt +32 -0
  99. package/nitrogen/generated/android/kotlin/com/margelo/nitro/googlemapsnitro/RNLineCapType.kt +22 -0
  100. package/nitrogen/generated/android/kotlin/com/margelo/nitro/googlemapsnitro/RNLineJoinType.kt +22 -0
  101. package/nitrogen/generated/android/kotlin/com/margelo/nitro/googlemapsnitro/RNLocation.kt +32 -0
  102. package/nitrogen/generated/android/kotlin/com/margelo/nitro/googlemapsnitro/RNLocationErrorCode.kt +25 -0
  103. package/nitrogen/generated/android/kotlin/com/margelo/nitro/googlemapsnitro/RNLocationPermissionResult.kt +32 -0
  104. package/nitrogen/generated/android/kotlin/com/margelo/nitro/googlemapsnitro/RNMapErrorCode.kt +26 -0
  105. package/nitrogen/generated/android/kotlin/com/margelo/nitro/googlemapsnitro/RNMapPadding.kt +38 -0
  106. package/nitrogen/generated/android/kotlin/com/margelo/nitro/googlemapsnitro/RNMarker.kt +47 -0
  107. package/nitrogen/generated/android/kotlin/com/margelo/nitro/googlemapsnitro/RNPolygon.kt +44 -0
  108. package/nitrogen/generated/android/kotlin/com/margelo/nitro/googlemapsnitro/RNPolyline.kt +47 -0
  109. package/nitrogen/generated/android/kotlin/com/margelo/nitro/googlemapsnitro/RNPosition.kt +32 -0
  110. package/nitrogen/generated/android/kotlin/com/margelo/nitro/googlemapsnitro/RNRegion.kt +35 -0
  111. package/nitrogen/generated/android/kotlin/com/margelo/nitro/googlemapsnitro/RNUserInterfaceStyle.kt +22 -0
  112. package/nitrogen/generated/android/kotlin/com/margelo/nitro/googlemapsnitro/views/HybridGoogleMapsNitroViewManager.kt +50 -0
  113. package/nitrogen/generated/android/kotlin/com/margelo/nitro/googlemapsnitro/views/HybridGoogleMapsNitroViewStateUpdater.kt +23 -0
  114. package/nitrogen/generated/ios/GoogleMapsNitro+autolinking.rb +60 -0
  115. package/nitrogen/generated/ios/GoogleMapsNitro-Swift-Cxx-Bridge.cpp +121 -0
  116. package/nitrogen/generated/ios/GoogleMapsNitro-Swift-Cxx-Bridge.hpp +649 -0
  117. package/nitrogen/generated/ios/GoogleMapsNitro-Swift-Cxx-Umbrella.hpp +104 -0
  118. package/nitrogen/generated/ios/GoogleMapsNitroAutolinking.mm +41 -0
  119. package/nitrogen/generated/ios/GoogleMapsNitroAutolinking.swift +40 -0
  120. package/nitrogen/generated/ios/c++/HybridGoogleMapsNitroModuleSpecSwift.cpp +11 -0
  121. package/nitrogen/generated/ios/c++/HybridGoogleMapsNitroModuleSpecSwift.hpp +102 -0
  122. package/nitrogen/generated/ios/c++/HybridGoogleMapsNitroViewSpecSwift.cpp +11 -0
  123. package/nitrogen/generated/ios/c++/HybridGoogleMapsNitroViewSpecSwift.hpp +294 -0
  124. package/nitrogen/generated/ios/c++/views/HybridGoogleMapsNitroViewComponent.mm +191 -0
  125. package/nitrogen/generated/ios/swift/Func_void_RNLatLng.swift +47 -0
  126. package/nitrogen/generated/ios/swift/Func_void_RNLocation.swift +47 -0
  127. package/nitrogen/generated/ios/swift/Func_void_RNLocationErrorCode.swift +47 -0
  128. package/nitrogen/generated/ios/swift/Func_void_RNLocationPermissionResult.swift +47 -0
  129. package/nitrogen/generated/ios/swift/Func_void_RNMapErrorCode.swift +47 -0
  130. package/nitrogen/generated/ios/swift/Func_void_RNRegion_RNCamera_bool.swift +47 -0
  131. package/nitrogen/generated/ios/swift/Func_void_bool.swift +47 -0
  132. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +47 -0
  133. package/nitrogen/generated/ios/swift/Func_void_std__string.swift +47 -0
  134. package/nitrogen/generated/ios/swift/HybridGoogleMapsNitroModuleSpec.swift +52 -0
  135. package/nitrogen/generated/ios/swift/HybridGoogleMapsNitroModuleSpec_cxx.swift +164 -0
  136. package/nitrogen/generated/ios/swift/HybridGoogleMapsNitroViewSpec.swift +73 -0
  137. package/nitrogen/generated/ios/swift/HybridGoogleMapsNitroViewSpec_cxx.swift +630 -0
  138. package/nitrogen/generated/ios/swift/RNAndroidLocationPermissionResult.swift +44 -0
  139. package/nitrogen/generated/ios/swift/RNCamera.swift +123 -0
  140. package/nitrogen/generated/ios/swift/RNIOSPermissionResult.swift +40 -0
  141. package/nitrogen/generated/ios/swift/RNLatLng.swift +46 -0
  142. package/nitrogen/generated/ios/swift/RNLineCapType.swift +44 -0
  143. package/nitrogen/generated/ios/swift/RNLineJoinType.swift +44 -0
  144. package/nitrogen/generated/ios/swift/RNLocation.swift +46 -0
  145. package/nitrogen/generated/ios/swift/RNLocationErrorCode.swift +56 -0
  146. package/nitrogen/generated/ios/swift/RNLocationPermissionResult.swift +70 -0
  147. package/nitrogen/generated/ios/swift/RNMapErrorCode.swift +60 -0
  148. package/nitrogen/generated/ios/swift/RNMapPadding.swift +68 -0
  149. package/nitrogen/generated/ios/swift/RNMarker.swift +120 -0
  150. package/nitrogen/generated/ios/swift/RNPolygon.swift +152 -0
  151. package/nitrogen/generated/ios/swift/RNPolyline.swift +168 -0
  152. package/nitrogen/generated/ios/swift/RNPosition.swift +46 -0
  153. package/nitrogen/generated/ios/swift/RNRegion.swift +57 -0
  154. package/nitrogen/generated/ios/swift/RNUserInterfaceStyle.swift +44 -0
  155. package/nitrogen/generated/shared/c++/HybridGoogleMapsNitroModuleSpec.cpp +24 -0
  156. package/nitrogen/generated/shared/c++/HybridGoogleMapsNitroModuleSpec.hpp +67 -0
  157. package/nitrogen/generated/shared/c++/HybridGoogleMapsNitroViewSpec.cpp +66 -0
  158. package/nitrogen/generated/shared/c++/HybridGoogleMapsNitroViewSpec.hpp +145 -0
  159. package/nitrogen/generated/shared/c++/RNAndroidLocationPermissionResult.hpp +67 -0
  160. package/nitrogen/generated/shared/c++/RNCamera.hpp +81 -0
  161. package/nitrogen/generated/shared/c++/RNIOSPermissionResult.hpp +65 -0
  162. package/nitrogen/generated/shared/c++/RNLatLng.hpp +71 -0
  163. package/nitrogen/generated/shared/c++/RNLineCapType.hpp +80 -0
  164. package/nitrogen/generated/shared/c++/RNLineJoinType.hpp +80 -0
  165. package/nitrogen/generated/shared/c++/RNLocation.hpp +72 -0
  166. package/nitrogen/generated/shared/c++/RNLocationErrorCode.hpp +73 -0
  167. package/nitrogen/generated/shared/c++/RNLocationPermissionResult.hpp +76 -0
  168. package/nitrogen/generated/shared/c++/RNMapErrorCode.hpp +67 -0
  169. package/nitrogen/generated/shared/c++/RNMapPadding.hpp +79 -0
  170. package/nitrogen/generated/shared/c++/RNMarker.hpp +97 -0
  171. package/nitrogen/generated/shared/c++/RNPolygon.hpp +91 -0
  172. package/nitrogen/generated/shared/c++/RNPolyline.hpp +101 -0
  173. package/nitrogen/generated/shared/c++/RNPosition.hpp +71 -0
  174. package/nitrogen/generated/shared/c++/RNRegion.hpp +76 -0
  175. package/nitrogen/generated/shared/c++/RNUserInterfaceStyle.hpp +80 -0
  176. package/nitrogen/generated/shared/c++/views/HybridGoogleMapsNitroViewComponent.cpp +315 -0
  177. package/nitrogen/generated/shared/c++/views/HybridGoogleMapsNitroViewComponent.hpp +139 -0
  178. package/nitrogen/generated/shared/json/GoogleMapsNitroViewConfig.json +29 -0
  179. package/package.json +13 -3
  180. package/src/GoogleMapsNitroModule.nitro.ts +13 -0
  181. package/src/GoogleMapsNitroView.nitro.ts +78 -0
  182. package/src/index.tsx +24 -0
  183. package/src/types.ts +174 -0
@@ -0,0 +1,47 @@
1
+ ///
2
+ /// RNPolyline.kt
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ package com.googlemapsnitro
9
+
10
+ import androidx.annotation.Keep
11
+ import com.facebook.proguard.annotations.DoNotStrip
12
+ import com.margelo.nitro.core.*
13
+
14
+
15
+ /**
16
+ * Represents the JavaScript object/struct "RNPolyline".
17
+ */
18
+ @DoNotStrip
19
+ @Keep
20
+ data class RNPolyline
21
+ @DoNotStrip
22
+ @Keep
23
+ constructor(
24
+ @DoNotStrip
25
+ @Keep
26
+ val id: String,
27
+ @DoNotStrip
28
+ @Keep
29
+ val zIndex: Double,
30
+ @DoNotStrip
31
+ @Keep
32
+ val coordinates: Array<RNLatLng>,
33
+ @DoNotStrip
34
+ @Keep
35
+ val lineCap: RNLineCapType?,
36
+ @DoNotStrip
37
+ @Keep
38
+ val lineJoin: RNLineJoinType?,
39
+ @DoNotStrip
40
+ @Keep
41
+ val color: String?,
42
+ @DoNotStrip
43
+ @Keep
44
+ val width: Double?
45
+ ) {
46
+ /* main constructor */
47
+ }
@@ -0,0 +1,32 @@
1
+ ///
2
+ /// RNPosition.kt
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ package com.googlemapsnitro
9
+
10
+ import androidx.annotation.Keep
11
+ import com.facebook.proguard.annotations.DoNotStrip
12
+ import com.margelo.nitro.core.*
13
+
14
+
15
+ /**
16
+ * Represents the JavaScript object/struct "RNPosition".
17
+ */
18
+ @DoNotStrip
19
+ @Keep
20
+ data class RNPosition
21
+ @DoNotStrip
22
+ @Keep
23
+ constructor(
24
+ @DoNotStrip
25
+ @Keep
26
+ val x: Double,
27
+ @DoNotStrip
28
+ @Keep
29
+ val y: Double
30
+ ) {
31
+ /* main constructor */
32
+ }
@@ -0,0 +1,35 @@
1
+ ///
2
+ /// RNRegion.kt
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ package com.googlemapsnitro
9
+
10
+ import androidx.annotation.Keep
11
+ import com.facebook.proguard.annotations.DoNotStrip
12
+ import com.margelo.nitro.core.*
13
+
14
+
15
+ /**
16
+ * Represents the JavaScript object/struct "RNRegion".
17
+ */
18
+ @DoNotStrip
19
+ @Keep
20
+ data class RNRegion
21
+ @DoNotStrip
22
+ @Keep
23
+ constructor(
24
+ @DoNotStrip
25
+ @Keep
26
+ val center: RNLatLng,
27
+ @DoNotStrip
28
+ @Keep
29
+ val latitudeDelta: Double,
30
+ @DoNotStrip
31
+ @Keep
32
+ val longitudeDelta: Double
33
+ ) {
34
+ /* main constructor */
35
+ }
@@ -0,0 +1,22 @@
1
+ ///
2
+ /// RNUserInterfaceStyle.kt
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ package com.googlemapsnitro
9
+
10
+ import androidx.annotation.Keep
11
+ import com.facebook.proguard.annotations.DoNotStrip
12
+
13
+ /**
14
+ * Represents the JavaScript enum/union "RNUserInterfaceStyle".
15
+ */
16
+ @DoNotStrip
17
+ @Keep
18
+ enum class RNUserInterfaceStyle(@DoNotStrip @Keep val value: Int) {
19
+ LIGHT(0),
20
+ DARK(1),
21
+ DEFAULT(2);
22
+ }
@@ -0,0 +1,50 @@
1
+ ///
2
+ /// HybridGoogleMapsNitroViewManager.kt
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ package com.googlemapsnitro.views
9
+
10
+ import android.view.View
11
+ import com.facebook.react.uimanager.ReactStylesDiffMap
12
+ import com.facebook.react.uimanager.SimpleViewManager
13
+ import com.facebook.react.uimanager.StateWrapper
14
+ import com.facebook.react.uimanager.ThemedReactContext
15
+ import com.googlemapsnitro.*
16
+
17
+ /**
18
+ * Represents the React Native `ViewManager` for the "GoogleMapsNitroView" Nitro HybridView.
19
+ */
20
+ class HybridGoogleMapsNitroViewManager: SimpleViewManager<View>() {
21
+ private val views = hashMapOf<View, HybridGoogleMapsNitroView>()
22
+
23
+ override fun getName(): String {
24
+ return "GoogleMapsNitroView"
25
+ }
26
+
27
+ override fun createViewInstance(reactContext: ThemedReactContext): View {
28
+ val hybridView = HybridGoogleMapsNitroView(reactContext)
29
+ val view = hybridView.view
30
+ views[view] = hybridView
31
+ return view
32
+ }
33
+
34
+ override fun onDropViewInstance(view: View) {
35
+ super.onDropViewInstance(view)
36
+ views.remove(view)
37
+ }
38
+
39
+ override fun updateState(view: View, props: ReactStylesDiffMap, stateWrapper: StateWrapper): Any? {
40
+ val hybridView = views[view] ?: throw Error("Couldn't find view $view in local views table!")
41
+
42
+ // 1. Update each prop individually
43
+ hybridView.beforeUpdate()
44
+ HybridGoogleMapsNitroViewStateUpdater.updateViewProps(hybridView, stateWrapper)
45
+ hybridView.afterUpdate()
46
+
47
+ // 2. Continue in base View props
48
+ return super.updateState(view, props, stateWrapper)
49
+ }
50
+ }
@@ -0,0 +1,23 @@
1
+ ///
2
+ /// HybridGoogleMapsNitroViewStateUpdater.kt
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ package com.googlemapsnitro.views
9
+
10
+ import com.facebook.react.uimanager.StateWrapper
11
+ import com.googlemapsnitro.*
12
+
13
+ internal class HybridGoogleMapsNitroViewStateUpdater {
14
+ companion object {
15
+ /**
16
+ * Updates the props for [view] through C++.
17
+ * The [state] prop is expected to contain [view]'s props as wrapped Fabric state.
18
+ */
19
+ @Suppress("KotlinJniMissingFunction")
20
+ @JvmStatic
21
+ external fun updateViewProps(view: HybridGoogleMapsNitroViewSpec, state: StateWrapper)
22
+ }
23
+ }
@@ -0,0 +1,60 @@
1
+ #
2
+ # GoogleMapsNitro+autolinking.rb
3
+ # This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ # https://github.com/mrousavy/nitro
5
+ # Copyright © 2025 Marc Rousavy @ Margelo
6
+ #
7
+
8
+ # This is a Ruby script that adds all files generated by Nitrogen
9
+ # to the given podspec.
10
+ #
11
+ # To use it, add this to your .podspec:
12
+ # ```ruby
13
+ # Pod::Spec.new do |spec|
14
+ # # ...
15
+ #
16
+ # # Add all files generated by Nitrogen
17
+ # load 'nitrogen/generated/ios/GoogleMapsNitro+autolinking.rb'
18
+ # add_nitrogen_files(spec)
19
+ # end
20
+ # ```
21
+
22
+ def add_nitrogen_files(spec)
23
+ Pod::UI.puts "[NitroModules] 🔥 GoogleMapsNitro is boosted by nitro!"
24
+
25
+ spec.dependency "NitroModules"
26
+
27
+ current_source_files = Array(spec.attributes_hash['source_files'])
28
+ spec.source_files = current_source_files + [
29
+ # Generated cross-platform specs
30
+ "nitrogen/generated/shared/**/*.{h,hpp,c,cpp,swift}",
31
+ # Generated bridges for the cross-platform specs
32
+ "nitrogen/generated/ios/**/*.{h,hpp,c,cpp,mm,swift}",
33
+ ]
34
+
35
+ current_public_header_files = Array(spec.attributes_hash['public_header_files'])
36
+ spec.public_header_files = current_public_header_files + [
37
+ # Generated specs
38
+ "nitrogen/generated/shared/**/*.{h,hpp}",
39
+ # Swift to C++ bridging helpers
40
+ "nitrogen/generated/ios/GoogleMapsNitro-Swift-Cxx-Bridge.hpp"
41
+ ]
42
+
43
+ current_private_header_files = Array(spec.attributes_hash['private_header_files'])
44
+ spec.private_header_files = current_private_header_files + [
45
+ # iOS specific specs
46
+ "nitrogen/generated/ios/c++/**/*.{h,hpp}",
47
+ # Views are framework-specific and should be private
48
+ "nitrogen/generated/shared/**/views/**/*"
49
+ ]
50
+
51
+ current_pod_target_xcconfig = spec.attributes_hash['pod_target_xcconfig'] || {}
52
+ spec.pod_target_xcconfig = current_pod_target_xcconfig.merge({
53
+ # Use C++ 20
54
+ "CLANG_CXX_LANGUAGE_STANDARD" => "c++20",
55
+ # Enables C++ <-> Swift interop (by default it's only C)
56
+ "SWIFT_OBJC_INTEROP_MODE" => "objcxx",
57
+ # Enables stricter modular headers
58
+ "DEFINES_MODULE" => "YES",
59
+ })
60
+ end
@@ -0,0 +1,121 @@
1
+ ///
2
+ /// GoogleMapsNitro-Swift-Cxx-Bridge.cpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #include "GoogleMapsNitro-Swift-Cxx-Bridge.hpp"
9
+
10
+ // Include C++ implementation defined types
11
+ #include "GoogleMapsNitro-Swift-Cxx-Umbrella.hpp"
12
+ #include "HybridGoogleMapsNitroModuleSpecSwift.hpp"
13
+ #include "HybridGoogleMapsNitroViewSpecSwift.hpp"
14
+
15
+ namespace margelo::nitro::googlemapsnitro::bridge::swift {
16
+
17
+ // pragma MARK: std::function<void(const RNLocationPermissionResult& /* result */)>
18
+ Func_void_RNLocationPermissionResult create_Func_void_RNLocationPermissionResult(void* _Nonnull swiftClosureWrapper) noexcept {
19
+ auto swiftClosure = GoogleMapsNitro::Func_void_RNLocationPermissionResult::fromUnsafe(swiftClosureWrapper);
20
+ return [swiftClosure = std::move(swiftClosure)](const RNLocationPermissionResult& result) mutable -> void {
21
+ swiftClosure.call(result);
22
+ };
23
+ }
24
+
25
+ // pragma MARK: std::function<void(const std::exception_ptr& /* error */)>
26
+ Func_void_std__exception_ptr create_Func_void_std__exception_ptr(void* _Nonnull swiftClosureWrapper) noexcept {
27
+ auto swiftClosure = GoogleMapsNitro::Func_void_std__exception_ptr::fromUnsafe(swiftClosureWrapper);
28
+ return [swiftClosure = std::move(swiftClosure)](const std::exception_ptr& error) mutable -> void {
29
+ swiftClosure.call(error);
30
+ };
31
+ }
32
+
33
+ // pragma MARK: std::shared_ptr<HybridGoogleMapsNitroModuleSpec>
34
+ std::shared_ptr<HybridGoogleMapsNitroModuleSpec> create_std__shared_ptr_HybridGoogleMapsNitroModuleSpec_(void* _Nonnull swiftUnsafePointer) noexcept {
35
+ GoogleMapsNitro::HybridGoogleMapsNitroModuleSpec_cxx swiftPart = GoogleMapsNitro::HybridGoogleMapsNitroModuleSpec_cxx::fromUnsafe(swiftUnsafePointer);
36
+ return std::make_shared<margelo::nitro::googlemapsnitro::HybridGoogleMapsNitroModuleSpecSwift>(swiftPart);
37
+ }
38
+ void* _Nonnull get_std__shared_ptr_HybridGoogleMapsNitroModuleSpec_(std__shared_ptr_HybridGoogleMapsNitroModuleSpec_ cppType) noexcept {
39
+ std::shared_ptr<margelo::nitro::googlemapsnitro::HybridGoogleMapsNitroModuleSpecSwift> swiftWrapper = std::dynamic_pointer_cast<margelo::nitro::googlemapsnitro::HybridGoogleMapsNitroModuleSpecSwift>(cppType);
40
+ #ifdef NITRO_DEBUG
41
+ if (swiftWrapper == nullptr) [[unlikely]] {
42
+ throw std::runtime_error("Class \"HybridGoogleMapsNitroModuleSpec\" is not implemented in Swift!");
43
+ }
44
+ #endif
45
+ GoogleMapsNitro::HybridGoogleMapsNitroModuleSpec_cxx& swiftPart = swiftWrapper->getSwiftPart();
46
+ return swiftPart.toUnsafe();
47
+ }
48
+
49
+ // pragma MARK: std::function<void(RNMapErrorCode /* error */)>
50
+ Func_void_RNMapErrorCode create_Func_void_RNMapErrorCode(void* _Nonnull swiftClosureWrapper) noexcept {
51
+ auto swiftClosure = GoogleMapsNitro::Func_void_RNMapErrorCode::fromUnsafe(swiftClosureWrapper);
52
+ return [swiftClosure = std::move(swiftClosure)](RNMapErrorCode error) mutable -> void {
53
+ swiftClosure.call(static_cast<int>(error));
54
+ };
55
+ }
56
+
57
+ // pragma MARK: std::function<void(bool /* ready */)>
58
+ Func_void_bool create_Func_void_bool(void* _Nonnull swiftClosureWrapper) noexcept {
59
+ auto swiftClosure = GoogleMapsNitro::Func_void_bool::fromUnsafe(swiftClosureWrapper);
60
+ return [swiftClosure = std::move(swiftClosure)](bool ready) mutable -> void {
61
+ swiftClosure.call(ready);
62
+ };
63
+ }
64
+
65
+ // pragma MARK: std::function<void(const RNLocation& /* location */)>
66
+ Func_void_RNLocation create_Func_void_RNLocation(void* _Nonnull swiftClosureWrapper) noexcept {
67
+ auto swiftClosure = GoogleMapsNitro::Func_void_RNLocation::fromUnsafe(swiftClosureWrapper);
68
+ return [swiftClosure = std::move(swiftClosure)](const RNLocation& location) mutable -> void {
69
+ swiftClosure.call(location);
70
+ };
71
+ }
72
+
73
+ // pragma MARK: std::function<void(RNLocationErrorCode /* error */)>
74
+ Func_void_RNLocationErrorCode create_Func_void_RNLocationErrorCode(void* _Nonnull swiftClosureWrapper) noexcept {
75
+ auto swiftClosure = GoogleMapsNitro::Func_void_RNLocationErrorCode::fromUnsafe(swiftClosureWrapper);
76
+ return [swiftClosure = std::move(swiftClosure)](RNLocationErrorCode error) mutable -> void {
77
+ swiftClosure.call(static_cast<int>(error));
78
+ };
79
+ }
80
+
81
+ // pragma MARK: std::function<void(const RNLatLng& /* coordinate */)>
82
+ Func_void_RNLatLng create_Func_void_RNLatLng(void* _Nonnull swiftClosureWrapper) noexcept {
83
+ auto swiftClosure = GoogleMapsNitro::Func_void_RNLatLng::fromUnsafe(swiftClosureWrapper);
84
+ return [swiftClosure = std::move(swiftClosure)](const RNLatLng& coordinate) mutable -> void {
85
+ swiftClosure.call(coordinate);
86
+ };
87
+ }
88
+
89
+ // pragma MARK: std::function<void(const std::string& /* id */)>
90
+ Func_void_std__string create_Func_void_std__string(void* _Nonnull swiftClosureWrapper) noexcept {
91
+ auto swiftClosure = GoogleMapsNitro::Func_void_std__string::fromUnsafe(swiftClosureWrapper);
92
+ return [swiftClosure = std::move(swiftClosure)](const std::string& id) mutable -> void {
93
+ swiftClosure.call(id);
94
+ };
95
+ }
96
+
97
+ // pragma MARK: std::function<void(const RNRegion& /* region */, const RNCamera& /* camera */, bool /* isGesture */)>
98
+ Func_void_RNRegion_RNCamera_bool create_Func_void_RNRegion_RNCamera_bool(void* _Nonnull swiftClosureWrapper) noexcept {
99
+ auto swiftClosure = GoogleMapsNitro::Func_void_RNRegion_RNCamera_bool::fromUnsafe(swiftClosureWrapper);
100
+ return [swiftClosure = std::move(swiftClosure)](const RNRegion& region, const RNCamera& camera, bool isGesture) mutable -> void {
101
+ swiftClosure.call(region, camera, isGesture);
102
+ };
103
+ }
104
+
105
+ // pragma MARK: std::shared_ptr<HybridGoogleMapsNitroViewSpec>
106
+ std::shared_ptr<HybridGoogleMapsNitroViewSpec> create_std__shared_ptr_HybridGoogleMapsNitroViewSpec_(void* _Nonnull swiftUnsafePointer) noexcept {
107
+ GoogleMapsNitro::HybridGoogleMapsNitroViewSpec_cxx swiftPart = GoogleMapsNitro::HybridGoogleMapsNitroViewSpec_cxx::fromUnsafe(swiftUnsafePointer);
108
+ return std::make_shared<margelo::nitro::googlemapsnitro::HybridGoogleMapsNitroViewSpecSwift>(swiftPart);
109
+ }
110
+ void* _Nonnull get_std__shared_ptr_HybridGoogleMapsNitroViewSpec_(std__shared_ptr_HybridGoogleMapsNitroViewSpec_ cppType) noexcept {
111
+ std::shared_ptr<margelo::nitro::googlemapsnitro::HybridGoogleMapsNitroViewSpecSwift> swiftWrapper = std::dynamic_pointer_cast<margelo::nitro::googlemapsnitro::HybridGoogleMapsNitroViewSpecSwift>(cppType);
112
+ #ifdef NITRO_DEBUG
113
+ if (swiftWrapper == nullptr) [[unlikely]] {
114
+ throw std::runtime_error("Class \"HybridGoogleMapsNitroViewSpec\" is not implemented in Swift!");
115
+ }
116
+ #endif
117
+ GoogleMapsNitro::HybridGoogleMapsNitroViewSpec_cxx& swiftPart = swiftWrapper->getSwiftPart();
118
+ return swiftPart.toUnsafe();
119
+ }
120
+
121
+ } // namespace margelo::nitro::googlemapsnitro::bridge::swift