react-native-google-maps-plus 1.8.4-dev.3 → 1.8.4-dev.4

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 (61) hide show
  1. package/README.md +48 -12
  2. package/android/src/main/java/com/rngooglemapsplus/GoogleMapsViewImpl.kt +8 -1
  3. package/nitrogen/generated/android/c++/JHybridRNGoogleMapsPlusModuleSpec.cpp +6 -0
  4. package/nitrogen/generated/android/c++/JHybridRNGoogleMapsPlusModuleSpec.hpp +1 -0
  5. package/nitrogen/generated/android/c++/JHybridRNGoogleMapsPlusViewSpec.cpp +6 -0
  6. package/nitrogen/generated/android/c++/JHybridRNGoogleMapsPlusViewSpec.hpp +1 -0
  7. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/Func_void_RNIndoorBuilding.kt +0 -1
  8. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/Func_void_RNIndoorLevel.kt +0 -1
  9. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/Func_void_RNLatLng.kt +0 -1
  10. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/Func_void_RNLocation.kt +0 -1
  11. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/Func_void_RNLocationErrorCode.kt +0 -1
  12. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/Func_void_RNMapErrorCode.kt +0 -1
  13. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/Func_void_RNRegion_RNCamera.kt +0 -1
  14. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/Func_void_RNRegion_RNCamera_bool.kt +0 -1
  15. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/Func_void_bool.kt +0 -1
  16. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/Func_void_std__string.kt +0 -1
  17. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/Func_void_std__string_RNLatLng.kt +0 -1
  18. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/Func_void_std__string_std__string_RNLatLng.kt +0 -1
  19. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/HybridRNGoogleMapsPlusModuleSpec.kt +7 -1
  20. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/HybridRNGoogleMapsPlusViewSpec.kt +7 -2
  21. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNAndroidLocationConfig.kt +2 -1
  22. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNCamera.kt +2 -1
  23. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNCameraUpdate.kt +2 -1
  24. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNCircle.kt +2 -1
  25. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNHeatmap.kt +2 -1
  26. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNHeatmapGradient.kt +2 -1
  27. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNHeatmapPoint.kt +2 -1
  28. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNIOSLocationConfig.kt +2 -1
  29. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNIndoorBuilding.kt +2 -1
  30. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNIndoorLevel.kt +2 -1
  31. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNInitialProps.kt +2 -1
  32. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNKMLayer.kt +2 -1
  33. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNLatLng.kt +2 -1
  34. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNLatLngBounds.kt +2 -1
  35. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNLocation.kt +2 -1
  36. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNLocationAndroid.kt +2 -1
  37. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNLocationConfig.kt +2 -1
  38. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNLocationIOS.kt +2 -1
  39. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNLocationPermissionResult.kt +2 -1
  40. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNMapPadding.kt +2 -1
  41. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNMapUiSettings.kt +2 -1
  42. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNMapZoomConfig.kt +2 -1
  43. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNMarker.kt +2 -1
  44. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNMarkerSvg.kt +2 -1
  45. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNPolygon.kt +2 -1
  46. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNPolygonHole.kt +2 -1
  47. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNPolyline.kt +2 -1
  48. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNPosition.kt +2 -1
  49. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNRegion.kt +2 -1
  50. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNSize.kt +2 -1
  51. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNSnapshotOptions.kt +2 -1
  52. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNUrlTileOverlay.kt +2 -1
  53. package/nitrogen/generated/ios/RNGoogleMapsPlus-Swift-Cxx-Bridge.hpp +4 -6
  54. package/nitrogen/generated/ios/c++/HybridRNGoogleMapsPlusModuleSpecSwift.hpp +3 -0
  55. package/nitrogen/generated/ios/c++/HybridRNGoogleMapsPlusViewSpecSwift.hpp +3 -0
  56. package/nitrogen/generated/ios/swift/HybridRNGoogleMapsPlusModuleSpec.swift +8 -0
  57. package/nitrogen/generated/ios/swift/HybridRNGoogleMapsPlusModuleSpec_cxx.swift +10 -1
  58. package/nitrogen/generated/ios/swift/HybridRNGoogleMapsPlusViewSpec.swift +8 -0
  59. package/nitrogen/generated/ios/swift/HybridRNGoogleMapsPlusViewSpec_cxx.swift +10 -1
  60. package/nitrogen/generated/ios/swift/RNHeatmapGradient.swift +15 -11
  61. package/package.json +3 -3
package/README.md CHANGED
@@ -101,8 +101,6 @@ Expo projects should use the config plugin instead (see Expo section above).
101
101
 
102
102
  See the official [Google Maps Android SDK configuration guide](https://developers.google.com/maps/documentation/android-sdk/config#step_3_add_your_api_key_to_the_project) for more details.
103
103
 
104
- ---
105
-
106
104
  ### iOS
107
105
 
108
106
  **Note:** These instructions apply to **bare React Native apps only**.
@@ -110,23 +108,61 @@ Expo projects should use the config plugin instead (see Expo section above).
110
108
 
111
109
  See the official [Google Maps iOS SDK configuration guide](https://developers.google.com/maps/documentation/ios-sdk/config#get-key) for more details.
112
110
 
113
- ---
111
+ ## Dependencies & Native Documentation
112
+
113
+ This package is React Native wrapper around the official Google Maps SDKs.
114
+ For full API behavior, configuration options, and feature reference, please consult the native documentation:
115
+
116
+ - **iOS Google Maps SDK**
117
+ https://developers.google.com/maps/documentation/ios-sdk
114
118
 
115
- # Dependencies
119
+ - **Android Google Maps SDK**
120
+ https://developers.google.com/maps/documentation/android-sdk
116
121
 
117
- This package builds on native libraries for SVG rendering and Google Maps integration:
122
+ - **Maps Utility Libraries (iOS & Android)**
123
+ https://developers.google.com/maps/documentation/ios-sdk/utility
124
+ https://developers.google.com/maps/documentation/android-sdk/utility
118
125
 
119
- - **iOS**: [SVGKit](https://github.com/SVGKit/SVGKit)
120
- - **Android**: [AndroidSVG](https://bigbadaboom.github.io/androidsvg/)
121
- - **iOS Maps SDK**: [Google Maps SDK for iOS](https://developers.google.com/maps/documentation/ios-sdk)
122
- - **Android Maps SDK**: [Google Maps SDK for Android](https://developers.google.com/maps/documentation/android-sdk)
123
- - **Maps Utility Libraries**: [Google Maps Utils for iOS](https://developers.google.com/maps/documentation/ios-sdk/utility) and [Google Maps Utils for Android](https://developers.google.com/maps/documentation/android-sdk/utility)
126
+ - **SVG Rendering** (used for custom marker icons)
127
+ - iOS: https://github.com/SVGKit/SVGKit
128
+ - Android: https://bigbadaboom.github.io/androidsvg/
124
129
 
125
- These are automatically linked when you install the package, but you may need to clean/rebuild your native projects after first install.
130
+ These libraries are automatically linked during installation.
131
+ If you encounter build issues, try cleaning and rebuilding your native project.
132
+
133
+ > **Note:** This package follows the native SDKs closely. Props and behavior match the underlying Google Maps APIs whenever possible.
126
134
 
127
135
  ## Usage
128
136
 
129
- Checkout the example app in the [example](./example) folder.
137
+ Basic map:
138
+
139
+ ```tsx
140
+ import React from 'react';
141
+ import { GoogleMapsView } from 'react-native-google-maps-plus';
142
+
143
+ export default function App() {
144
+ return (
145
+ <GoogleMapsView
146
+ style={{ flex: 1 }}
147
+ initialProps={{
148
+ camera: {
149
+ center: { latitude: 37.7749, longitude: -122.4194 },
150
+ zoom: 12,
151
+ },
152
+ }}
153
+ markers={[
154
+ {
155
+ id: '1',
156
+ zIndex: 1,
157
+ coordinate: { latitude: 37.7749, longitude: -122.4194 },
158
+ },
159
+ ]}
160
+ />
161
+ );
162
+ }
163
+ ```
164
+
165
+ Check out the example app in the [example](./example) folder.
130
166
 
131
167
  ## Contributing
132
168
 
@@ -345,7 +345,14 @@ class GoogleMapsViewImpl(
345
345
  var userInterfaceStyle: Int? = null
346
346
  set(value) {
347
347
  field = value
348
- onUi { googleMap?.mapColorScheme = value ?: MapColorScheme.FOLLOW_SYSTEM }
348
+ onUi {
349
+ try {
350
+ // / not supported when liteMode enabled on latest renderer
351
+ googleMap?.mapColorScheme = value ?: MapColorScheme.FOLLOW_SYSTEM
352
+ } catch (_: UnsupportedOperationException) {
353
+ // / ignore
354
+ }
355
+ }
349
356
  }
350
357
 
351
358
  var mapZoomConfig: RNMapZoomConfig? = null
@@ -46,6 +46,12 @@ namespace margelo::nitro::rngooglemapsplus {
46
46
  method(_javaPart);
47
47
  }
48
48
 
49
+ std::string JHybridRNGoogleMapsPlusModuleSpec::toString() {
50
+ static const auto method = javaClassStatic()->getMethod<jni::JString()>("toString");
51
+ auto javaString = method(_javaPart);
52
+ return javaString->toStdString();
53
+ }
54
+
49
55
  // Properties
50
56
 
51
57
 
@@ -41,6 +41,7 @@ namespace margelo::nitro::rngooglemapsplus {
41
41
  public:
42
42
  size_t getExternalMemorySize() noexcept override;
43
43
  void dispose() noexcept override;
44
+ std::string toString() override;
44
45
 
45
46
  public:
46
47
  inline const jni::global_ref<JHybridRNGoogleMapsPlusModuleSpec::javaobject>& getJavaPart() const noexcept {
@@ -225,6 +225,12 @@ namespace margelo::nitro::rngooglemapsplus {
225
225
  method(_javaPart);
226
226
  }
227
227
 
228
+ std::string JHybridRNGoogleMapsPlusViewSpec::toString() {
229
+ static const auto method = javaClassStatic()->getMethod<jni::JString()>("toString");
230
+ auto javaString = method(_javaPart);
231
+ return javaString->toStdString();
232
+ }
233
+
228
234
  // Properties
229
235
  std::optional<RNInitialProps> JHybridRNGoogleMapsPlusViewSpec::getInitialProps() {
230
236
  static const auto method = javaClassStatic()->getMethod<jni::local_ref<JRNInitialProps>()>("getInitialProps");
@@ -41,6 +41,7 @@ namespace margelo::nitro::rngooglemapsplus {
41
41
  public:
42
42
  size_t getExternalMemorySize() noexcept override;
43
43
  void dispose() noexcept override;
44
+ std::string toString() override;
44
45
 
45
46
  public:
46
47
  inline const jni::global_ref<JHybridRNGoogleMapsPlusViewSpec::javaobject>& getJavaPart() const noexcept {
@@ -10,7 +10,6 @@ package com.rngooglemapsplus
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.jni.HybridData
12
12
  import com.facebook.proguard.annotations.DoNotStrip
13
- import com.margelo.nitro.core.*
14
13
  import dalvik.annotation.optimization.FastNative
15
14
 
16
15
 
@@ -10,7 +10,6 @@ package com.rngooglemapsplus
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.jni.HybridData
12
12
  import com.facebook.proguard.annotations.DoNotStrip
13
- import com.margelo.nitro.core.*
14
13
  import dalvik.annotation.optimization.FastNative
15
14
 
16
15
 
@@ -10,7 +10,6 @@ package com.rngooglemapsplus
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.jni.HybridData
12
12
  import com.facebook.proguard.annotations.DoNotStrip
13
- import com.margelo.nitro.core.*
14
13
  import dalvik.annotation.optimization.FastNative
15
14
 
16
15
 
@@ -10,7 +10,6 @@ package com.rngooglemapsplus
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.jni.HybridData
12
12
  import com.facebook.proguard.annotations.DoNotStrip
13
- import com.margelo.nitro.core.*
14
13
  import dalvik.annotation.optimization.FastNative
15
14
 
16
15
 
@@ -10,7 +10,6 @@ package com.rngooglemapsplus
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.jni.HybridData
12
12
  import com.facebook.proguard.annotations.DoNotStrip
13
- import com.margelo.nitro.core.*
14
13
  import dalvik.annotation.optimization.FastNative
15
14
 
16
15
 
@@ -10,7 +10,6 @@ package com.rngooglemapsplus
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.jni.HybridData
12
12
  import com.facebook.proguard.annotations.DoNotStrip
13
- import com.margelo.nitro.core.*
14
13
  import dalvik.annotation.optimization.FastNative
15
14
 
16
15
 
@@ -10,7 +10,6 @@ package com.rngooglemapsplus
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.jni.HybridData
12
12
  import com.facebook.proguard.annotations.DoNotStrip
13
- import com.margelo.nitro.core.*
14
13
  import dalvik.annotation.optimization.FastNative
15
14
 
16
15
 
@@ -10,7 +10,6 @@ package com.rngooglemapsplus
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.jni.HybridData
12
12
  import com.facebook.proguard.annotations.DoNotStrip
13
- import com.margelo.nitro.core.*
14
13
  import dalvik.annotation.optimization.FastNative
15
14
 
16
15
 
@@ -10,7 +10,6 @@ package com.rngooglemapsplus
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.jni.HybridData
12
12
  import com.facebook.proguard.annotations.DoNotStrip
13
- import com.margelo.nitro.core.*
14
13
  import dalvik.annotation.optimization.FastNative
15
14
 
16
15
 
@@ -10,7 +10,6 @@ package com.rngooglemapsplus
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.jni.HybridData
12
12
  import com.facebook.proguard.annotations.DoNotStrip
13
- import com.margelo.nitro.core.*
14
13
  import dalvik.annotation.optimization.FastNative
15
14
 
16
15
 
@@ -10,7 +10,6 @@ package com.rngooglemapsplus
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.jni.HybridData
12
12
  import com.facebook.proguard.annotations.DoNotStrip
13
- import com.margelo.nitro.core.*
14
13
  import dalvik.annotation.optimization.FastNative
15
14
 
16
15
 
@@ -10,7 +10,6 @@ package com.rngooglemapsplus
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.jni.HybridData
12
12
  import com.facebook.proguard.annotations.DoNotStrip
13
- import com.margelo.nitro.core.*
14
13
  import dalvik.annotation.optimization.FastNative
15
14
 
16
15
 
@@ -10,7 +10,8 @@ package com.rngooglemapsplus
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.jni.HybridData
12
12
  import com.facebook.proguard.annotations.DoNotStrip
13
- import com.margelo.nitro.core.*
13
+ import com.margelo.nitro.core.Promise
14
+ import com.margelo.nitro.core.HybridObject
14
15
 
15
16
  /**
16
17
  * A Kotlin class representing the RNGoogleMapsPlusModule HybridObject.
@@ -36,6 +37,11 @@ abstract class HybridRNGoogleMapsPlusModuleSpec: HybridObject() {
36
37
  super.updateNative(hybridData)
37
38
  }
38
39
 
40
+ // Default implementation of `HybridObject.toString()`
41
+ override fun toString(): String {
42
+ return "[HybridObject RNGoogleMapsPlusModule]"
43
+ }
44
+
39
45
  // Properties
40
46
 
41
47
 
@@ -10,8 +10,8 @@ package com.rngooglemapsplus
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.jni.HybridData
12
12
  import com.facebook.proguard.annotations.DoNotStrip
13
- import com.margelo.nitro.core.*
14
- import com.margelo.nitro.views.*
13
+ import com.margelo.nitro.core.Promise
14
+ import com.margelo.nitro.views.HybridView
15
15
 
16
16
  /**
17
17
  * A Kotlin class representing the RNGoogleMapsPlusView HybridObject.
@@ -37,6 +37,11 @@ abstract class HybridRNGoogleMapsPlusViewSpec: HybridView() {
37
37
  super.updateNative(hybridData)
38
38
  }
39
39
 
40
+ // Default implementation of `HybridObject.toString()`
41
+ override fun toString(): String {
42
+ return "[HybridObject RNGoogleMapsPlusView]"
43
+ }
44
+
40
45
  // Properties
41
46
  @get:DoNotStrip
42
47
  @get:Keep
@@ -9,7 +9,6 @@ package com.rngooglemapsplus
9
9
 
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
- import com.margelo.nitro.core.*
13
12
 
14
13
 
15
14
  /**
@@ -28,6 +27,8 @@ data class RNAndroidLocationConfig(
28
27
  @Keep
29
28
  val minUpdateInterval: Double?
30
29
  ) {
30
+ /* primary constructor */
31
+
31
32
  private companion object {
32
33
  /**
33
34
  * Constructor called from C++
@@ -9,7 +9,6 @@ package com.rngooglemapsplus
9
9
 
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
- import com.margelo.nitro.core.*
13
12
 
14
13
 
15
14
  /**
@@ -31,6 +30,8 @@ data class RNCamera(
31
30
  @Keep
32
31
  val tilt: Double
33
32
  ) {
33
+ /* primary constructor */
34
+
34
35
  private companion object {
35
36
  /**
36
37
  * Constructor called from C++
@@ -9,7 +9,6 @@ package com.rngooglemapsplus
9
9
 
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
- import com.margelo.nitro.core.*
13
12
 
14
13
 
15
14
  /**
@@ -31,6 +30,8 @@ data class RNCameraUpdate(
31
30
  @Keep
32
31
  val tilt: Double?
33
32
  ) {
33
+ /* primary constructor */
34
+
34
35
  private companion object {
35
36
  /**
36
37
  * Constructor called from C++
@@ -9,7 +9,6 @@ package com.rngooglemapsplus
9
9
 
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
- import com.margelo.nitro.core.*
13
12
 
14
13
 
15
14
  /**
@@ -43,6 +42,8 @@ data class RNCircle(
43
42
  @Keep
44
43
  val fillColor: String?
45
44
  ) {
45
+ /* primary constructor */
46
+
46
47
  private companion object {
47
48
  /**
48
49
  * Constructor called from C++
@@ -9,7 +9,6 @@ package com.rngooglemapsplus
9
9
 
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
- import com.margelo.nitro.core.*
13
12
 
14
13
 
15
14
  /**
@@ -40,6 +39,8 @@ data class RNHeatmap(
40
39
  @Keep
41
40
  val gradient: RNHeatmapGradient?
42
41
  ) {
42
+ /* primary constructor */
43
+
43
44
  private companion object {
44
45
  /**
45
46
  * Constructor called from C++
@@ -9,7 +9,6 @@ package com.rngooglemapsplus
9
9
 
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
- import com.margelo.nitro.core.*
13
12
 
14
13
 
15
14
  /**
@@ -28,6 +27,8 @@ data class RNHeatmapGradient(
28
27
  @Keep
29
28
  val colorMapSize: Double
30
29
  ) {
30
+ /* primary constructor */
31
+
31
32
  private companion object {
32
33
  /**
33
34
  * Constructor called from C++
@@ -9,7 +9,6 @@ package com.rngooglemapsplus
9
9
 
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
- import com.margelo.nitro.core.*
13
12
 
14
13
 
15
14
  /**
@@ -28,6 +27,8 @@ data class RNHeatmapPoint(
28
27
  @Keep
29
28
  val weight: Double
30
29
  ) {
30
+ /* primary constructor */
31
+
31
32
  private companion object {
32
33
  /**
33
34
  * Constructor called from C++
@@ -9,7 +9,6 @@ package com.rngooglemapsplus
9
9
 
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
- import com.margelo.nitro.core.*
13
12
 
14
13
 
15
14
  /**
@@ -25,6 +24,8 @@ data class RNIOSLocationConfig(
25
24
  @Keep
26
25
  val distanceFilterMeters: Double?
27
26
  ) {
27
+ /* primary constructor */
28
+
28
29
  private companion object {
29
30
  /**
30
31
  * Constructor called from C++
@@ -9,7 +9,6 @@ package com.rngooglemapsplus
9
9
 
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
- import com.margelo.nitro.core.*
13
12
 
14
13
 
15
14
  /**
@@ -31,6 +30,8 @@ data class RNIndoorBuilding(
31
30
  @Keep
32
31
  val underground: Boolean?
33
32
  ) {
33
+ /* primary constructor */
34
+
34
35
  private companion object {
35
36
  /**
36
37
  * Constructor called from C++
@@ -9,7 +9,6 @@ package com.rngooglemapsplus
9
9
 
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
- import com.margelo.nitro.core.*
13
12
 
14
13
 
15
14
  /**
@@ -31,6 +30,8 @@ data class RNIndoorLevel(
31
30
  @Keep
32
31
  val active: Boolean?
33
32
  ) {
33
+ /* primary constructor */
34
+
34
35
  private companion object {
35
36
  /**
36
37
  * Constructor called from C++
@@ -9,7 +9,6 @@ package com.rngooglemapsplus
9
9
 
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
- import com.margelo.nitro.core.*
13
12
 
14
13
 
15
14
  /**
@@ -31,6 +30,8 @@ data class RNInitialProps(
31
30
  @Keep
32
31
  val backgroundColor: String?
33
32
  ) {
33
+ /* primary constructor */
34
+
34
35
  private companion object {
35
36
  /**
36
37
  * Constructor called from C++
@@ -9,7 +9,6 @@ package com.rngooglemapsplus
9
9
 
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
- import com.margelo.nitro.core.*
13
12
 
14
13
 
15
14
  /**
@@ -25,6 +24,8 @@ data class RNKMLayer(
25
24
  @Keep
26
25
  val kmlString: String
27
26
  ) {
27
+ /* primary constructor */
28
+
28
29
  private companion object {
29
30
  /**
30
31
  * Constructor called from C++
@@ -9,7 +9,6 @@ package com.rngooglemapsplus
9
9
 
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
- import com.margelo.nitro.core.*
13
12
 
14
13
 
15
14
  /**
@@ -25,6 +24,8 @@ data class RNLatLng(
25
24
  @Keep
26
25
  val longitude: Double
27
26
  ) {
27
+ /* primary constructor */
28
+
28
29
  private companion object {
29
30
  /**
30
31
  * Constructor called from C++
@@ -9,7 +9,6 @@ package com.rngooglemapsplus
9
9
 
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
- import com.margelo.nitro.core.*
13
12
 
14
13
 
15
14
  /**
@@ -25,6 +24,8 @@ data class RNLatLngBounds(
25
24
  @Keep
26
25
  val northeast: RNLatLng
27
26
  ) {
27
+ /* primary constructor */
28
+
28
29
  private companion object {
29
30
  /**
30
31
  * Constructor called from C++
@@ -9,7 +9,6 @@ package com.rngooglemapsplus
9
9
 
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
- import com.margelo.nitro.core.*
13
12
 
14
13
 
15
14
  /**
@@ -43,6 +42,8 @@ data class RNLocation(
43
42
  @Keep
44
43
  val ios: RNLocationIOS?
45
44
  ) {
45
+ /* primary constructor */
46
+
46
47
  private companion object {
47
48
  /**
48
49
  * Constructor called from C++
@@ -9,7 +9,6 @@ package com.rngooglemapsplus
9
9
 
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
- import com.margelo.nitro.core.*
13
12
 
14
13
 
15
14
  /**
@@ -43,6 +42,8 @@ data class RNLocationAndroid(
43
42
  @Keep
44
43
  val isMock: Boolean?
45
44
  ) {
45
+ /* primary constructor */
46
+
46
47
  private companion object {
47
48
  /**
48
49
  * Constructor called from C++
@@ -9,7 +9,6 @@ package com.rngooglemapsplus
9
9
 
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
- import com.margelo.nitro.core.*
13
12
 
14
13
 
15
14
  /**
@@ -25,6 +24,8 @@ data class RNLocationConfig(
25
24
  @Keep
26
25
  val ios: RNIOSLocationConfig?
27
26
  ) {
27
+ /* primary constructor */
28
+
28
29
  private companion object {
29
30
  /**
30
31
  * Constructor called from C++
@@ -9,7 +9,6 @@ package com.rngooglemapsplus
9
9
 
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
- import com.margelo.nitro.core.*
13
12
 
14
13
 
15
14
  /**
@@ -40,6 +39,8 @@ data class RNLocationIOS(
40
39
  @Keep
41
40
  val timestamp: Double?
42
41
  ) {
42
+ /* primary constructor */
43
+
43
44
  private companion object {
44
45
  /**
45
46
  * Constructor called from C++
@@ -9,7 +9,6 @@ package com.rngooglemapsplus
9
9
 
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
- import com.margelo.nitro.core.*
13
12
 
14
13
 
15
14
  /**
@@ -25,6 +24,8 @@ data class RNLocationPermissionResult(
25
24
  @Keep
26
25
  val ios: RNIOSPermissionResult?
27
26
  ) {
27
+ /* primary constructor */
28
+
28
29
  private companion object {
29
30
  /**
30
31
  * Constructor called from C++
@@ -9,7 +9,6 @@ package com.rngooglemapsplus
9
9
 
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
- import com.margelo.nitro.core.*
13
12
 
14
13
 
15
14
  /**
@@ -31,6 +30,8 @@ data class RNMapPadding(
31
30
  @Keep
32
31
  val right: Double
33
32
  ) {
33
+ /* primary constructor */
34
+
34
35
  private companion object {
35
36
  /**
36
37
  * Constructor called from C++
@@ -9,7 +9,6 @@ package com.rngooglemapsplus
9
9
 
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
- import com.margelo.nitro.core.*
13
12
 
14
13
 
15
14
  /**
@@ -58,6 +57,8 @@ data class RNMapUiSettings(
58
57
  @Keep
59
58
  val consumeOnMyLocationButtonPress: Boolean?
60
59
  ) {
60
+ /* primary constructor */
61
+
61
62
  private companion object {
62
63
  /**
63
64
  * Constructor called from C++
@@ -9,7 +9,6 @@ package com.rngooglemapsplus
9
9
 
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
- import com.margelo.nitro.core.*
13
12
 
14
13
 
15
14
  /**
@@ -25,6 +24,8 @@ data class RNMapZoomConfig(
25
24
  @Keep
26
25
  val max: Double?
27
26
  ) {
27
+ /* primary constructor */
28
+
28
29
  private companion object {
29
30
  /**
30
31
  * Constructor called from C++
@@ -9,7 +9,6 @@ package com.rngooglemapsplus
9
9
 
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
- import com.margelo.nitro.core.*
13
12
 
14
13
 
15
14
  /**
@@ -58,6 +57,8 @@ data class RNMarker(
58
57
  @Keep
59
58
  val infoWindowIconSvg: RNMarkerSvg?
60
59
  ) {
60
+ /* primary constructor */
61
+
61
62
  private companion object {
62
63
  /**
63
64
  * Constructor called from C++
@@ -9,7 +9,6 @@ package com.rngooglemapsplus
9
9
 
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
- import com.margelo.nitro.core.*
13
12
 
14
13
 
15
14
  /**
@@ -28,6 +27,8 @@ data class RNMarkerSvg(
28
27
  @Keep
29
28
  val svgString: String
30
29
  ) {
30
+ /* primary constructor */
31
+
31
32
  private companion object {
32
33
  /**
33
34
  * Constructor called from C++
@@ -9,7 +9,6 @@ package com.rngooglemapsplus
9
9
 
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
- import com.margelo.nitro.core.*
13
12
 
14
13
 
15
14
  /**
@@ -46,6 +45,8 @@ data class RNPolygon(
46
45
  @Keep
47
46
  val geodesic: Boolean?
48
47
  ) {
48
+ /* primary constructor */
49
+
49
50
  private companion object {
50
51
  /**
51
52
  * Constructor called from C++
@@ -9,7 +9,6 @@ package com.rngooglemapsplus
9
9
 
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
- import com.margelo.nitro.core.*
13
12
 
14
13
 
15
14
  /**
@@ -22,6 +21,8 @@ data class RNPolygonHole(
22
21
  @Keep
23
22
  val coordinates: Array<RNLatLng>
24
23
  ) {
24
+ /* primary constructor */
25
+
25
26
  private companion object {
26
27
  /**
27
28
  * Constructor called from C++
@@ -9,7 +9,6 @@ package com.rngooglemapsplus
9
9
 
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
- import com.margelo.nitro.core.*
13
12
 
14
13
 
15
14
  /**
@@ -46,6 +45,8 @@ data class RNPolyline(
46
45
  @Keep
47
46
  val width: Double?
48
47
  ) {
48
+ /* primary constructor */
49
+
49
50
  private companion object {
50
51
  /**
51
52
  * Constructor called from C++
@@ -9,7 +9,6 @@ package com.rngooglemapsplus
9
9
 
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
- import com.margelo.nitro.core.*
13
12
 
14
13
 
15
14
  /**
@@ -25,6 +24,8 @@ data class RNPosition(
25
24
  @Keep
26
25
  val y: Double
27
26
  ) {
27
+ /* primary constructor */
28
+
28
29
  private companion object {
29
30
  /**
30
31
  * Constructor called from C++
@@ -9,7 +9,6 @@ package com.rngooglemapsplus
9
9
 
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
- import com.margelo.nitro.core.*
13
12
 
14
13
 
15
14
  /**
@@ -34,6 +33,8 @@ data class RNRegion(
34
33
  @Keep
35
34
  val latLngBounds: RNLatLngBounds
36
35
  ) {
36
+ /* primary constructor */
37
+
37
38
  private companion object {
38
39
  /**
39
40
  * Constructor called from C++
@@ -9,7 +9,6 @@ package com.rngooglemapsplus
9
9
 
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
- import com.margelo.nitro.core.*
13
12
 
14
13
 
15
14
  /**
@@ -25,6 +24,8 @@ data class RNSize(
25
24
  @Keep
26
25
  val height: Double
27
26
  ) {
27
+ /* primary constructor */
28
+
28
29
  private companion object {
29
30
  /**
30
31
  * Constructor called from C++
@@ -9,7 +9,6 @@ package com.rngooglemapsplus
9
9
 
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
- import com.margelo.nitro.core.*
13
12
 
14
13
 
15
14
  /**
@@ -31,6 +30,8 @@ data class RNSnapshotOptions(
31
30
  @Keep
32
31
  val resultType: RNSnapshotResultType
33
32
  ) {
33
+ /* primary constructor */
34
+
34
35
  private companion object {
35
36
  /**
36
37
  * Constructor called from C++
@@ -9,7 +9,6 @@ package com.rngooglemapsplus
9
9
 
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
- import com.margelo.nitro.core.*
13
12
 
14
13
 
15
14
  /**
@@ -37,6 +36,8 @@ data class RNUrlTileOverlay(
37
36
  @Keep
38
37
  val fadeIn: Boolean?
39
38
  ) {
39
+ /* primary constructor */
40
+
40
41
  private companion object {
41
42
  /**
42
43
  * Constructor called from C++
@@ -145,7 +145,6 @@ namespace RNGoogleMapsPlus { class HybridRNGoogleMapsPlusViewSpec_cxx; }
145
145
  #include "RNSize.hpp"
146
146
  #include "RNUrlTileOverlay.hpp"
147
147
  #include "RNUserInterfaceStyle.hpp"
148
- #include <NitroModules/FastVectorCopy.hpp>
149
148
  #include <NitroModules/Promise.hpp>
150
149
  #include <NitroModules/PromiseHolder.hpp>
151
150
  #include <NitroModules/Result.hpp>
@@ -680,11 +679,10 @@ namespace margelo::nitro::rngooglemapsplus::bridge::swift {
680
679
  * Specialized version of `std::vector<double>`.
681
680
  */
682
681
  using std__vector_double_ = std::vector<double>;
683
- inline std::vector<double> copy_std__vector_double_(const double* CONTIGUOUS_MEMORY NON_NULL data, size_t size) noexcept {
684
- return margelo::nitro::FastVectorCopy<double>(data, size);
685
- }
686
- inline const double* CONTIGUOUS_MEMORY NON_NULL get_data_std__vector_double_(const std::vector<double>& vector) noexcept {
687
- return vector.data();
682
+ inline std::vector<double> create_std__vector_double_(size_t size) noexcept {
683
+ std::vector<double> vector;
684
+ vector.reserve(size);
685
+ return vector;
688
686
  }
689
687
 
690
688
  // pragma MARK: std::optional<RNHeatmapGradient>
@@ -59,6 +59,9 @@ namespace margelo::nitro::rngooglemapsplus {
59
59
  void dispose() noexcept override {
60
60
  _swiftPart.dispose();
61
61
  }
62
+ std::string toString() override {
63
+ return _swiftPart.toString();
64
+ }
62
65
 
63
66
  public:
64
67
  // Properties
@@ -185,6 +185,9 @@ namespace margelo::nitro::rngooglemapsplus {
185
185
  void dispose() noexcept override {
186
186
  _swiftPart.dispose();
187
187
  }
188
+ std::string toString() override {
189
+ return _swiftPart.toString();
190
+ }
188
191
 
189
192
  public:
190
193
  // Properties
@@ -7,6 +7,7 @@
7
7
 
8
8
  import Foundation
9
9
  import NitroModules
10
+ import NitroModules
10
11
 
11
12
  /// See ``HybridRNGoogleMapsPlusModuleSpec``
12
13
  public protocol HybridRNGoogleMapsPlusModuleSpec_protocol: HybridObject {
@@ -20,6 +21,13 @@ public protocol HybridRNGoogleMapsPlusModuleSpec_protocol: HybridObject {
20
21
  func isGooglePlayServicesAvailable() throws -> Bool
21
22
  }
22
23
 
24
+ public extension HybridRNGoogleMapsPlusModuleSpec_protocol {
25
+ /// Default implementation of ``HybridObject.toString``
26
+ func toString() -> String {
27
+ return "[HybridObject RNGoogleMapsPlusModule]"
28
+ }
29
+ }
30
+
23
31
  /// See ``HybridRNGoogleMapsPlusModuleSpec``
24
32
  open class HybridRNGoogleMapsPlusModuleSpec_base {
25
33
  private weak var cxxWrapper: HybridRNGoogleMapsPlusModuleSpec_cxx? = nil
@@ -7,6 +7,7 @@
7
7
 
8
8
  import Foundation
9
9
  import NitroModules
10
+ import NitroModules
10
11
 
11
12
  /**
12
13
  * A class implementation that bridges HybridRNGoogleMapsPlusModuleSpec over to C++.
@@ -76,7 +77,7 @@ open class HybridRNGoogleMapsPlusModuleSpec_cxx {
76
77
  */
77
78
  public func getCxxPart() -> bridge.std__shared_ptr_HybridRNGoogleMapsPlusModuleSpec_ {
78
79
  let cachedCxxPart = self.__cxxPart.lock()
79
- if cachedCxxPart.__convertToBool() {
80
+ if Bool(fromCxx: cachedCxxPart) {
80
81
  return cachedCxxPart
81
82
  } else {
82
83
  let newCxxPart = bridge.create_std__shared_ptr_HybridRNGoogleMapsPlusModuleSpec_(self.toUnsafe())
@@ -105,6 +106,14 @@ open class HybridRNGoogleMapsPlusModuleSpec_cxx {
105
106
  self.__implementation.dispose()
106
107
  }
107
108
 
109
+ /**
110
+ * Call toString() on the Swift class.
111
+ */
112
+ @inline(__always)
113
+ public func toString() -> String {
114
+ return self.__implementation.toString()
115
+ }
116
+
108
117
  // Properties
109
118
 
110
119
 
@@ -7,6 +7,7 @@
7
7
 
8
8
  import Foundation
9
9
  import NitroModules
10
+ import NitroModules
10
11
 
11
12
  /// See ``HybridRNGoogleMapsPlusViewSpec``
12
13
  public protocol HybridRNGoogleMapsPlusViewSpec_protocol: HybridObject, HybridView {
@@ -70,6 +71,13 @@ public protocol HybridRNGoogleMapsPlusViewSpec_protocol: HybridObject, HybridVie
70
71
  func isGooglePlayServicesAvailable() throws -> Bool
71
72
  }
72
73
 
74
+ public extension HybridRNGoogleMapsPlusViewSpec_protocol {
75
+ /// Default implementation of ``HybridObject.toString``
76
+ func toString() -> String {
77
+ return "[HybridObject RNGoogleMapsPlusView]"
78
+ }
79
+ }
80
+
73
81
  /// See ``HybridRNGoogleMapsPlusViewSpec``
74
82
  open class HybridRNGoogleMapsPlusViewSpec_base {
75
83
  private weak var cxxWrapper: HybridRNGoogleMapsPlusViewSpec_cxx? = nil
@@ -7,6 +7,7 @@
7
7
 
8
8
  import Foundation
9
9
  import NitroModules
10
+ import NitroModules
10
11
 
11
12
  /**
12
13
  * A class implementation that bridges HybridRNGoogleMapsPlusViewSpec over to C++.
@@ -76,7 +77,7 @@ open class HybridRNGoogleMapsPlusViewSpec_cxx {
76
77
  */
77
78
  public func getCxxPart() -> bridge.std__shared_ptr_HybridRNGoogleMapsPlusViewSpec_ {
78
79
  let cachedCxxPart = self.__cxxPart.lock()
79
- if cachedCxxPart.__convertToBool() {
80
+ if Bool(fromCxx: cachedCxxPart) {
80
81
  return cachedCxxPart
81
82
  } else {
82
83
  let newCxxPart = bridge.create_std__shared_ptr_HybridRNGoogleMapsPlusViewSpec_(self.toUnsafe())
@@ -105,6 +106,14 @@ open class HybridRNGoogleMapsPlusViewSpec_cxx {
105
106
  self.__implementation.dispose()
106
107
  }
107
108
 
109
+ /**
110
+ * Call toString() on the Swift class.
111
+ */
112
+ @inline(__always)
113
+ public func toString() -> String {
114
+ return self.__implementation.toString()
115
+ }
116
+
108
117
  // Properties
109
118
  public final var initialProps: bridge.std__optional_RNInitialProps_ {
110
119
  @inline(__always)
@@ -25,9 +25,13 @@ public extension RNHeatmapGradient {
25
25
  __vector.push_back(std.string(__item))
26
26
  }
27
27
  return __vector
28
- }(), startPoints.withUnsafeBufferPointer { __pointer -> bridge.std__vector_double_ in
29
- return bridge.copy_std__vector_double_(__pointer.baseAddress!, startPoints.count)
30
- }, colorMapSize)
28
+ }(), { () -> bridge.std__vector_double_ in
29
+ var __vector = bridge.create_std__vector_double_(startPoints.count)
30
+ for __item in startPoints {
31
+ __vector.push_back(__item)
32
+ }
33
+ return __vector
34
+ }(), colorMapSize)
31
35
  }
32
36
 
33
37
  var colors: [String] {
@@ -50,17 +54,17 @@ public extension RNHeatmapGradient {
50
54
  var startPoints: [Double] {
51
55
  @inline(__always)
52
56
  get {
53
- return { () -> [Double] in
54
- let __data = bridge.get_data_std__vector_double_(self.__startPoints)
55
- let __size = self.__startPoints.size()
56
- return Array(UnsafeBufferPointer(start: __data, count: __size))
57
- }()
57
+ return self.__startPoints.map({ __item in __item })
58
58
  }
59
59
  @inline(__always)
60
60
  set {
61
- self.__startPoints = newValue.withUnsafeBufferPointer { __pointer -> bridge.std__vector_double_ in
62
- return bridge.copy_std__vector_double_(__pointer.baseAddress!, newValue.count)
63
- }
61
+ self.__startPoints = { () -> bridge.std__vector_double_ in
62
+ var __vector = bridge.create_std__vector_double_(newValue.count)
63
+ for __item in newValue {
64
+ __vector.push_back(__item)
65
+ }
66
+ return __vector
67
+ }()
64
68
  }
65
69
  }
66
70
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-google-maps-plus",
3
- "version": "1.8.4-dev.3",
3
+ "version": "1.8.4-dev.4",
4
4
  "description": "React Native wrapper for Android & iOS Google Maps SDK",
5
5
  "main": "./lib/module/index.js",
6
6
  "module": "./lib/module/index.js",
@@ -101,12 +101,12 @@
101
101
  "eslint-plugin-prettier": "5.5.4",
102
102
  "jest": "30.2.0",
103
103
  "lefthook": "2.0.2",
104
- "nitrogen": "0.30.2",
104
+ "nitrogen": "0.31.4",
105
105
  "prettier": "3.6.2",
106
106
  "react": "19.1.1",
107
107
  "react-native": "0.82.1",
108
108
  "react-native-builder-bob": "0.40.14",
109
- "react-native-nitro-modules": "0.30.2",
109
+ "react-native-nitro-modules": "0.31.4",
110
110
  "semantic-release": "25.0.1",
111
111
  "typescript": "5.9.3"
112
112
  },