react-native-google-maps-plus 1.0.2 → 1.1.0-dev.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 (107) hide show
  1. package/README.md +127 -11
  2. package/android/src/main/java/com/rngooglemapsplus/GoogleMapsViewImpl.kt +359 -139
  3. package/android/src/main/java/com/rngooglemapsplus/LocationHandler.kt +44 -44
  4. package/android/src/main/java/com/rngooglemapsplus/MapCircleBuilder.kt +19 -0
  5. package/android/src/main/java/com/rngooglemapsplus/{MapMarker.kt → MapMarkerBuilder.kt} +7 -6
  6. package/android/src/main/java/com/rngooglemapsplus/{MapPolygon.kt → MapPolygonBuilder.kt} +4 -18
  7. package/android/src/main/java/com/rngooglemapsplus/{MapPolyline.kt → MapPolylineBuilder.kt.kt} +4 -19
  8. package/android/src/main/java/com/rngooglemapsplus/RNGoogleMapsPlusView.kt +145 -129
  9. package/android/src/main/java/com/rngooglemapsplus/extensions/RNCameraExtension.kt +19 -0
  10. package/android/src/main/java/com/rngooglemapsplus/extensions/RNLocationPriorityExtension.kt +12 -0
  11. package/android/src/main/java/com/rngooglemapsplus/extensions/RNMapCircleExtension.kt +14 -0
  12. package/android/src/main/java/com/rngooglemapsplus/extensions/RNPolygonExtension.kt +20 -0
  13. package/android/src/main/java/com/rngooglemapsplus/extensions/RNPolylineExtension.kt +21 -0
  14. package/android/src/main/java/com/rngooglemapsplus/extensions/RNUserInterfaceExtension.kt +12 -0
  15. package/android/src/main/java/com/rngooglemapsplus/{Color.kt → extensions/StringExtension.kt} +1 -1
  16. package/android/src/main/java/com/rngooglemapsplus/extensions/ThrowableExtension.kt +38 -0
  17. package/ios/GoogleMapViewImpl.swift +348 -150
  18. package/ios/LocationHandler.swift +29 -69
  19. package/ios/MapCircleBuilder.swift +20 -0
  20. package/ios/{MapMarker.swift → MapMarkerBuilder.swift} +11 -42
  21. package/ios/MapPolygonBuilder.swift +20 -0
  22. package/ios/MapPolylineBuilder.swift +24 -0
  23. package/ios/PermissionHandler.swift +1 -1
  24. package/ios/RNGoogleMapsPlusModule.swift +1 -1
  25. package/ios/RNGoogleMapsPlusView.swift +159 -168
  26. package/ios/extensions/RNCamera+Extension.swift +22 -0
  27. package/ios/extensions/RNCircle+Extension.swift +24 -0
  28. package/ios/extensions/RNIOSLocationAccuracy+Extensions.swift +19 -0
  29. package/ios/extensions/RNMarker+Extension.swift +24 -0
  30. package/ios/{MapPolygon.swift → extensions/RNPolygon+Extension.swift.swift} +7 -23
  31. package/ios/extensions/RNPolyline+Extension.swift.swift +62 -0
  32. package/ios/extensions/RNUserInterface+Extension.swift +16 -0
  33. package/ios/{Color.swift → extensions/String+Extensions.swift} +20 -20
  34. package/lib/module/types.js +14 -0
  35. package/lib/module/types.js.map +1 -1
  36. package/lib/typescript/src/RNGoogleMapsPlusView.nitro.d.ts +21 -12
  37. package/lib/typescript/src/RNGoogleMapsPlusView.nitro.d.ts.map +1 -1
  38. package/lib/typescript/src/types.d.ts +59 -3
  39. package/lib/typescript/src/types.d.ts.map +1 -1
  40. package/nitrogen/generated/android/c++/JHybridRNGoogleMapsPlusViewSpec.cpp +233 -69
  41. package/nitrogen/generated/android/c++/JHybridRNGoogleMapsPlusViewSpec.hpp +40 -22
  42. package/nitrogen/generated/android/c++/JRNAndroidLocationConfig.hpp +63 -0
  43. package/nitrogen/generated/android/c++/JRNAndroidLocationPriority.hpp +65 -0
  44. package/nitrogen/generated/android/c++/JRNCircle.hpp +84 -0
  45. package/nitrogen/generated/android/c++/JRNIOSLocationAccuracy.hpp +65 -0
  46. package/nitrogen/generated/android/c++/JRNIOSLocationConfig.hpp +59 -0
  47. package/nitrogen/generated/android/c++/JRNInitialProps.hpp +66 -0
  48. package/nitrogen/generated/android/c++/JRNLocationConfig.hpp +65 -0
  49. package/nitrogen/generated/android/c++/JRNMapType.hpp +68 -0
  50. package/nitrogen/generated/android/c++/JRNMapUiSettings.hpp +93 -0
  51. package/nitrogen/generated/android/c++/JRNMarker.hpp +4 -4
  52. package/nitrogen/generated/android/c++/JRNPolygon.hpp +8 -4
  53. package/nitrogen/generated/android/c++/JRNPolyline.hpp +8 -4
  54. package/nitrogen/generated/android/c++/views/JHybridRNGoogleMapsPlusViewStateUpdater.cpp +40 -4
  55. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/HybridRNGoogleMapsPlusViewSpec.kt +89 -11
  56. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNAndroidLocationConfig.kt +35 -0
  57. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNAndroidLocationPriority.kt +23 -0
  58. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNCircle.kt +50 -0
  59. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNIOSLocationAccuracy.kt +23 -0
  60. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNIOSLocationConfig.kt +32 -0
  61. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNInitialProps.kt +35 -0
  62. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNLocationConfig.kt +32 -0
  63. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNMapType.kt +24 -0
  64. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNMapUiSettings.kt +59 -0
  65. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNMarker.kt +1 -1
  66. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNPolygon.kt +4 -1
  67. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNPolyline.kt +4 -1
  68. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/views/HybridRNGoogleMapsPlusViewManager.kt +7 -1
  69. package/nitrogen/generated/ios/RNGoogleMapsPlus-Swift-Cxx-Bridge.hpp +296 -45
  70. package/nitrogen/generated/ios/RNGoogleMapsPlus-Swift-Cxx-Umbrella.hpp +27 -0
  71. package/nitrogen/generated/ios/c++/HybridRNGoogleMapsPlusViewSpecSwift.hpp +131 -37
  72. package/nitrogen/generated/ios/c++/views/HybridRNGoogleMapsPlusViewComponent.mm +61 -16
  73. package/nitrogen/generated/ios/swift/HybridRNGoogleMapsPlusViewSpec.swift +20 -11
  74. package/nitrogen/generated/ios/swift/HybridRNGoogleMapsPlusViewSpec_cxx.swift +378 -45
  75. package/nitrogen/generated/ios/swift/RNAndroidLocationConfig.swift +93 -0
  76. package/nitrogen/generated/ios/swift/RNAndroidLocationPriority.swift +48 -0
  77. package/nitrogen/generated/ios/swift/RNCircle.swift +198 -0
  78. package/nitrogen/generated/ios/swift/RNIOSLocationAccuracy.swift +48 -0
  79. package/nitrogen/generated/ios/swift/RNIOSLocationConfig.swift +70 -0
  80. package/nitrogen/generated/ios/swift/RNInitialProps.swift +107 -0
  81. package/nitrogen/generated/ios/swift/RNLocationConfig.swift +84 -0
  82. package/nitrogen/generated/ios/swift/RNMapType.swift +52 -0
  83. package/nitrogen/generated/ios/swift/RNMapUiSettings.swift +277 -0
  84. package/nitrogen/generated/ios/swift/RNMarker.swift +17 -5
  85. package/nitrogen/generated/ios/swift/RNPolygon.swift +40 -5
  86. package/nitrogen/generated/ios/swift/RNPolyline.swift +40 -5
  87. package/nitrogen/generated/shared/c++/HybridRNGoogleMapsPlusViewSpec.cpp +20 -2
  88. package/nitrogen/generated/shared/c++/HybridRNGoogleMapsPlusViewSpec.hpp +59 -26
  89. package/nitrogen/generated/shared/c++/RNAndroidLocationConfig.hpp +77 -0
  90. package/nitrogen/generated/shared/c++/RNAndroidLocationPriority.hpp +64 -0
  91. package/nitrogen/generated/shared/c++/RNCircle.hpp +98 -0
  92. package/nitrogen/generated/shared/c++/RNIOSLocationAccuracy.hpp +64 -0
  93. package/nitrogen/generated/shared/c++/RNIOSLocationConfig.hpp +73 -0
  94. package/nitrogen/generated/shared/c++/RNInitialProps.hpp +78 -0
  95. package/nitrogen/generated/shared/c++/RNLocationConfig.hpp +76 -0
  96. package/nitrogen/generated/shared/c++/RNMapType.hpp +88 -0
  97. package/nitrogen/generated/shared/c++/RNMapUiSettings.hpp +107 -0
  98. package/nitrogen/generated/shared/c++/RNMarker.hpp +6 -6
  99. package/nitrogen/generated/shared/c++/RNPolygon.hpp +10 -6
  100. package/nitrogen/generated/shared/c++/RNPolyline.hpp +10 -6
  101. package/nitrogen/generated/shared/c++/views/HybridRNGoogleMapsPlusViewComponent.cpp +138 -30
  102. package/nitrogen/generated/shared/c++/views/HybridRNGoogleMapsPlusViewComponent.hpp +27 -13
  103. package/nitrogen/generated/shared/json/RNGoogleMapsPlusViewConfig.json +10 -1
  104. package/package.json +5 -5
  105. package/src/RNGoogleMapsPlusView.nitro.ts +25 -11
  106. package/src/types.ts +67 -3
  107. package/ios/MapPolyline.swift +0 -83
@@ -7,14 +7,20 @@
7
7
 
8
8
  #include "JHybridRNGoogleMapsPlusViewSpec.hpp"
9
9
 
10
+ // Forward declaration of `RNInitialProps` to properly resolve imports.
11
+ namespace margelo::nitro::rngooglemapsplus { struct RNInitialProps; }
10
12
  // Forward declaration of `RNCamera` to properly resolve imports.
11
13
  namespace margelo::nitro::rngooglemapsplus { struct RNCamera; }
12
14
  // Forward declaration of `RNLatLng` to properly resolve imports.
13
15
  namespace margelo::nitro::rngooglemapsplus { struct RNLatLng; }
16
+ // Forward declaration of `RNMapUiSettings` to properly resolve imports.
17
+ namespace margelo::nitro::rngooglemapsplus { struct RNMapUiSettings; }
14
18
  // Forward declaration of `RNUserInterfaceStyle` to properly resolve imports.
15
19
  namespace margelo::nitro::rngooglemapsplus { enum class RNUserInterfaceStyle; }
16
20
  // Forward declaration of `RNMapPadding` to properly resolve imports.
17
21
  namespace margelo::nitro::rngooglemapsplus { struct RNMapPadding; }
22
+ // Forward declaration of `RNMapType` to properly resolve imports.
23
+ namespace margelo::nitro::rngooglemapsplus { enum class RNMapType; }
18
24
  // Forward declaration of `RNMarker` to properly resolve imports.
19
25
  namespace margelo::nitro::rngooglemapsplus { struct RNMarker; }
20
26
  // Forward declaration of `RNPosition` to properly resolve imports.
@@ -27,6 +33,18 @@ namespace margelo::nitro::rngooglemapsplus { struct RNPolyline; }
27
33
  namespace margelo::nitro::rngooglemapsplus { enum class RNLineCapType; }
28
34
  // Forward declaration of `RNLineJoinType` to properly resolve imports.
29
35
  namespace margelo::nitro::rngooglemapsplus { enum class RNLineJoinType; }
36
+ // Forward declaration of `RNCircle` to properly resolve imports.
37
+ namespace margelo::nitro::rngooglemapsplus { struct RNCircle; }
38
+ // Forward declaration of `RNLocationConfig` to properly resolve imports.
39
+ namespace margelo::nitro::rngooglemapsplus { struct RNLocationConfig; }
40
+ // Forward declaration of `RNAndroidLocationConfig` to properly resolve imports.
41
+ namespace margelo::nitro::rngooglemapsplus { struct RNAndroidLocationConfig; }
42
+ // Forward declaration of `RNAndroidLocationPriority` to properly resolve imports.
43
+ namespace margelo::nitro::rngooglemapsplus { enum class RNAndroidLocationPriority; }
44
+ // Forward declaration of `RNIOSLocationConfig` to properly resolve imports.
45
+ namespace margelo::nitro::rngooglemapsplus { struct RNIOSLocationConfig; }
46
+ // Forward declaration of `RNIOSLocationAccuracy` to properly resolve imports.
47
+ namespace margelo::nitro::rngooglemapsplus { enum class RNIOSLocationAccuracy; }
30
48
  // Forward declaration of `RNMapErrorCode` to properly resolve imports.
31
49
  namespace margelo::nitro::rngooglemapsplus { enum class RNMapErrorCode; }
32
50
  // Forward declaration of `RNLocation` to properly resolve imports.
@@ -42,16 +60,22 @@ namespace margelo::nitro::rngooglemapsplus { enum class RNAndroidLocationPermiss
42
60
  // Forward declaration of `RNIOSPermissionResult` to properly resolve imports.
43
61
  namespace margelo::nitro::rngooglemapsplus { enum class RNIOSPermissionResult; }
44
62
 
63
+ #include "RNInitialProps.hpp"
64
+ #include <optional>
65
+ #include "JRNInitialProps.hpp"
45
66
  #include <string>
46
67
  #include "RNCamera.hpp"
47
68
  #include "JRNCamera.hpp"
48
69
  #include "RNLatLng.hpp"
49
- #include <optional>
50
70
  #include "JRNLatLng.hpp"
71
+ #include "RNMapUiSettings.hpp"
72
+ #include "JRNMapUiSettings.hpp"
51
73
  #include "RNUserInterfaceStyle.hpp"
52
74
  #include "JRNUserInterfaceStyle.hpp"
53
75
  #include "RNMapPadding.hpp"
54
76
  #include "JRNMapPadding.hpp"
77
+ #include "RNMapType.hpp"
78
+ #include "JRNMapType.hpp"
55
79
  #include "RNMarker.hpp"
56
80
  #include <vector>
57
81
  #include "JRNMarker.hpp"
@@ -65,6 +89,18 @@ namespace margelo::nitro::rngooglemapsplus { enum class RNIOSPermissionResult; }
65
89
  #include "JRNLineCapType.hpp"
66
90
  #include "RNLineJoinType.hpp"
67
91
  #include "JRNLineJoinType.hpp"
92
+ #include "RNCircle.hpp"
93
+ #include "JRNCircle.hpp"
94
+ #include "RNLocationConfig.hpp"
95
+ #include "JRNLocationConfig.hpp"
96
+ #include "RNAndroidLocationConfig.hpp"
97
+ #include "JRNAndroidLocationConfig.hpp"
98
+ #include "RNAndroidLocationPriority.hpp"
99
+ #include "JRNAndroidLocationPriority.hpp"
100
+ #include "RNIOSLocationConfig.hpp"
101
+ #include "JRNIOSLocationConfig.hpp"
102
+ #include "RNIOSLocationAccuracy.hpp"
103
+ #include "JRNIOSLocationAccuracy.hpp"
68
104
  #include "RNMapErrorCode.hpp"
69
105
  #include <functional>
70
106
  #include "JFunc_void_RNMapErrorCode.hpp"
@@ -113,82 +149,118 @@ namespace margelo::nitro::rngooglemapsplus {
113
149
  }
114
150
 
115
151
  // Properties
116
- bool JHybridRNGoogleMapsPlusViewSpec::getBuildingEnabled() {
117
- static const auto method = javaClassStatic()->getMethod<jboolean()>("getBuildingEnabled");
152
+ std::optional<RNInitialProps> JHybridRNGoogleMapsPlusViewSpec::getInitialProps() {
153
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JRNInitialProps>()>("getInitialProps");
118
154
  auto __result = method(_javaPart);
119
- return static_cast<bool>(__result);
155
+ return __result != nullptr ? std::make_optional(__result->toCpp()) : std::nullopt;
120
156
  }
121
- void JHybridRNGoogleMapsPlusViewSpec::setBuildingEnabled(bool buildingEnabled) {
122
- static const auto method = javaClassStatic()->getMethod<void(jboolean /* buildingEnabled */)>("setBuildingEnabled");
123
- method(_javaPart, buildingEnabled);
157
+ void JHybridRNGoogleMapsPlusViewSpec::setInitialProps(const std::optional<RNInitialProps>& initialProps) {
158
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JRNInitialProps> /* initialProps */)>("setInitialProps");
159
+ method(_javaPart, initialProps.has_value() ? JRNInitialProps::fromCpp(initialProps.value()) : nullptr);
124
160
  }
125
- bool JHybridRNGoogleMapsPlusViewSpec::getTrafficEnabled() {
126
- static const auto method = javaClassStatic()->getMethod<jboolean()>("getTrafficEnabled");
161
+ std::optional<RNMapUiSettings> JHybridRNGoogleMapsPlusViewSpec::getUiSettings() {
162
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JRNMapUiSettings>()>("getUiSettings");
127
163
  auto __result = method(_javaPart);
128
- return static_cast<bool>(__result);
164
+ return __result != nullptr ? std::make_optional(__result->toCpp()) : std::nullopt;
129
165
  }
130
- void JHybridRNGoogleMapsPlusViewSpec::setTrafficEnabled(bool trafficEnabled) {
131
- static const auto method = javaClassStatic()->getMethod<void(jboolean /* trafficEnabled */)>("setTrafficEnabled");
132
- method(_javaPart, trafficEnabled);
166
+ void JHybridRNGoogleMapsPlusViewSpec::setUiSettings(const std::optional<RNMapUiSettings>& uiSettings) {
167
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JRNMapUiSettings> /* uiSettings */)>("setUiSettings");
168
+ method(_javaPart, uiSettings.has_value() ? JRNMapUiSettings::fromCpp(uiSettings.value()) : nullptr);
133
169
  }
134
- std::string JHybridRNGoogleMapsPlusViewSpec::getCustomMapStyle() {
135
- static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JString>()>("getCustomMapStyle");
170
+ std::optional<bool> JHybridRNGoogleMapsPlusViewSpec::getMyLocationEnabled() {
171
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JBoolean>()>("getMyLocationEnabled");
136
172
  auto __result = method(_javaPart);
137
- return __result->toStdString();
173
+ return __result != nullptr ? std::make_optional(static_cast<bool>(__result->value())) : std::nullopt;
138
174
  }
139
- void JHybridRNGoogleMapsPlusViewSpec::setCustomMapStyle(const std::string& customMapStyle) {
140
- static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* customMapStyle */)>("setCustomMapStyle");
141
- method(_javaPart, jni::make_jstring(customMapStyle));
175
+ void JHybridRNGoogleMapsPlusViewSpec::setMyLocationEnabled(std::optional<bool> myLocationEnabled) {
176
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JBoolean> /* myLocationEnabled */)>("setMyLocationEnabled");
177
+ method(_javaPart, myLocationEnabled.has_value() ? jni::JBoolean::valueOf(myLocationEnabled.value()) : nullptr);
178
+ }
179
+ std::optional<bool> JHybridRNGoogleMapsPlusViewSpec::getBuildingEnabled() {
180
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JBoolean>()>("getBuildingEnabled");
181
+ auto __result = method(_javaPart);
182
+ return __result != nullptr ? std::make_optional(static_cast<bool>(__result->value())) : std::nullopt;
183
+ }
184
+ void JHybridRNGoogleMapsPlusViewSpec::setBuildingEnabled(std::optional<bool> buildingEnabled) {
185
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JBoolean> /* buildingEnabled */)>("setBuildingEnabled");
186
+ method(_javaPart, buildingEnabled.has_value() ? jni::JBoolean::valueOf(buildingEnabled.value()) : nullptr);
187
+ }
188
+ std::optional<bool> JHybridRNGoogleMapsPlusViewSpec::getTrafficEnabled() {
189
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JBoolean>()>("getTrafficEnabled");
190
+ auto __result = method(_javaPart);
191
+ return __result != nullptr ? std::make_optional(static_cast<bool>(__result->value())) : std::nullopt;
192
+ }
193
+ void JHybridRNGoogleMapsPlusViewSpec::setTrafficEnabled(std::optional<bool> trafficEnabled) {
194
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JBoolean> /* trafficEnabled */)>("setTrafficEnabled");
195
+ method(_javaPart, trafficEnabled.has_value() ? jni::JBoolean::valueOf(trafficEnabled.value()) : nullptr);
142
196
  }
143
- RNCamera JHybridRNGoogleMapsPlusViewSpec::getInitialCamera() {
144
- static const auto method = javaClassStatic()->getMethod<jni::local_ref<JRNCamera>()>("getInitialCamera");
197
+ std::optional<bool> JHybridRNGoogleMapsPlusViewSpec::getIndoorEnabled() {
198
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JBoolean>()>("getIndoorEnabled");
145
199
  auto __result = method(_javaPart);
146
- return __result->toCpp();
200
+ return __result != nullptr ? std::make_optional(static_cast<bool>(__result->value())) : std::nullopt;
147
201
  }
148
- void JHybridRNGoogleMapsPlusViewSpec::setInitialCamera(const RNCamera& initialCamera) {
149
- static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JRNCamera> /* initialCamera */)>("setInitialCamera");
150
- method(_javaPart, JRNCamera::fromCpp(initialCamera));
202
+ void JHybridRNGoogleMapsPlusViewSpec::setIndoorEnabled(std::optional<bool> indoorEnabled) {
203
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JBoolean> /* indoorEnabled */)>("setIndoorEnabled");
204
+ method(_javaPart, indoorEnabled.has_value() ? jni::JBoolean::valueOf(indoorEnabled.value()) : nullptr);
151
205
  }
152
- RNUserInterfaceStyle JHybridRNGoogleMapsPlusViewSpec::getUserInterfaceStyle() {
206
+ std::optional<std::string> JHybridRNGoogleMapsPlusViewSpec::getCustomMapStyle() {
207
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JString>()>("getCustomMapStyle");
208
+ auto __result = method(_javaPart);
209
+ return __result != nullptr ? std::make_optional(__result->toStdString()) : std::nullopt;
210
+ }
211
+ void JHybridRNGoogleMapsPlusViewSpec::setCustomMapStyle(const std::optional<std::string>& customMapStyle) {
212
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* customMapStyle */)>("setCustomMapStyle");
213
+ method(_javaPart, customMapStyle.has_value() ? jni::make_jstring(customMapStyle.value()) : nullptr);
214
+ }
215
+ std::optional<RNUserInterfaceStyle> JHybridRNGoogleMapsPlusViewSpec::getUserInterfaceStyle() {
153
216
  static const auto method = javaClassStatic()->getMethod<jni::local_ref<JRNUserInterfaceStyle>()>("getUserInterfaceStyle");
154
217
  auto __result = method(_javaPart);
155
- return __result->toCpp();
218
+ return __result != nullptr ? std::make_optional(__result->toCpp()) : std::nullopt;
156
219
  }
157
- void JHybridRNGoogleMapsPlusViewSpec::setUserInterfaceStyle(RNUserInterfaceStyle userInterfaceStyle) {
220
+ void JHybridRNGoogleMapsPlusViewSpec::setUserInterfaceStyle(std::optional<RNUserInterfaceStyle> userInterfaceStyle) {
158
221
  static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JRNUserInterfaceStyle> /* userInterfaceStyle */)>("setUserInterfaceStyle");
159
- method(_javaPart, JRNUserInterfaceStyle::fromCpp(userInterfaceStyle));
222
+ method(_javaPart, userInterfaceStyle.has_value() ? JRNUserInterfaceStyle::fromCpp(userInterfaceStyle.value()) : nullptr);
160
223
  }
161
- double JHybridRNGoogleMapsPlusViewSpec::getMinZoomLevel() {
162
- static const auto method = javaClassStatic()->getMethod<double()>("getMinZoomLevel");
224
+ std::optional<double> JHybridRNGoogleMapsPlusViewSpec::getMinZoomLevel() {
225
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JDouble>()>("getMinZoomLevel");
163
226
  auto __result = method(_javaPart);
164
- return __result;
227
+ return __result != nullptr ? std::make_optional(__result->value()) : std::nullopt;
165
228
  }
166
- void JHybridRNGoogleMapsPlusViewSpec::setMinZoomLevel(double minZoomLevel) {
167
- static const auto method = javaClassStatic()->getMethod<void(double /* minZoomLevel */)>("setMinZoomLevel");
168
- method(_javaPart, minZoomLevel);
229
+ void JHybridRNGoogleMapsPlusViewSpec::setMinZoomLevel(std::optional<double> minZoomLevel) {
230
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JDouble> /* minZoomLevel */)>("setMinZoomLevel");
231
+ method(_javaPart, minZoomLevel.has_value() ? jni::JDouble::valueOf(minZoomLevel.value()) : nullptr);
169
232
  }
170
- double JHybridRNGoogleMapsPlusViewSpec::getMaxZoomLevel() {
171
- static const auto method = javaClassStatic()->getMethod<double()>("getMaxZoomLevel");
233
+ std::optional<double> JHybridRNGoogleMapsPlusViewSpec::getMaxZoomLevel() {
234
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JDouble>()>("getMaxZoomLevel");
172
235
  auto __result = method(_javaPart);
173
- return __result;
236
+ return __result != nullptr ? std::make_optional(__result->value()) : std::nullopt;
174
237
  }
175
- void JHybridRNGoogleMapsPlusViewSpec::setMaxZoomLevel(double maxZoomLevel) {
176
- static const auto method = javaClassStatic()->getMethod<void(double /* maxZoomLevel */)>("setMaxZoomLevel");
177
- method(_javaPart, maxZoomLevel);
238
+ void JHybridRNGoogleMapsPlusViewSpec::setMaxZoomLevel(std::optional<double> maxZoomLevel) {
239
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JDouble> /* maxZoomLevel */)>("setMaxZoomLevel");
240
+ method(_javaPart, maxZoomLevel.has_value() ? jni::JDouble::valueOf(maxZoomLevel.value()) : nullptr);
178
241
  }
179
- RNMapPadding JHybridRNGoogleMapsPlusViewSpec::getMapPadding() {
242
+ std::optional<RNMapPadding> JHybridRNGoogleMapsPlusViewSpec::getMapPadding() {
180
243
  static const auto method = javaClassStatic()->getMethod<jni::local_ref<JRNMapPadding>()>("getMapPadding");
181
244
  auto __result = method(_javaPart);
182
- return __result->toCpp();
245
+ return __result != nullptr ? std::make_optional(__result->toCpp()) : std::nullopt;
183
246
  }
184
- void JHybridRNGoogleMapsPlusViewSpec::setMapPadding(const RNMapPadding& mapPadding) {
247
+ void JHybridRNGoogleMapsPlusViewSpec::setMapPadding(const std::optional<RNMapPadding>& mapPadding) {
185
248
  static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JRNMapPadding> /* mapPadding */)>("setMapPadding");
186
- method(_javaPart, JRNMapPadding::fromCpp(mapPadding));
249
+ method(_javaPart, mapPadding.has_value() ? JRNMapPadding::fromCpp(mapPadding.value()) : nullptr);
187
250
  }
188
- std::vector<RNMarker> JHybridRNGoogleMapsPlusViewSpec::getMarkers() {
251
+ std::optional<RNMapType> JHybridRNGoogleMapsPlusViewSpec::getMapType() {
252
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JRNMapType>()>("getMapType");
253
+ auto __result = method(_javaPart);
254
+ return __result != nullptr ? std::make_optional(__result->toCpp()) : std::nullopt;
255
+ }
256
+ void JHybridRNGoogleMapsPlusViewSpec::setMapType(std::optional<RNMapType> mapType) {
257
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JRNMapType> /* mapType */)>("setMapType");
258
+ method(_javaPart, mapType.has_value() ? JRNMapType::fromCpp(mapType.value()) : nullptr);
259
+ }
260
+ std::optional<std::vector<RNMarker>> JHybridRNGoogleMapsPlusViewSpec::getMarkers() {
189
261
  static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JArrayClass<JRNMarker>>()>("getMarkers");
190
262
  auto __result = method(_javaPart);
191
- return [&]() {
263
+ return __result != nullptr ? std::make_optional([&]() {
192
264
  size_t __size = __result->size();
193
265
  std::vector<RNMarker> __vector;
194
266
  __vector.reserve(__size);
@@ -197,24 +269,24 @@ namespace margelo::nitro::rngooglemapsplus {
197
269
  __vector.push_back(__element->toCpp());
198
270
  }
199
271
  return __vector;
200
- }();
272
+ }()) : std::nullopt;
201
273
  }
202
- void JHybridRNGoogleMapsPlusViewSpec::setMarkers(const std::vector<RNMarker>& markers) {
274
+ void JHybridRNGoogleMapsPlusViewSpec::setMarkers(const std::optional<std::vector<RNMarker>>& markers) {
203
275
  static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JArrayClass<JRNMarker>> /* markers */)>("setMarkers");
204
- method(_javaPart, [&]() {
205
- size_t __size = markers.size();
276
+ method(_javaPart, markers.has_value() ? [&]() {
277
+ size_t __size = markers.value().size();
206
278
  jni::local_ref<jni::JArrayClass<JRNMarker>> __array = jni::JArrayClass<JRNMarker>::newArray(__size);
207
279
  for (size_t __i = 0; __i < __size; __i++) {
208
- const auto& __element = markers[__i];
280
+ const auto& __element = markers.value()[__i];
209
281
  __array->setElement(__i, *JRNMarker::fromCpp(__element));
210
282
  }
211
283
  return __array;
212
- }());
284
+ }() : nullptr);
213
285
  }
214
- std::vector<RNPolygon> JHybridRNGoogleMapsPlusViewSpec::getPolygons() {
286
+ std::optional<std::vector<RNPolygon>> JHybridRNGoogleMapsPlusViewSpec::getPolygons() {
215
287
  static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JArrayClass<JRNPolygon>>()>("getPolygons");
216
288
  auto __result = method(_javaPart);
217
- return [&]() {
289
+ return __result != nullptr ? std::make_optional([&]() {
218
290
  size_t __size = __result->size();
219
291
  std::vector<RNPolygon> __vector;
220
292
  __vector.reserve(__size);
@@ -223,24 +295,24 @@ namespace margelo::nitro::rngooglemapsplus {
223
295
  __vector.push_back(__element->toCpp());
224
296
  }
225
297
  return __vector;
226
- }();
298
+ }()) : std::nullopt;
227
299
  }
228
- void JHybridRNGoogleMapsPlusViewSpec::setPolygons(const std::vector<RNPolygon>& polygons) {
300
+ void JHybridRNGoogleMapsPlusViewSpec::setPolygons(const std::optional<std::vector<RNPolygon>>& polygons) {
229
301
  static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JArrayClass<JRNPolygon>> /* polygons */)>("setPolygons");
230
- method(_javaPart, [&]() {
231
- size_t __size = polygons.size();
302
+ method(_javaPart, polygons.has_value() ? [&]() {
303
+ size_t __size = polygons.value().size();
232
304
  jni::local_ref<jni::JArrayClass<JRNPolygon>> __array = jni::JArrayClass<JRNPolygon>::newArray(__size);
233
305
  for (size_t __i = 0; __i < __size; __i++) {
234
- const auto& __element = polygons[__i];
306
+ const auto& __element = polygons.value()[__i];
235
307
  __array->setElement(__i, *JRNPolygon::fromCpp(__element));
236
308
  }
237
309
  return __array;
238
- }());
310
+ }() : nullptr);
239
311
  }
240
- std::vector<RNPolyline> JHybridRNGoogleMapsPlusViewSpec::getPolylines() {
312
+ std::optional<std::vector<RNPolyline>> JHybridRNGoogleMapsPlusViewSpec::getPolylines() {
241
313
  static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JArrayClass<JRNPolyline>>()>("getPolylines");
242
314
  auto __result = method(_javaPart);
243
- return [&]() {
315
+ return __result != nullptr ? std::make_optional([&]() {
244
316
  size_t __size = __result->size();
245
317
  std::vector<RNPolyline> __vector;
246
318
  __vector.reserve(__size);
@@ -249,19 +321,54 @@ namespace margelo::nitro::rngooglemapsplus {
249
321
  __vector.push_back(__element->toCpp());
250
322
  }
251
323
  return __vector;
252
- }();
324
+ }()) : std::nullopt;
253
325
  }
254
- void JHybridRNGoogleMapsPlusViewSpec::setPolylines(const std::vector<RNPolyline>& polylines) {
326
+ void JHybridRNGoogleMapsPlusViewSpec::setPolylines(const std::optional<std::vector<RNPolyline>>& polylines) {
255
327
  static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JArrayClass<JRNPolyline>> /* polylines */)>("setPolylines");
256
- method(_javaPart, [&]() {
257
- size_t __size = polylines.size();
328
+ method(_javaPart, polylines.has_value() ? [&]() {
329
+ size_t __size = polylines.value().size();
258
330
  jni::local_ref<jni::JArrayClass<JRNPolyline>> __array = jni::JArrayClass<JRNPolyline>::newArray(__size);
259
331
  for (size_t __i = 0; __i < __size; __i++) {
260
- const auto& __element = polylines[__i];
332
+ const auto& __element = polylines.value()[__i];
261
333
  __array->setElement(__i, *JRNPolyline::fromCpp(__element));
262
334
  }
263
335
  return __array;
264
- }());
336
+ }() : nullptr);
337
+ }
338
+ std::optional<std::vector<RNCircle>> JHybridRNGoogleMapsPlusViewSpec::getCircles() {
339
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JArrayClass<JRNCircle>>()>("getCircles");
340
+ auto __result = method(_javaPart);
341
+ return __result != nullptr ? std::make_optional([&]() {
342
+ size_t __size = __result->size();
343
+ std::vector<RNCircle> __vector;
344
+ __vector.reserve(__size);
345
+ for (size_t __i = 0; __i < __size; __i++) {
346
+ auto __element = __result->getElement(__i);
347
+ __vector.push_back(__element->toCpp());
348
+ }
349
+ return __vector;
350
+ }()) : std::nullopt;
351
+ }
352
+ void JHybridRNGoogleMapsPlusViewSpec::setCircles(const std::optional<std::vector<RNCircle>>& circles) {
353
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JArrayClass<JRNCircle>> /* circles */)>("setCircles");
354
+ method(_javaPart, circles.has_value() ? [&]() {
355
+ size_t __size = circles.value().size();
356
+ jni::local_ref<jni::JArrayClass<JRNCircle>> __array = jni::JArrayClass<JRNCircle>::newArray(__size);
357
+ for (size_t __i = 0; __i < __size; __i++) {
358
+ const auto& __element = circles.value()[__i];
359
+ __array->setElement(__i, *JRNCircle::fromCpp(__element));
360
+ }
361
+ return __array;
362
+ }() : nullptr);
363
+ }
364
+ std::optional<RNLocationConfig> JHybridRNGoogleMapsPlusViewSpec::getLocationConfig() {
365
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JRNLocationConfig>()>("getLocationConfig");
366
+ auto __result = method(_javaPart);
367
+ return __result != nullptr ? std::make_optional(__result->toCpp()) : std::nullopt;
368
+ }
369
+ void JHybridRNGoogleMapsPlusViewSpec::setLocationConfig(const std::optional<RNLocationConfig>& locationConfig) {
370
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JRNLocationConfig> /* locationConfig */)>("setLocationConfig");
371
+ method(_javaPart, locationConfig.has_value() ? JRNLocationConfig::fromCpp(locationConfig.value()) : nullptr);
265
372
  }
266
373
  std::optional<std::function<void(RNMapErrorCode /* error */)>> JHybridRNGoogleMapsPlusViewSpec::getOnMapError() {
267
374
  static const auto method = javaClassStatic()->getMethod<jni::local_ref<JFunc_void_RNMapErrorCode::javaobject>()>("getOnMapError_cxx");
@@ -377,6 +484,63 @@ namespace margelo::nitro::rngooglemapsplus {
377
484
  static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_std__string::javaobject> /* onMarkerPress */)>("setOnMarkerPress_cxx");
378
485
  method(_javaPart, onMarkerPress.has_value() ? JFunc_void_std__string_cxx::fromCpp(onMarkerPress.value()) : nullptr);
379
486
  }
487
+ std::optional<std::function<void(const std::string& /* id */)>> JHybridRNGoogleMapsPlusViewSpec::getOnPolylinePress() {
488
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JFunc_void_std__string::javaobject>()>("getOnPolylinePress_cxx");
489
+ auto __result = method(_javaPart);
490
+ return __result != nullptr ? std::make_optional([&]() -> std::function<void(const std::string& /* id */)> {
491
+ if (__result->isInstanceOf(JFunc_void_std__string_cxx::javaClassStatic())) [[likely]] {
492
+ auto downcast = jni::static_ref_cast<JFunc_void_std__string_cxx::javaobject>(__result);
493
+ return downcast->cthis()->getFunction();
494
+ } else {
495
+ auto __resultRef = jni::make_global(__result);
496
+ return [__resultRef](std::string id) -> void {
497
+ return __resultRef->invoke(id);
498
+ };
499
+ }
500
+ }()) : std::nullopt;
501
+ }
502
+ void JHybridRNGoogleMapsPlusViewSpec::setOnPolylinePress(const std::optional<std::function<void(const std::string& /* id */)>>& onPolylinePress) {
503
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_std__string::javaobject> /* onPolylinePress */)>("setOnPolylinePress_cxx");
504
+ method(_javaPart, onPolylinePress.has_value() ? JFunc_void_std__string_cxx::fromCpp(onPolylinePress.value()) : nullptr);
505
+ }
506
+ std::optional<std::function<void(const std::string& /* id */)>> JHybridRNGoogleMapsPlusViewSpec::getOnPolygonPress() {
507
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JFunc_void_std__string::javaobject>()>("getOnPolygonPress_cxx");
508
+ auto __result = method(_javaPart);
509
+ return __result != nullptr ? std::make_optional([&]() -> std::function<void(const std::string& /* id */)> {
510
+ if (__result->isInstanceOf(JFunc_void_std__string_cxx::javaClassStatic())) [[likely]] {
511
+ auto downcast = jni::static_ref_cast<JFunc_void_std__string_cxx::javaobject>(__result);
512
+ return downcast->cthis()->getFunction();
513
+ } else {
514
+ auto __resultRef = jni::make_global(__result);
515
+ return [__resultRef](std::string id) -> void {
516
+ return __resultRef->invoke(id);
517
+ };
518
+ }
519
+ }()) : std::nullopt;
520
+ }
521
+ void JHybridRNGoogleMapsPlusViewSpec::setOnPolygonPress(const std::optional<std::function<void(const std::string& /* id */)>>& onPolygonPress) {
522
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_std__string::javaobject> /* onPolygonPress */)>("setOnPolygonPress_cxx");
523
+ method(_javaPart, onPolygonPress.has_value() ? JFunc_void_std__string_cxx::fromCpp(onPolygonPress.value()) : nullptr);
524
+ }
525
+ std::optional<std::function<void(const std::string& /* id */)>> JHybridRNGoogleMapsPlusViewSpec::getOnCirclePress() {
526
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JFunc_void_std__string::javaobject>()>("getOnCirclePress_cxx");
527
+ auto __result = method(_javaPart);
528
+ return __result != nullptr ? std::make_optional([&]() -> std::function<void(const std::string& /* id */)> {
529
+ if (__result->isInstanceOf(JFunc_void_std__string_cxx::javaClassStatic())) [[likely]] {
530
+ auto downcast = jni::static_ref_cast<JFunc_void_std__string_cxx::javaobject>(__result);
531
+ return downcast->cthis()->getFunction();
532
+ } else {
533
+ auto __resultRef = jni::make_global(__result);
534
+ return [__resultRef](std::string id) -> void {
535
+ return __resultRef->invoke(id);
536
+ };
537
+ }
538
+ }()) : std::nullopt;
539
+ }
540
+ void JHybridRNGoogleMapsPlusViewSpec::setOnCirclePress(const std::optional<std::function<void(const std::string& /* id */)>>& onCirclePress) {
541
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_std__string::javaobject> /* onCirclePress */)>("setOnCirclePress_cxx");
542
+ method(_javaPart, onCirclePress.has_value() ? JFunc_void_std__string_cxx::fromCpp(onCirclePress.value()) : nullptr);
543
+ }
380
544
  std::optional<std::function<void(const RNRegion& /* region */, const RNCamera& /* camera */, bool /* isGesture */)>> JHybridRNGoogleMapsPlusViewSpec::getOnCameraChangeStart() {
381
545
  static const auto method = javaClassStatic()->getMethod<jni::local_ref<JFunc_void_RNRegion_RNCamera_bool::javaobject>()>("getOnCameraChangeStart_cxx");
382
546
  auto __result = method(_javaPart);
@@ -49,28 +49,40 @@ namespace margelo::nitro::rngooglemapsplus {
49
49
 
50
50
  public:
51
51
  // Properties
52
- bool getBuildingEnabled() override;
53
- void setBuildingEnabled(bool buildingEnabled) override;
54
- bool getTrafficEnabled() override;
55
- void setTrafficEnabled(bool trafficEnabled) override;
56
- std::string getCustomMapStyle() override;
57
- void setCustomMapStyle(const std::string& customMapStyle) override;
58
- RNCamera getInitialCamera() override;
59
- void setInitialCamera(const RNCamera& initialCamera) override;
60
- RNUserInterfaceStyle getUserInterfaceStyle() override;
61
- void setUserInterfaceStyle(RNUserInterfaceStyle userInterfaceStyle) override;
62
- double getMinZoomLevel() override;
63
- void setMinZoomLevel(double minZoomLevel) override;
64
- double getMaxZoomLevel() override;
65
- void setMaxZoomLevel(double maxZoomLevel) override;
66
- RNMapPadding getMapPadding() override;
67
- void setMapPadding(const RNMapPadding& mapPadding) override;
68
- std::vector<RNMarker> getMarkers() override;
69
- void setMarkers(const std::vector<RNMarker>& markers) override;
70
- std::vector<RNPolygon> getPolygons() override;
71
- void setPolygons(const std::vector<RNPolygon>& polygons) override;
72
- std::vector<RNPolyline> getPolylines() override;
73
- void setPolylines(const std::vector<RNPolyline>& polylines) override;
52
+ std::optional<RNInitialProps> getInitialProps() override;
53
+ void setInitialProps(const std::optional<RNInitialProps>& initialProps) override;
54
+ std::optional<RNMapUiSettings> getUiSettings() override;
55
+ void setUiSettings(const std::optional<RNMapUiSettings>& uiSettings) override;
56
+ std::optional<bool> getMyLocationEnabled() override;
57
+ void setMyLocationEnabled(std::optional<bool> myLocationEnabled) override;
58
+ std::optional<bool> getBuildingEnabled() override;
59
+ void setBuildingEnabled(std::optional<bool> buildingEnabled) override;
60
+ std::optional<bool> getTrafficEnabled() override;
61
+ void setTrafficEnabled(std::optional<bool> trafficEnabled) override;
62
+ std::optional<bool> getIndoorEnabled() override;
63
+ void setIndoorEnabled(std::optional<bool> indoorEnabled) override;
64
+ std::optional<std::string> getCustomMapStyle() override;
65
+ void setCustomMapStyle(const std::optional<std::string>& customMapStyle) override;
66
+ std::optional<RNUserInterfaceStyle> getUserInterfaceStyle() override;
67
+ void setUserInterfaceStyle(std::optional<RNUserInterfaceStyle> userInterfaceStyle) override;
68
+ std::optional<double> getMinZoomLevel() override;
69
+ void setMinZoomLevel(std::optional<double> minZoomLevel) override;
70
+ std::optional<double> getMaxZoomLevel() override;
71
+ void setMaxZoomLevel(std::optional<double> maxZoomLevel) override;
72
+ std::optional<RNMapPadding> getMapPadding() override;
73
+ void setMapPadding(const std::optional<RNMapPadding>& mapPadding) override;
74
+ std::optional<RNMapType> getMapType() override;
75
+ void setMapType(std::optional<RNMapType> mapType) override;
76
+ std::optional<std::vector<RNMarker>> getMarkers() override;
77
+ void setMarkers(const std::optional<std::vector<RNMarker>>& markers) override;
78
+ std::optional<std::vector<RNPolygon>> getPolygons() override;
79
+ void setPolygons(const std::optional<std::vector<RNPolygon>>& polygons) override;
80
+ std::optional<std::vector<RNPolyline>> getPolylines() override;
81
+ void setPolylines(const std::optional<std::vector<RNPolyline>>& polylines) override;
82
+ std::optional<std::vector<RNCircle>> getCircles() override;
83
+ void setCircles(const std::optional<std::vector<RNCircle>>& circles) override;
84
+ std::optional<RNLocationConfig> getLocationConfig() override;
85
+ void setLocationConfig(const std::optional<RNLocationConfig>& locationConfig) override;
74
86
  std::optional<std::function<void(RNMapErrorCode /* error */)>> getOnMapError() override;
75
87
  void setOnMapError(const std::optional<std::function<void(RNMapErrorCode /* error */)>>& onMapError) override;
76
88
  std::optional<std::function<void(bool /* ready */)>> getOnMapReady() override;
@@ -83,6 +95,12 @@ namespace margelo::nitro::rngooglemapsplus {
83
95
  void setOnMapPress(const std::optional<std::function<void(const RNLatLng& /* coordinate */)>>& onMapPress) override;
84
96
  std::optional<std::function<void(const std::string& /* id */)>> getOnMarkerPress() override;
85
97
  void setOnMarkerPress(const std::optional<std::function<void(const std::string& /* id */)>>& onMarkerPress) override;
98
+ std::optional<std::function<void(const std::string& /* id */)>> getOnPolylinePress() override;
99
+ void setOnPolylinePress(const std::optional<std::function<void(const std::string& /* id */)>>& onPolylinePress) override;
100
+ std::optional<std::function<void(const std::string& /* id */)>> getOnPolygonPress() override;
101
+ void setOnPolygonPress(const std::optional<std::function<void(const std::string& /* id */)>>& onPolygonPress) override;
102
+ std::optional<std::function<void(const std::string& /* id */)>> getOnCirclePress() override;
103
+ void setOnCirclePress(const std::optional<std::function<void(const std::string& /* id */)>>& onCirclePress) override;
86
104
  std::optional<std::function<void(const RNRegion& /* region */, const RNCamera& /* camera */, bool /* isGesture */)>> getOnCameraChangeStart() override;
87
105
  void setOnCameraChangeStart(const std::optional<std::function<void(const RNRegion& /* region */, const RNCamera& /* camera */, bool /* isGesture */)>>& onCameraChangeStart) override;
88
106
  std::optional<std::function<void(const RNRegion& /* region */, const RNCamera& /* camera */, bool /* isGesture */)>> getOnCameraChange() override;
@@ -0,0 +1,63 @@
1
+ ///
2
+ /// JRNAndroidLocationConfig.hpp
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
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include "RNAndroidLocationConfig.hpp"
12
+
13
+ #include "JRNAndroidLocationPriority.hpp"
14
+ #include "RNAndroidLocationPriority.hpp"
15
+ #include <optional>
16
+
17
+ namespace margelo::nitro::rngooglemapsplus {
18
+
19
+ using namespace facebook;
20
+
21
+ /**
22
+ * The C++ JNI bridge between the C++ struct "RNAndroidLocationConfig" and the the Kotlin data class "RNAndroidLocationConfig".
23
+ */
24
+ struct JRNAndroidLocationConfig final: public jni::JavaClass<JRNAndroidLocationConfig> {
25
+ public:
26
+ static auto constexpr kJavaDescriptor = "Lcom/rngooglemapsplus/RNAndroidLocationConfig;";
27
+
28
+ public:
29
+ /**
30
+ * Convert this Java/Kotlin-based struct to the C++ struct RNAndroidLocationConfig by copying all values to C++.
31
+ */
32
+ [[maybe_unused]]
33
+ [[nodiscard]]
34
+ RNAndroidLocationConfig toCpp() const {
35
+ static const auto clazz = javaClassStatic();
36
+ static const auto fieldPriority = clazz->getField<JRNAndroidLocationPriority>("priority");
37
+ jni::local_ref<JRNAndroidLocationPriority> priority = this->getFieldValue(fieldPriority);
38
+ static const auto fieldInterval = clazz->getField<jni::JDouble>("interval");
39
+ jni::local_ref<jni::JDouble> interval = this->getFieldValue(fieldInterval);
40
+ static const auto fieldMinUpdateInterval = clazz->getField<jni::JDouble>("minUpdateInterval");
41
+ jni::local_ref<jni::JDouble> minUpdateInterval = this->getFieldValue(fieldMinUpdateInterval);
42
+ return RNAndroidLocationConfig(
43
+ priority != nullptr ? std::make_optional(priority->toCpp()) : std::nullopt,
44
+ interval != nullptr ? std::make_optional(interval->value()) : std::nullopt,
45
+ minUpdateInterval != nullptr ? std::make_optional(minUpdateInterval->value()) : std::nullopt
46
+ );
47
+ }
48
+
49
+ public:
50
+ /**
51
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
52
+ */
53
+ [[maybe_unused]]
54
+ static jni::local_ref<JRNAndroidLocationConfig::javaobject> fromCpp(const RNAndroidLocationConfig& value) {
55
+ return newInstance(
56
+ value.priority.has_value() ? JRNAndroidLocationPriority::fromCpp(value.priority.value()) : nullptr,
57
+ value.interval.has_value() ? jni::JDouble::valueOf(value.interval.value()) : nullptr,
58
+ value.minUpdateInterval.has_value() ? jni::JDouble::valueOf(value.minUpdateInterval.value()) : nullptr
59
+ );
60
+ }
61
+ };
62
+
63
+ } // namespace margelo::nitro::rngooglemapsplus