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
@@ -0,0 +1,65 @@
1
+ ///
2
+ /// JRNAndroidLocationPriority.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 "RNAndroidLocationPriority.hpp"
12
+
13
+ namespace margelo::nitro::rngooglemapsplus {
14
+
15
+ using namespace facebook;
16
+
17
+ /**
18
+ * The C++ JNI bridge between the C++ enum "RNAndroidLocationPriority" and the the Kotlin enum "RNAndroidLocationPriority".
19
+ */
20
+ struct JRNAndroidLocationPriority final: public jni::JavaClass<JRNAndroidLocationPriority> {
21
+ public:
22
+ static auto constexpr kJavaDescriptor = "Lcom/rngooglemapsplus/RNAndroidLocationPriority;";
23
+
24
+ public:
25
+ /**
26
+ * Convert this Java/Kotlin-based enum to the C++ enum RNAndroidLocationPriority.
27
+ */
28
+ [[maybe_unused]]
29
+ [[nodiscard]]
30
+ RNAndroidLocationPriority toCpp() const {
31
+ static const auto clazz = javaClassStatic();
32
+ static const auto fieldOrdinal = clazz->getField<int>("value");
33
+ int ordinal = this->getFieldValue(fieldOrdinal);
34
+ return static_cast<RNAndroidLocationPriority>(ordinal);
35
+ }
36
+
37
+ public:
38
+ /**
39
+ * Create a Java/Kotlin-based enum with the given C++ enum's value.
40
+ */
41
+ [[maybe_unused]]
42
+ static jni::alias_ref<JRNAndroidLocationPriority> fromCpp(RNAndroidLocationPriority value) {
43
+ static const auto clazz = javaClassStatic();
44
+ static const auto fieldPRIORITY_HIGH_ACCURACY = clazz->getStaticField<JRNAndroidLocationPriority>("PRIORITY_HIGH_ACCURACY");
45
+ static const auto fieldPRIORITY_BALANCED_POWER_ACCURACY = clazz->getStaticField<JRNAndroidLocationPriority>("PRIORITY_BALANCED_POWER_ACCURACY");
46
+ static const auto fieldPRIORITY_LOW_POWER = clazz->getStaticField<JRNAndroidLocationPriority>("PRIORITY_LOW_POWER");
47
+ static const auto fieldPRIORITY_PASSIVE = clazz->getStaticField<JRNAndroidLocationPriority>("PRIORITY_PASSIVE");
48
+
49
+ switch (value) {
50
+ case RNAndroidLocationPriority::PRIORITY_HIGH_ACCURACY:
51
+ return clazz->getStaticFieldValue(fieldPRIORITY_HIGH_ACCURACY);
52
+ case RNAndroidLocationPriority::PRIORITY_BALANCED_POWER_ACCURACY:
53
+ return clazz->getStaticFieldValue(fieldPRIORITY_BALANCED_POWER_ACCURACY);
54
+ case RNAndroidLocationPriority::PRIORITY_LOW_POWER:
55
+ return clazz->getStaticFieldValue(fieldPRIORITY_LOW_POWER);
56
+ case RNAndroidLocationPriority::PRIORITY_PASSIVE:
57
+ return clazz->getStaticFieldValue(fieldPRIORITY_PASSIVE);
58
+ default:
59
+ std::string stringValue = std::to_string(static_cast<int>(value));
60
+ throw std::invalid_argument("Invalid enum value (" + stringValue + "!");
61
+ }
62
+ }
63
+ };
64
+
65
+ } // namespace margelo::nitro::rngooglemapsplus
@@ -0,0 +1,84 @@
1
+ ///
2
+ /// JRNCircle.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 "RNCircle.hpp"
12
+
13
+ #include "JRNLatLng.hpp"
14
+ #include "RNLatLng.hpp"
15
+ #include <optional>
16
+ #include <string>
17
+
18
+ namespace margelo::nitro::rngooglemapsplus {
19
+
20
+ using namespace facebook;
21
+
22
+ /**
23
+ * The C++ JNI bridge between the C++ struct "RNCircle" and the the Kotlin data class "RNCircle".
24
+ */
25
+ struct JRNCircle final: public jni::JavaClass<JRNCircle> {
26
+ public:
27
+ static auto constexpr kJavaDescriptor = "Lcom/rngooglemapsplus/RNCircle;";
28
+
29
+ public:
30
+ /**
31
+ * Convert this Java/Kotlin-based struct to the C++ struct RNCircle by copying all values to C++.
32
+ */
33
+ [[maybe_unused]]
34
+ [[nodiscard]]
35
+ RNCircle toCpp() const {
36
+ static const auto clazz = javaClassStatic();
37
+ static const auto fieldId = clazz->getField<jni::JString>("id");
38
+ jni::local_ref<jni::JString> id = this->getFieldValue(fieldId);
39
+ static const auto fieldPressable = clazz->getField<jni::JBoolean>("pressable");
40
+ jni::local_ref<jni::JBoolean> pressable = this->getFieldValue(fieldPressable);
41
+ static const auto fieldZIndex = clazz->getField<jni::JDouble>("zIndex");
42
+ jni::local_ref<jni::JDouble> zIndex = this->getFieldValue(fieldZIndex);
43
+ static const auto fieldCenter = clazz->getField<JRNLatLng>("center");
44
+ jni::local_ref<JRNLatLng> center = this->getFieldValue(fieldCenter);
45
+ static const auto fieldRadius = clazz->getField<jni::JDouble>("radius");
46
+ jni::local_ref<jni::JDouble> radius = this->getFieldValue(fieldRadius);
47
+ static const auto fieldStrokeWidth = clazz->getField<jni::JDouble>("strokeWidth");
48
+ jni::local_ref<jni::JDouble> strokeWidth = this->getFieldValue(fieldStrokeWidth);
49
+ static const auto fieldStrokeColor = clazz->getField<jni::JString>("strokeColor");
50
+ jni::local_ref<jni::JString> strokeColor = this->getFieldValue(fieldStrokeColor);
51
+ static const auto fieldFillColor = clazz->getField<jni::JString>("fillColor");
52
+ jni::local_ref<jni::JString> fillColor = this->getFieldValue(fieldFillColor);
53
+ return RNCircle(
54
+ id->toStdString(),
55
+ pressable != nullptr ? std::make_optional(static_cast<bool>(pressable->value())) : std::nullopt,
56
+ zIndex != nullptr ? std::make_optional(zIndex->value()) : std::nullopt,
57
+ center->toCpp(),
58
+ radius != nullptr ? std::make_optional(radius->value()) : std::nullopt,
59
+ strokeWidth != nullptr ? std::make_optional(strokeWidth->value()) : std::nullopt,
60
+ strokeColor != nullptr ? std::make_optional(strokeColor->toStdString()) : std::nullopt,
61
+ fillColor != nullptr ? std::make_optional(fillColor->toStdString()) : std::nullopt
62
+ );
63
+ }
64
+
65
+ public:
66
+ /**
67
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
68
+ */
69
+ [[maybe_unused]]
70
+ static jni::local_ref<JRNCircle::javaobject> fromCpp(const RNCircle& value) {
71
+ return newInstance(
72
+ jni::make_jstring(value.id),
73
+ value.pressable.has_value() ? jni::JBoolean::valueOf(value.pressable.value()) : nullptr,
74
+ value.zIndex.has_value() ? jni::JDouble::valueOf(value.zIndex.value()) : nullptr,
75
+ JRNLatLng::fromCpp(value.center),
76
+ value.radius.has_value() ? jni::JDouble::valueOf(value.radius.value()) : nullptr,
77
+ value.strokeWidth.has_value() ? jni::JDouble::valueOf(value.strokeWidth.value()) : nullptr,
78
+ value.strokeColor.has_value() ? jni::make_jstring(value.strokeColor.value()) : nullptr,
79
+ value.fillColor.has_value() ? jni::make_jstring(value.fillColor.value()) : nullptr
80
+ );
81
+ }
82
+ };
83
+
84
+ } // namespace margelo::nitro::rngooglemapsplus
@@ -0,0 +1,65 @@
1
+ ///
2
+ /// JRNIOSLocationAccuracy.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 "RNIOSLocationAccuracy.hpp"
12
+
13
+ namespace margelo::nitro::rngooglemapsplus {
14
+
15
+ using namespace facebook;
16
+
17
+ /**
18
+ * The C++ JNI bridge between the C++ enum "RNIOSLocationAccuracy" and the the Kotlin enum "RNIOSLocationAccuracy".
19
+ */
20
+ struct JRNIOSLocationAccuracy final: public jni::JavaClass<JRNIOSLocationAccuracy> {
21
+ public:
22
+ static auto constexpr kJavaDescriptor = "Lcom/rngooglemapsplus/RNIOSLocationAccuracy;";
23
+
24
+ public:
25
+ /**
26
+ * Convert this Java/Kotlin-based enum to the C++ enum RNIOSLocationAccuracy.
27
+ */
28
+ [[maybe_unused]]
29
+ [[nodiscard]]
30
+ RNIOSLocationAccuracy toCpp() const {
31
+ static const auto clazz = javaClassStatic();
32
+ static const auto fieldOrdinal = clazz->getField<int>("value");
33
+ int ordinal = this->getFieldValue(fieldOrdinal);
34
+ return static_cast<RNIOSLocationAccuracy>(ordinal);
35
+ }
36
+
37
+ public:
38
+ /**
39
+ * Create a Java/Kotlin-based enum with the given C++ enum's value.
40
+ */
41
+ [[maybe_unused]]
42
+ static jni::alias_ref<JRNIOSLocationAccuracy> fromCpp(RNIOSLocationAccuracy value) {
43
+ static const auto clazz = javaClassStatic();
44
+ static const auto fieldACCURACY_BEST = clazz->getStaticField<JRNIOSLocationAccuracy>("ACCURACY_BEST");
45
+ static const auto fieldACCURACY_NEAREST_TEN_METER = clazz->getStaticField<JRNIOSLocationAccuracy>("ACCURACY_NEAREST_TEN_METER");
46
+ static const auto fieldACCURACY_NEAREST_HUNDRED_METER = clazz->getStaticField<JRNIOSLocationAccuracy>("ACCURACY_NEAREST_HUNDRED_METER");
47
+ static const auto fieldACCURACY_KILOMETER = clazz->getStaticField<JRNIOSLocationAccuracy>("ACCURACY_KILOMETER");
48
+
49
+ switch (value) {
50
+ case RNIOSLocationAccuracy::ACCURACY_BEST:
51
+ return clazz->getStaticFieldValue(fieldACCURACY_BEST);
52
+ case RNIOSLocationAccuracy::ACCURACY_NEAREST_TEN_METER:
53
+ return clazz->getStaticFieldValue(fieldACCURACY_NEAREST_TEN_METER);
54
+ case RNIOSLocationAccuracy::ACCURACY_NEAREST_HUNDRED_METER:
55
+ return clazz->getStaticFieldValue(fieldACCURACY_NEAREST_HUNDRED_METER);
56
+ case RNIOSLocationAccuracy::ACCURACY_KILOMETER:
57
+ return clazz->getStaticFieldValue(fieldACCURACY_KILOMETER);
58
+ default:
59
+ std::string stringValue = std::to_string(static_cast<int>(value));
60
+ throw std::invalid_argument("Invalid enum value (" + stringValue + "!");
61
+ }
62
+ }
63
+ };
64
+
65
+ } // namespace margelo::nitro::rngooglemapsplus
@@ -0,0 +1,59 @@
1
+ ///
2
+ /// JRNIOSLocationConfig.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 "RNIOSLocationConfig.hpp"
12
+
13
+ #include "JRNIOSLocationAccuracy.hpp"
14
+ #include "RNIOSLocationAccuracy.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 "RNIOSLocationConfig" and the the Kotlin data class "RNIOSLocationConfig".
23
+ */
24
+ struct JRNIOSLocationConfig final: public jni::JavaClass<JRNIOSLocationConfig> {
25
+ public:
26
+ static auto constexpr kJavaDescriptor = "Lcom/rngooglemapsplus/RNIOSLocationConfig;";
27
+
28
+ public:
29
+ /**
30
+ * Convert this Java/Kotlin-based struct to the C++ struct RNIOSLocationConfig by copying all values to C++.
31
+ */
32
+ [[maybe_unused]]
33
+ [[nodiscard]]
34
+ RNIOSLocationConfig toCpp() const {
35
+ static const auto clazz = javaClassStatic();
36
+ static const auto fieldDesiredAccuracy = clazz->getField<JRNIOSLocationAccuracy>("desiredAccuracy");
37
+ jni::local_ref<JRNIOSLocationAccuracy> desiredAccuracy = this->getFieldValue(fieldDesiredAccuracy);
38
+ static const auto fieldDistanceFilterMeters = clazz->getField<jni::JDouble>("distanceFilterMeters");
39
+ jni::local_ref<jni::JDouble> distanceFilterMeters = this->getFieldValue(fieldDistanceFilterMeters);
40
+ return RNIOSLocationConfig(
41
+ desiredAccuracy != nullptr ? std::make_optional(desiredAccuracy->toCpp()) : std::nullopt,
42
+ distanceFilterMeters != nullptr ? std::make_optional(distanceFilterMeters->value()) : std::nullopt
43
+ );
44
+ }
45
+
46
+ public:
47
+ /**
48
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
49
+ */
50
+ [[maybe_unused]]
51
+ static jni::local_ref<JRNIOSLocationConfig::javaobject> fromCpp(const RNIOSLocationConfig& value) {
52
+ return newInstance(
53
+ value.desiredAccuracy.has_value() ? JRNIOSLocationAccuracy::fromCpp(value.desiredAccuracy.value()) : nullptr,
54
+ value.distanceFilterMeters.has_value() ? jni::JDouble::valueOf(value.distanceFilterMeters.value()) : nullptr
55
+ );
56
+ }
57
+ };
58
+
59
+ } // namespace margelo::nitro::rngooglemapsplus
@@ -0,0 +1,66 @@
1
+ ///
2
+ /// JRNInitialProps.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 "RNInitialProps.hpp"
12
+
13
+ #include "JRNCamera.hpp"
14
+ #include "JRNLatLng.hpp"
15
+ #include "RNCamera.hpp"
16
+ #include "RNLatLng.hpp"
17
+ #include <optional>
18
+ #include <string>
19
+
20
+ namespace margelo::nitro::rngooglemapsplus {
21
+
22
+ using namespace facebook;
23
+
24
+ /**
25
+ * The C++ JNI bridge between the C++ struct "RNInitialProps" and the the Kotlin data class "RNInitialProps".
26
+ */
27
+ struct JRNInitialProps final: public jni::JavaClass<JRNInitialProps> {
28
+ public:
29
+ static auto constexpr kJavaDescriptor = "Lcom/rngooglemapsplus/RNInitialProps;";
30
+
31
+ public:
32
+ /**
33
+ * Convert this Java/Kotlin-based struct to the C++ struct RNInitialProps by copying all values to C++.
34
+ */
35
+ [[maybe_unused]]
36
+ [[nodiscard]]
37
+ RNInitialProps toCpp() const {
38
+ static const auto clazz = javaClassStatic();
39
+ static const auto fieldMapId = clazz->getField<jni::JString>("mapId");
40
+ jni::local_ref<jni::JString> mapId = this->getFieldValue(fieldMapId);
41
+ static const auto fieldLiteMode = clazz->getField<jni::JBoolean>("liteMode");
42
+ jni::local_ref<jni::JBoolean> liteMode = this->getFieldValue(fieldLiteMode);
43
+ static const auto fieldCamera = clazz->getField<JRNCamera>("camera");
44
+ jni::local_ref<JRNCamera> camera = this->getFieldValue(fieldCamera);
45
+ return RNInitialProps(
46
+ mapId != nullptr ? std::make_optional(mapId->toStdString()) : std::nullopt,
47
+ liteMode != nullptr ? std::make_optional(static_cast<bool>(liteMode->value())) : std::nullopt,
48
+ camera != nullptr ? std::make_optional(camera->toCpp()) : std::nullopt
49
+ );
50
+ }
51
+
52
+ public:
53
+ /**
54
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
55
+ */
56
+ [[maybe_unused]]
57
+ static jni::local_ref<JRNInitialProps::javaobject> fromCpp(const RNInitialProps& value) {
58
+ return newInstance(
59
+ value.mapId.has_value() ? jni::make_jstring(value.mapId.value()) : nullptr,
60
+ value.liteMode.has_value() ? jni::JBoolean::valueOf(value.liteMode.value()) : nullptr,
61
+ value.camera.has_value() ? JRNCamera::fromCpp(value.camera.value()) : nullptr
62
+ );
63
+ }
64
+ };
65
+
66
+ } // namespace margelo::nitro::rngooglemapsplus
@@ -0,0 +1,65 @@
1
+ ///
2
+ /// JRNLocationConfig.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 "RNLocationConfig.hpp"
12
+
13
+ #include "JRNAndroidLocationConfig.hpp"
14
+ #include "JRNAndroidLocationPriority.hpp"
15
+ #include "JRNIOSLocationAccuracy.hpp"
16
+ #include "JRNIOSLocationConfig.hpp"
17
+ #include "RNAndroidLocationConfig.hpp"
18
+ #include "RNAndroidLocationPriority.hpp"
19
+ #include "RNIOSLocationAccuracy.hpp"
20
+ #include "RNIOSLocationConfig.hpp"
21
+ #include <optional>
22
+
23
+ namespace margelo::nitro::rngooglemapsplus {
24
+
25
+ using namespace facebook;
26
+
27
+ /**
28
+ * The C++ JNI bridge between the C++ struct "RNLocationConfig" and the the Kotlin data class "RNLocationConfig".
29
+ */
30
+ struct JRNLocationConfig final: public jni::JavaClass<JRNLocationConfig> {
31
+ public:
32
+ static auto constexpr kJavaDescriptor = "Lcom/rngooglemapsplus/RNLocationConfig;";
33
+
34
+ public:
35
+ /**
36
+ * Convert this Java/Kotlin-based struct to the C++ struct RNLocationConfig by copying all values to C++.
37
+ */
38
+ [[maybe_unused]]
39
+ [[nodiscard]]
40
+ RNLocationConfig toCpp() const {
41
+ static const auto clazz = javaClassStatic();
42
+ static const auto fieldAndroid = clazz->getField<JRNAndroidLocationConfig>("android");
43
+ jni::local_ref<JRNAndroidLocationConfig> android = this->getFieldValue(fieldAndroid);
44
+ static const auto fieldIos = clazz->getField<JRNIOSLocationConfig>("ios");
45
+ jni::local_ref<JRNIOSLocationConfig> ios = this->getFieldValue(fieldIos);
46
+ return RNLocationConfig(
47
+ android != nullptr ? std::make_optional(android->toCpp()) : std::nullopt,
48
+ ios != nullptr ? std::make_optional(ios->toCpp()) : std::nullopt
49
+ );
50
+ }
51
+
52
+ public:
53
+ /**
54
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
55
+ */
56
+ [[maybe_unused]]
57
+ static jni::local_ref<JRNLocationConfig::javaobject> fromCpp(const RNLocationConfig& value) {
58
+ return newInstance(
59
+ value.android.has_value() ? JRNAndroidLocationConfig::fromCpp(value.android.value()) : nullptr,
60
+ value.ios.has_value() ? JRNIOSLocationConfig::fromCpp(value.ios.value()) : nullptr
61
+ );
62
+ }
63
+ };
64
+
65
+ } // namespace margelo::nitro::rngooglemapsplus
@@ -0,0 +1,68 @@
1
+ ///
2
+ /// JRNMapType.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 "RNMapType.hpp"
12
+
13
+ namespace margelo::nitro::rngooglemapsplus {
14
+
15
+ using namespace facebook;
16
+
17
+ /**
18
+ * The C++ JNI bridge between the C++ enum "RNMapType" and the the Kotlin enum "RNMapType".
19
+ */
20
+ struct JRNMapType final: public jni::JavaClass<JRNMapType> {
21
+ public:
22
+ static auto constexpr kJavaDescriptor = "Lcom/rngooglemapsplus/RNMapType;";
23
+
24
+ public:
25
+ /**
26
+ * Convert this Java/Kotlin-based enum to the C++ enum RNMapType.
27
+ */
28
+ [[maybe_unused]]
29
+ [[nodiscard]]
30
+ RNMapType toCpp() const {
31
+ static const auto clazz = javaClassStatic();
32
+ static const auto fieldOrdinal = clazz->getField<int>("value");
33
+ int ordinal = this->getFieldValue(fieldOrdinal);
34
+ return static_cast<RNMapType>(ordinal);
35
+ }
36
+
37
+ public:
38
+ /**
39
+ * Create a Java/Kotlin-based enum with the given C++ enum's value.
40
+ */
41
+ [[maybe_unused]]
42
+ static jni::alias_ref<JRNMapType> fromCpp(RNMapType value) {
43
+ static const auto clazz = javaClassStatic();
44
+ static const auto fieldNONE = clazz->getStaticField<JRNMapType>("NONE");
45
+ static const auto fieldNORMAL = clazz->getStaticField<JRNMapType>("NORMAL");
46
+ static const auto fieldHYBRID = clazz->getStaticField<JRNMapType>("HYBRID");
47
+ static const auto fieldSATELLITE = clazz->getStaticField<JRNMapType>("SATELLITE");
48
+ static const auto fieldTERRAIN = clazz->getStaticField<JRNMapType>("TERRAIN");
49
+
50
+ switch (value) {
51
+ case RNMapType::NONE:
52
+ return clazz->getStaticFieldValue(fieldNONE);
53
+ case RNMapType::NORMAL:
54
+ return clazz->getStaticFieldValue(fieldNORMAL);
55
+ case RNMapType::HYBRID:
56
+ return clazz->getStaticFieldValue(fieldHYBRID);
57
+ case RNMapType::SATELLITE:
58
+ return clazz->getStaticFieldValue(fieldSATELLITE);
59
+ case RNMapType::TERRAIN:
60
+ return clazz->getStaticFieldValue(fieldTERRAIN);
61
+ default:
62
+ std::string stringValue = std::to_string(static_cast<int>(value));
63
+ throw std::invalid_argument("Invalid enum value (" + stringValue + "!");
64
+ }
65
+ }
66
+ };
67
+
68
+ } // namespace margelo::nitro::rngooglemapsplus
@@ -0,0 +1,93 @@
1
+ ///
2
+ /// JRNMapUiSettings.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 "RNMapUiSettings.hpp"
12
+
13
+ #include <optional>
14
+
15
+ namespace margelo::nitro::rngooglemapsplus {
16
+
17
+ using namespace facebook;
18
+
19
+ /**
20
+ * The C++ JNI bridge between the C++ struct "RNMapUiSettings" and the the Kotlin data class "RNMapUiSettings".
21
+ */
22
+ struct JRNMapUiSettings final: public jni::JavaClass<JRNMapUiSettings> {
23
+ public:
24
+ static auto constexpr kJavaDescriptor = "Lcom/rngooglemapsplus/RNMapUiSettings;";
25
+
26
+ public:
27
+ /**
28
+ * Convert this Java/Kotlin-based struct to the C++ struct RNMapUiSettings by copying all values to C++.
29
+ */
30
+ [[maybe_unused]]
31
+ [[nodiscard]]
32
+ RNMapUiSettings toCpp() const {
33
+ static const auto clazz = javaClassStatic();
34
+ static const auto fieldAllGesturesEnabled = clazz->getField<jni::JBoolean>("allGesturesEnabled");
35
+ jni::local_ref<jni::JBoolean> allGesturesEnabled = this->getFieldValue(fieldAllGesturesEnabled);
36
+ static const auto fieldCompassEnabled = clazz->getField<jni::JBoolean>("compassEnabled");
37
+ jni::local_ref<jni::JBoolean> compassEnabled = this->getFieldValue(fieldCompassEnabled);
38
+ static const auto fieldIndoorLevelPickerEnabled = clazz->getField<jni::JBoolean>("indoorLevelPickerEnabled");
39
+ jni::local_ref<jni::JBoolean> indoorLevelPickerEnabled = this->getFieldValue(fieldIndoorLevelPickerEnabled);
40
+ static const auto fieldMapToolbarEnabled = clazz->getField<jni::JBoolean>("mapToolbarEnabled");
41
+ jni::local_ref<jni::JBoolean> mapToolbarEnabled = this->getFieldValue(fieldMapToolbarEnabled);
42
+ static const auto fieldMyLocationButtonEnabled = clazz->getField<jni::JBoolean>("myLocationButtonEnabled");
43
+ jni::local_ref<jni::JBoolean> myLocationButtonEnabled = this->getFieldValue(fieldMyLocationButtonEnabled);
44
+ static const auto fieldRotateEnabled = clazz->getField<jni::JBoolean>("rotateEnabled");
45
+ jni::local_ref<jni::JBoolean> rotateEnabled = this->getFieldValue(fieldRotateEnabled);
46
+ static const auto fieldScrollEnabled = clazz->getField<jni::JBoolean>("scrollEnabled");
47
+ jni::local_ref<jni::JBoolean> scrollEnabled = this->getFieldValue(fieldScrollEnabled);
48
+ static const auto fieldScrollDuringRotateOrZoomEnabled = clazz->getField<jni::JBoolean>("scrollDuringRotateOrZoomEnabled");
49
+ jni::local_ref<jni::JBoolean> scrollDuringRotateOrZoomEnabled = this->getFieldValue(fieldScrollDuringRotateOrZoomEnabled);
50
+ static const auto fieldTiltEnabled = clazz->getField<jni::JBoolean>("tiltEnabled");
51
+ jni::local_ref<jni::JBoolean> tiltEnabled = this->getFieldValue(fieldTiltEnabled);
52
+ static const auto fieldZoomControlsEnabled = clazz->getField<jni::JBoolean>("zoomControlsEnabled");
53
+ jni::local_ref<jni::JBoolean> zoomControlsEnabled = this->getFieldValue(fieldZoomControlsEnabled);
54
+ static const auto fieldZoomGesturesEnabled = clazz->getField<jni::JBoolean>("zoomGesturesEnabled");
55
+ jni::local_ref<jni::JBoolean> zoomGesturesEnabled = this->getFieldValue(fieldZoomGesturesEnabled);
56
+ return RNMapUiSettings(
57
+ allGesturesEnabled != nullptr ? std::make_optional(static_cast<bool>(allGesturesEnabled->value())) : std::nullopt,
58
+ compassEnabled != nullptr ? std::make_optional(static_cast<bool>(compassEnabled->value())) : std::nullopt,
59
+ indoorLevelPickerEnabled != nullptr ? std::make_optional(static_cast<bool>(indoorLevelPickerEnabled->value())) : std::nullopt,
60
+ mapToolbarEnabled != nullptr ? std::make_optional(static_cast<bool>(mapToolbarEnabled->value())) : std::nullopt,
61
+ myLocationButtonEnabled != nullptr ? std::make_optional(static_cast<bool>(myLocationButtonEnabled->value())) : std::nullopt,
62
+ rotateEnabled != nullptr ? std::make_optional(static_cast<bool>(rotateEnabled->value())) : std::nullopt,
63
+ scrollEnabled != nullptr ? std::make_optional(static_cast<bool>(scrollEnabled->value())) : std::nullopt,
64
+ scrollDuringRotateOrZoomEnabled != nullptr ? std::make_optional(static_cast<bool>(scrollDuringRotateOrZoomEnabled->value())) : std::nullopt,
65
+ tiltEnabled != nullptr ? std::make_optional(static_cast<bool>(tiltEnabled->value())) : std::nullopt,
66
+ zoomControlsEnabled != nullptr ? std::make_optional(static_cast<bool>(zoomControlsEnabled->value())) : std::nullopt,
67
+ zoomGesturesEnabled != nullptr ? std::make_optional(static_cast<bool>(zoomGesturesEnabled->value())) : std::nullopt
68
+ );
69
+ }
70
+
71
+ public:
72
+ /**
73
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
74
+ */
75
+ [[maybe_unused]]
76
+ static jni::local_ref<JRNMapUiSettings::javaobject> fromCpp(const RNMapUiSettings& value) {
77
+ return newInstance(
78
+ value.allGesturesEnabled.has_value() ? jni::JBoolean::valueOf(value.allGesturesEnabled.value()) : nullptr,
79
+ value.compassEnabled.has_value() ? jni::JBoolean::valueOf(value.compassEnabled.value()) : nullptr,
80
+ value.indoorLevelPickerEnabled.has_value() ? jni::JBoolean::valueOf(value.indoorLevelPickerEnabled.value()) : nullptr,
81
+ value.mapToolbarEnabled.has_value() ? jni::JBoolean::valueOf(value.mapToolbarEnabled.value()) : nullptr,
82
+ value.myLocationButtonEnabled.has_value() ? jni::JBoolean::valueOf(value.myLocationButtonEnabled.value()) : nullptr,
83
+ value.rotateEnabled.has_value() ? jni::JBoolean::valueOf(value.rotateEnabled.value()) : nullptr,
84
+ value.scrollEnabled.has_value() ? jni::JBoolean::valueOf(value.scrollEnabled.value()) : nullptr,
85
+ value.scrollDuringRotateOrZoomEnabled.has_value() ? jni::JBoolean::valueOf(value.scrollDuringRotateOrZoomEnabled.value()) : nullptr,
86
+ value.tiltEnabled.has_value() ? jni::JBoolean::valueOf(value.tiltEnabled.value()) : nullptr,
87
+ value.zoomControlsEnabled.has_value() ? jni::JBoolean::valueOf(value.zoomControlsEnabled.value()) : nullptr,
88
+ value.zoomGesturesEnabled.has_value() ? jni::JBoolean::valueOf(value.zoomGesturesEnabled.value()) : nullptr
89
+ );
90
+ }
91
+ };
92
+
93
+ } // namespace margelo::nitro::rngooglemapsplus
@@ -38,8 +38,8 @@ namespace margelo::nitro::rngooglemapsplus {
38
38
  static const auto clazz = javaClassStatic();
39
39
  static const auto fieldId = clazz->getField<jni::JString>("id");
40
40
  jni::local_ref<jni::JString> id = this->getFieldValue(fieldId);
41
- static const auto fieldZIndex = clazz->getField<double>("zIndex");
42
- double zIndex = this->getFieldValue(fieldZIndex);
41
+ static const auto fieldZIndex = clazz->getField<jni::JDouble>("zIndex");
42
+ jni::local_ref<jni::JDouble> zIndex = this->getFieldValue(fieldZIndex);
43
43
  static const auto fieldCoordinate = clazz->getField<JRNLatLng>("coordinate");
44
44
  jni::local_ref<JRNLatLng> coordinate = this->getFieldValue(fieldCoordinate);
45
45
  static const auto fieldAnchor = clazz->getField<JRNPosition>("anchor");
@@ -52,7 +52,7 @@ namespace margelo::nitro::rngooglemapsplus {
52
52
  jni::local_ref<jni::JString> iconSvg = this->getFieldValue(fieldIconSvg);
53
53
  return RNMarker(
54
54
  id->toStdString(),
55
- zIndex,
55
+ zIndex != nullptr ? std::make_optional(zIndex->value()) : std::nullopt,
56
56
  coordinate->toCpp(),
57
57
  anchor != nullptr ? std::make_optional(anchor->toCpp()) : std::nullopt,
58
58
  width,
@@ -69,7 +69,7 @@ namespace margelo::nitro::rngooglemapsplus {
69
69
  static jni::local_ref<JRNMarker::javaobject> fromCpp(const RNMarker& value) {
70
70
  return newInstance(
71
71
  jni::make_jstring(value.id),
72
- value.zIndex,
72
+ value.zIndex.has_value() ? jni::JDouble::valueOf(value.zIndex.value()) : nullptr,
73
73
  JRNLatLng::fromCpp(value.coordinate),
74
74
  value.anchor.has_value() ? JRNPosition::fromCpp(value.anchor.value()) : nullptr,
75
75
  value.width,
@@ -37,8 +37,10 @@ namespace margelo::nitro::rngooglemapsplus {
37
37
  static const auto clazz = javaClassStatic();
38
38
  static const auto fieldId = clazz->getField<jni::JString>("id");
39
39
  jni::local_ref<jni::JString> id = this->getFieldValue(fieldId);
40
- static const auto fieldZIndex = clazz->getField<double>("zIndex");
41
- double zIndex = this->getFieldValue(fieldZIndex);
40
+ static const auto fieldZIndex = clazz->getField<jni::JDouble>("zIndex");
41
+ jni::local_ref<jni::JDouble> zIndex = this->getFieldValue(fieldZIndex);
42
+ static const auto fieldPressable = clazz->getField<jni::JBoolean>("pressable");
43
+ jni::local_ref<jni::JBoolean> pressable = this->getFieldValue(fieldPressable);
42
44
  static const auto fieldCoordinates = clazz->getField<jni::JArrayClass<JRNLatLng>>("coordinates");
43
45
  jni::local_ref<jni::JArrayClass<JRNLatLng>> coordinates = this->getFieldValue(fieldCoordinates);
44
46
  static const auto fieldFillColor = clazz->getField<jni::JString>("fillColor");
@@ -49,7 +51,8 @@ namespace margelo::nitro::rngooglemapsplus {
49
51
  jni::local_ref<jni::JDouble> strokeWidth = this->getFieldValue(fieldStrokeWidth);
50
52
  return RNPolygon(
51
53
  id->toStdString(),
52
- zIndex,
54
+ zIndex != nullptr ? std::make_optional(zIndex->value()) : std::nullopt,
55
+ pressable != nullptr ? std::make_optional(static_cast<bool>(pressable->value())) : std::nullopt,
53
56
  [&]() {
54
57
  size_t __size = coordinates->size();
55
58
  std::vector<RNLatLng> __vector;
@@ -74,7 +77,8 @@ namespace margelo::nitro::rngooglemapsplus {
74
77
  static jni::local_ref<JRNPolygon::javaobject> fromCpp(const RNPolygon& value) {
75
78
  return newInstance(
76
79
  jni::make_jstring(value.id),
77
- value.zIndex,
80
+ value.zIndex.has_value() ? jni::JDouble::valueOf(value.zIndex.value()) : nullptr,
81
+ value.pressable.has_value() ? jni::JBoolean::valueOf(value.pressable.value()) : nullptr,
78
82
  [&]() {
79
83
  size_t __size = value.coordinates.size();
80
84
  jni::local_ref<jni::JArrayClass<JRNLatLng>> __array = jni::JArrayClass<JRNLatLng>::newArray(__size);
@@ -41,8 +41,10 @@ namespace margelo::nitro::rngooglemapsplus {
41
41
  static const auto clazz = javaClassStatic();
42
42
  static const auto fieldId = clazz->getField<jni::JString>("id");
43
43
  jni::local_ref<jni::JString> id = this->getFieldValue(fieldId);
44
- static const auto fieldZIndex = clazz->getField<double>("zIndex");
45
- double zIndex = this->getFieldValue(fieldZIndex);
44
+ static const auto fieldZIndex = clazz->getField<jni::JDouble>("zIndex");
45
+ jni::local_ref<jni::JDouble> zIndex = this->getFieldValue(fieldZIndex);
46
+ static const auto fieldPressable = clazz->getField<jni::JBoolean>("pressable");
47
+ jni::local_ref<jni::JBoolean> pressable = this->getFieldValue(fieldPressable);
46
48
  static const auto fieldCoordinates = clazz->getField<jni::JArrayClass<JRNLatLng>>("coordinates");
47
49
  jni::local_ref<jni::JArrayClass<JRNLatLng>> coordinates = this->getFieldValue(fieldCoordinates);
48
50
  static const auto fieldLineCap = clazz->getField<JRNLineCapType>("lineCap");
@@ -55,7 +57,8 @@ namespace margelo::nitro::rngooglemapsplus {
55
57
  jni::local_ref<jni::JDouble> width = this->getFieldValue(fieldWidth);
56
58
  return RNPolyline(
57
59
  id->toStdString(),
58
- zIndex,
60
+ zIndex != nullptr ? std::make_optional(zIndex->value()) : std::nullopt,
61
+ pressable != nullptr ? std::make_optional(static_cast<bool>(pressable->value())) : std::nullopt,
59
62
  [&]() {
60
63
  size_t __size = coordinates->size();
61
64
  std::vector<RNLatLng> __vector;
@@ -81,7 +84,8 @@ namespace margelo::nitro::rngooglemapsplus {
81
84
  static jni::local_ref<JRNPolyline::javaobject> fromCpp(const RNPolyline& value) {
82
85
  return newInstance(
83
86
  jni::make_jstring(value.id),
84
- value.zIndex,
87
+ value.zIndex.has_value() ? jni::JDouble::valueOf(value.zIndex.value()) : nullptr,
88
+ value.pressable.has_value() ? jni::JBoolean::valueOf(value.pressable.value()) : nullptr,
85
89
  [&]() {
86
90
  size_t __size = value.coordinates.size();
87
91
  jni::local_ref<jni::JArrayClass<JRNLatLng>> __array = jni::JArrayClass<JRNLatLng>::newArray(__size);