react-native-google-maps-plus 1.7.0-dev.1 → 1.7.0-dev.10

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 (95) hide show
  1. package/android/src/main/java/com/rngooglemapsplus/GoogleMapsViewImpl.kt +457 -451
  2. package/android/src/main/java/com/rngooglemapsplus/LocationHandler.kt +3 -8
  3. package/android/src/main/java/com/rngooglemapsplus/MapCircleBuilder.kt +2 -1
  4. package/android/src/main/java/com/rngooglemapsplus/MapHeatmapBuilder.kt +1 -1
  5. package/android/src/main/java/com/rngooglemapsplus/MapHelper.kt +22 -0
  6. package/android/src/main/java/com/rngooglemapsplus/MapMarkerBuilder.kt +103 -2
  7. package/android/src/main/java/com/rngooglemapsplus/MapPolygonBuilder.kt +2 -1
  8. package/android/src/main/java/com/rngooglemapsplus/MapPolylineBuilder.kt.kt +2 -1
  9. package/android/src/main/java/com/rngooglemapsplus/MapUrlTileOverlayBuilder.kt +40 -0
  10. package/android/src/main/java/com/rngooglemapsplus/RNGoogleMapsPlusView.kt +84 -34
  11. package/android/src/main/java/com/rngooglemapsplus/extensions/LatLngBoundsExtension.kt +10 -0
  12. package/android/src/main/java/com/rngooglemapsplus/extensions/MapObjectTagExtensions.kt +84 -0
  13. package/android/src/main/java/com/rngooglemapsplus/extensions/RNLatLngBoundsExtension.kt +2 -8
  14. package/android/src/main/java/com/rngooglemapsplus/extensions/RNMapTypeExtension.kt +13 -0
  15. package/android/src/main/java/com/rngooglemapsplus/extensions/VisibleRegionExtension.kt +13 -0
  16. package/ios/GoogleMapViewImpl.swift +164 -48
  17. package/ios/MapCircleBuilder.swift +2 -0
  18. package/ios/MapHeatmapBuilder.swift +2 -1
  19. package/ios/MapMarkerBuilder.swift +54 -1
  20. package/ios/MapPolygonBuilder.swift +2 -0
  21. package/ios/MapPolylineBuilder.swift +2 -0
  22. package/ios/MapUrlTileOverlayBuilder.swift +24 -0
  23. package/ios/RNGoogleMapsPlusView.swift +68 -11
  24. package/ios/extensions/GMSCoordinateBounds+Extension.swift +4 -13
  25. package/ios/extensions/GMSVisibleRegion+Extension.swift +14 -0
  26. package/ios/extensions/MapObjectTag+Extension.swift +93 -0
  27. package/ios/extensions/RNLatLngBounds+Extension.swift +4 -4
  28. package/ios/extensions/RNMapType+Extension.swift +18 -0
  29. package/lib/module/types.js.map +1 -1
  30. package/lib/nitrogen/generated/shared/json/RNGoogleMapsPlusViewConfig.json +7 -0
  31. package/lib/typescript/src/RNGoogleMapsPlusView.nitro.d.ts +18 -9
  32. package/lib/typescript/src/RNGoogleMapsPlusView.nitro.d.ts.map +1 -1
  33. package/lib/typescript/src/types.d.ts +18 -5
  34. package/lib/typescript/src/types.d.ts.map +1 -1
  35. package/nitrogen/generated/android/RNGoogleMapsPlusOnLoad.cpp +8 -4
  36. package/nitrogen/generated/android/c++/JFunc_void_RNRegion_RNCamera.hpp +83 -0
  37. package/nitrogen/generated/android/c++/JFunc_void_RNRegion_RNCamera_bool.hpp +2 -0
  38. package/nitrogen/generated/android/c++/JFunc_void_std__string.hpp +75 -0
  39. package/nitrogen/generated/android/c++/JFunc_void_std__string_RNLatLng.hpp +77 -0
  40. package/nitrogen/generated/android/c++/JFunc_void_std__string_std__string_RNLatLng.hpp +77 -0
  41. package/nitrogen/generated/android/c++/JHybridRNGoogleMapsPlusViewSpec.cpp +237 -83
  42. package/nitrogen/generated/android/c++/JHybridRNGoogleMapsPlusViewSpec.hpp +32 -16
  43. package/nitrogen/generated/android/c++/JRNLatLngBounds.hpp +8 -8
  44. package/nitrogen/generated/android/c++/JRNMapUiSettings.hpp +11 -3
  45. package/nitrogen/generated/android/c++/JRNMarker.hpp +7 -3
  46. package/nitrogen/generated/android/c++/JRNRegion.hpp +23 -13
  47. package/nitrogen/generated/android/c++/JRNUrlTileOverlay.hpp +78 -0
  48. package/nitrogen/generated/android/c++/views/JHybridRNGoogleMapsPlusViewStateUpdater.cpp +28 -0
  49. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/Func_void_RNRegion_RNCamera.kt +81 -0
  50. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/{Func_void_std__optional_std__string_.kt → Func_void_std__string.kt} +12 -12
  51. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/{Func_void_std__optional_std__string__RNLatLng.kt → Func_void_std__string_RNLatLng.kt} +12 -12
  52. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/Func_void_std__string_std__string_RNLatLng.kt +81 -0
  53. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/HybridRNGoogleMapsPlusViewSpec.kt +122 -24
  54. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNLatLngBounds.kt +4 -4
  55. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNMapUiSettings.kt +9 -3
  56. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNMarker.kt +6 -3
  57. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNRegion.kt +11 -5
  58. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNUrlTileOverlay.kt +52 -0
  59. package/nitrogen/generated/ios/RNGoogleMapsPlus-Swift-Cxx-Bridge.cpp +32 -8
  60. package/nitrogen/generated/ios/RNGoogleMapsPlus-Swift-Cxx-Bridge.hpp +168 -43
  61. package/nitrogen/generated/ios/RNGoogleMapsPlus-Swift-Cxx-Umbrella.hpp +3 -0
  62. package/nitrogen/generated/ios/c++/HybridRNGoogleMapsPlusViewSpecSwift.hpp +86 -22
  63. package/nitrogen/generated/ios/c++/views/HybridRNGoogleMapsPlusViewComponent.mm +35 -0
  64. package/nitrogen/generated/ios/swift/Func_void_RNRegion_RNCamera.swift +47 -0
  65. package/nitrogen/generated/ios/swift/Func_void_std__optional_std__string_.swift +6 -6
  66. package/nitrogen/generated/ios/swift/Func_void_std__string.swift +47 -0
  67. package/nitrogen/generated/ios/swift/Func_void_std__string_RNLatLng.swift +47 -0
  68. package/nitrogen/generated/ios/swift/Func_void_std__string_std__string_RNLatLng.swift +47 -0
  69. package/nitrogen/generated/ios/swift/HybridRNGoogleMapsPlusViewSpec.swift +17 -8
  70. package/nitrogen/generated/ios/swift/HybridRNGoogleMapsPlusViewSpec_cxx.swift +340 -138
  71. package/nitrogen/generated/ios/swift/RNLatLngBounds.swift +8 -8
  72. package/nitrogen/generated/ios/swift/RNMapUiSettings.swift +61 -1
  73. package/nitrogen/generated/ios/swift/RNMarker.swift +24 -1
  74. package/nitrogen/generated/ios/swift/RNRegion.swift +33 -11
  75. package/nitrogen/generated/ios/swift/RNUrlTileOverlay.swift +133 -0
  76. package/nitrogen/generated/shared/c++/HybridRNGoogleMapsPlusViewSpec.cpp +16 -0
  77. package/nitrogen/generated/shared/c++/HybridRNGoogleMapsPlusViewSpec.hpp +41 -22
  78. package/nitrogen/generated/shared/c++/RNLatLngBounds.hpp +9 -9
  79. package/nitrogen/generated/shared/c++/RNMapUiSettings.hpp +10 -2
  80. package/nitrogen/generated/shared/c++/RNMarker.hpp +6 -2
  81. package/nitrogen/generated/shared/c++/RNRegion.hpp +24 -13
  82. package/nitrogen/generated/shared/c++/RNUrlTileOverlay.hpp +96 -0
  83. package/nitrogen/generated/shared/c++/views/HybridRNGoogleMapsPlusViewComponent.cpp +100 -16
  84. package/nitrogen/generated/shared/c++/views/HybridRNGoogleMapsPlusViewComponent.hpp +18 -10
  85. package/nitrogen/generated/shared/json/RNGoogleMapsPlusViewConfig.json +7 -0
  86. package/package.json +4 -2
  87. package/src/RNGoogleMapsPlusView.nitro.ts +20 -8
  88. package/src/types.ts +19 -5
  89. package/android/src/main/java/com/rngooglemapsplus/extensions/LatLngBounds.kt +0 -15
  90. package/nitrogen/generated/android/c++/JFunc_void_std__optional_std__string_.hpp +0 -76
  91. package/nitrogen/generated/android/c++/JFunc_void_std__optional_std__string__RNLatLng.hpp +0 -78
  92. package/nitrogen/generated/ios/swift/Func_void_std__optional_std__string__RNLatLng.swift +0 -54
  93. /package/android/src/main/java/com/rngooglemapsplus/extensions/{RNSize.kt → RNSizeExtension.kt} +0 -0
  94. /package/android/src/main/java/com/rngooglemapsplus/extensions/{RNSnapshotFormat.kt → RNSnapshotFormatExtension.kt} +0 -0
  95. /package/android/src/main/java/com/rngooglemapsplus/extensions/{RNSnapshotResultType.kt → RNSnapshotResultTypeExtension.kt} +0 -0
@@ -32,13 +32,13 @@ namespace margelo::nitro::rngooglemapsplus {
32
32
  [[nodiscard]]
33
33
  RNLatLngBounds toCpp() const {
34
34
  static const auto clazz = javaClassStatic();
35
- static const auto fieldNorthEast = clazz->getField<JRNLatLng>("northEast");
36
- jni::local_ref<JRNLatLng> northEast = this->getFieldValue(fieldNorthEast);
37
- static const auto fieldSouthWest = clazz->getField<JRNLatLng>("southWest");
38
- jni::local_ref<JRNLatLng> southWest = this->getFieldValue(fieldSouthWest);
35
+ static const auto fieldSouthwest = clazz->getField<JRNLatLng>("southwest");
36
+ jni::local_ref<JRNLatLng> southwest = this->getFieldValue(fieldSouthwest);
37
+ static const auto fieldNortheast = clazz->getField<JRNLatLng>("northeast");
38
+ jni::local_ref<JRNLatLng> northeast = this->getFieldValue(fieldNortheast);
39
39
  return RNLatLngBounds(
40
- northEast->toCpp(),
41
- southWest->toCpp()
40
+ southwest->toCpp(),
41
+ northeast->toCpp()
42
42
  );
43
43
  }
44
44
 
@@ -53,8 +53,8 @@ namespace margelo::nitro::rngooglemapsplus {
53
53
  static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
54
54
  return create(
55
55
  clazz,
56
- JRNLatLng::fromCpp(value.northEast),
57
- JRNLatLng::fromCpp(value.southWest)
56
+ JRNLatLng::fromCpp(value.southwest),
57
+ JRNLatLng::fromCpp(value.northeast)
58
58
  );
59
59
  }
60
60
  };
@@ -53,6 +53,10 @@ namespace margelo::nitro::rngooglemapsplus {
53
53
  jni::local_ref<jni::JBoolean> zoomControlsEnabled = this->getFieldValue(fieldZoomControlsEnabled);
54
54
  static const auto fieldZoomGesturesEnabled = clazz->getField<jni::JBoolean>("zoomGesturesEnabled");
55
55
  jni::local_ref<jni::JBoolean> zoomGesturesEnabled = this->getFieldValue(fieldZoomGesturesEnabled);
56
+ static const auto fieldConsumeOnMarkerPress = clazz->getField<jni::JBoolean>("consumeOnMarkerPress");
57
+ jni::local_ref<jni::JBoolean> consumeOnMarkerPress = this->getFieldValue(fieldConsumeOnMarkerPress);
58
+ static const auto fieldConsumeOnMyLocationButtonPress = clazz->getField<jni::JBoolean>("consumeOnMyLocationButtonPress");
59
+ jni::local_ref<jni::JBoolean> consumeOnMyLocationButtonPress = this->getFieldValue(fieldConsumeOnMyLocationButtonPress);
56
60
  return RNMapUiSettings(
57
61
  allGesturesEnabled != nullptr ? std::make_optional(static_cast<bool>(allGesturesEnabled->value())) : std::nullopt,
58
62
  compassEnabled != nullptr ? std::make_optional(static_cast<bool>(compassEnabled->value())) : std::nullopt,
@@ -64,7 +68,9 @@ namespace margelo::nitro::rngooglemapsplus {
64
68
  scrollDuringRotateOrZoomEnabled != nullptr ? std::make_optional(static_cast<bool>(scrollDuringRotateOrZoomEnabled->value())) : std::nullopt,
65
69
  tiltEnabled != nullptr ? std::make_optional(static_cast<bool>(tiltEnabled->value())) : std::nullopt,
66
70
  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
71
+ zoomGesturesEnabled != nullptr ? std::make_optional(static_cast<bool>(zoomGesturesEnabled->value())) : std::nullopt,
72
+ consumeOnMarkerPress != nullptr ? std::make_optional(static_cast<bool>(consumeOnMarkerPress->value())) : std::nullopt,
73
+ consumeOnMyLocationButtonPress != nullptr ? std::make_optional(static_cast<bool>(consumeOnMyLocationButtonPress->value())) : std::nullopt
68
74
  );
69
75
  }
70
76
 
@@ -74,7 +80,7 @@ namespace margelo::nitro::rngooglemapsplus {
74
80
  */
75
81
  [[maybe_unused]]
76
82
  static jni::local_ref<JRNMapUiSettings::javaobject> fromCpp(const RNMapUiSettings& value) {
77
- using JSignature = JRNMapUiSettings(jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JBoolean>);
83
+ using JSignature = JRNMapUiSettings(jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JBoolean>);
78
84
  static const auto clazz = javaClassStatic();
79
85
  static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
80
86
  return create(
@@ -89,7 +95,9 @@ namespace margelo::nitro::rngooglemapsplus {
89
95
  value.scrollDuringRotateOrZoomEnabled.has_value() ? jni::JBoolean::valueOf(value.scrollDuringRotateOrZoomEnabled.value()) : nullptr,
90
96
  value.tiltEnabled.has_value() ? jni::JBoolean::valueOf(value.tiltEnabled.value()) : nullptr,
91
97
  value.zoomControlsEnabled.has_value() ? jni::JBoolean::valueOf(value.zoomControlsEnabled.value()) : nullptr,
92
- value.zoomGesturesEnabled.has_value() ? jni::JBoolean::valueOf(value.zoomGesturesEnabled.value()) : nullptr
98
+ value.zoomGesturesEnabled.has_value() ? jni::JBoolean::valueOf(value.zoomGesturesEnabled.value()) : nullptr,
99
+ value.consumeOnMarkerPress.has_value() ? jni::JBoolean::valueOf(value.consumeOnMarkerPress.value()) : nullptr,
100
+ value.consumeOnMyLocationButtonPress.has_value() ? jni::JBoolean::valueOf(value.consumeOnMyLocationButtonPress.value()) : nullptr
93
101
  );
94
102
  }
95
103
  };
@@ -64,6 +64,8 @@ namespace margelo::nitro::rngooglemapsplus {
64
64
  jni::local_ref<JRNPosition> infoWindowAnchor = this->getFieldValue(fieldInfoWindowAnchor);
65
65
  static const auto fieldIconSvg = clazz->getField<JRNMarkerSvg>("iconSvg");
66
66
  jni::local_ref<JRNMarkerSvg> iconSvg = this->getFieldValue(fieldIconSvg);
67
+ static const auto fieldInfoWindowIconSvg = clazz->getField<JRNMarkerSvg>("infoWindowIconSvg");
68
+ jni::local_ref<JRNMarkerSvg> infoWindowIconSvg = this->getFieldValue(fieldInfoWindowIconSvg);
67
69
  return RNMarker(
68
70
  id->toStdString(),
69
71
  zIndex != nullptr ? std::make_optional(zIndex->value()) : std::nullopt,
@@ -77,7 +79,8 @@ namespace margelo::nitro::rngooglemapsplus {
77
79
  draggable != nullptr ? std::make_optional(static_cast<bool>(draggable->value())) : std::nullopt,
78
80
  rotation != nullptr ? std::make_optional(rotation->value()) : std::nullopt,
79
81
  infoWindowAnchor != nullptr ? std::make_optional(infoWindowAnchor->toCpp()) : std::nullopt,
80
- iconSvg != nullptr ? std::make_optional(iconSvg->toCpp()) : std::nullopt
82
+ iconSvg != nullptr ? std::make_optional(iconSvg->toCpp()) : std::nullopt,
83
+ infoWindowIconSvg != nullptr ? std::make_optional(infoWindowIconSvg->toCpp()) : std::nullopt
81
84
  );
82
85
  }
83
86
 
@@ -87,7 +90,7 @@ namespace margelo::nitro::rngooglemapsplus {
87
90
  */
88
91
  [[maybe_unused]]
89
92
  static jni::local_ref<JRNMarker::javaobject> fromCpp(const RNMarker& value) {
90
- using JSignature = JRNMarker(jni::alias_ref<jni::JString>, jni::alias_ref<jni::JDouble>, jni::alias_ref<JRNLatLng>, jni::alias_ref<JRNPosition>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JDouble>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JDouble>, jni::alias_ref<JRNPosition>, jni::alias_ref<JRNMarkerSvg>);
93
+ using JSignature = JRNMarker(jni::alias_ref<jni::JString>, jni::alias_ref<jni::JDouble>, jni::alias_ref<JRNLatLng>, jni::alias_ref<JRNPosition>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JDouble>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JDouble>, jni::alias_ref<JRNPosition>, jni::alias_ref<JRNMarkerSvg>, jni::alias_ref<JRNMarkerSvg>);
91
94
  static const auto clazz = javaClassStatic();
92
95
  static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
93
96
  return create(
@@ -104,7 +107,8 @@ namespace margelo::nitro::rngooglemapsplus {
104
107
  value.draggable.has_value() ? jni::JBoolean::valueOf(value.draggable.value()) : nullptr,
105
108
  value.rotation.has_value() ? jni::JDouble::valueOf(value.rotation.value()) : nullptr,
106
109
  value.infoWindowAnchor.has_value() ? JRNPosition::fromCpp(value.infoWindowAnchor.value()) : nullptr,
107
- value.iconSvg.has_value() ? JRNMarkerSvg::fromCpp(value.iconSvg.value()) : nullptr
110
+ value.iconSvg.has_value() ? JRNMarkerSvg::fromCpp(value.iconSvg.value()) : nullptr,
111
+ value.infoWindowIconSvg.has_value() ? JRNMarkerSvg::fromCpp(value.infoWindowIconSvg.value()) : nullptr
108
112
  );
109
113
  }
110
114
  };
@@ -11,7 +11,9 @@
11
11
  #include "RNRegion.hpp"
12
12
 
13
13
  #include "JRNLatLng.hpp"
14
+ #include "JRNLatLngBounds.hpp"
14
15
  #include "RNLatLng.hpp"
16
+ #include "RNLatLngBounds.hpp"
15
17
 
16
18
  namespace margelo::nitro::rngooglemapsplus {
17
19
 
@@ -32,16 +34,22 @@ namespace margelo::nitro::rngooglemapsplus {
32
34
  [[nodiscard]]
33
35
  RNRegion toCpp() const {
34
36
  static const auto clazz = javaClassStatic();
35
- static const auto fieldCenter = clazz->getField<JRNLatLng>("center");
36
- jni::local_ref<JRNLatLng> center = this->getFieldValue(fieldCenter);
37
- static const auto fieldLatitudeDelta = clazz->getField<double>("latitudeDelta");
38
- double latitudeDelta = this->getFieldValue(fieldLatitudeDelta);
39
- static const auto fieldLongitudeDelta = clazz->getField<double>("longitudeDelta");
40
- double longitudeDelta = this->getFieldValue(fieldLongitudeDelta);
37
+ static const auto fieldNearLeft = clazz->getField<JRNLatLng>("nearLeft");
38
+ jni::local_ref<JRNLatLng> nearLeft = this->getFieldValue(fieldNearLeft);
39
+ static const auto fieldNearRight = clazz->getField<JRNLatLng>("nearRight");
40
+ jni::local_ref<JRNLatLng> nearRight = this->getFieldValue(fieldNearRight);
41
+ static const auto fieldFarLeft = clazz->getField<JRNLatLng>("farLeft");
42
+ jni::local_ref<JRNLatLng> farLeft = this->getFieldValue(fieldFarLeft);
43
+ static const auto fieldFarRight = clazz->getField<JRNLatLng>("farRight");
44
+ jni::local_ref<JRNLatLng> farRight = this->getFieldValue(fieldFarRight);
45
+ static const auto fieldLatLngBounds = clazz->getField<JRNLatLngBounds>("latLngBounds");
46
+ jni::local_ref<JRNLatLngBounds> latLngBounds = this->getFieldValue(fieldLatLngBounds);
41
47
  return RNRegion(
42
- center->toCpp(),
43
- latitudeDelta,
44
- longitudeDelta
48
+ nearLeft->toCpp(),
49
+ nearRight->toCpp(),
50
+ farLeft->toCpp(),
51
+ farRight->toCpp(),
52
+ latLngBounds->toCpp()
45
53
  );
46
54
  }
47
55
 
@@ -51,14 +59,16 @@ namespace margelo::nitro::rngooglemapsplus {
51
59
  */
52
60
  [[maybe_unused]]
53
61
  static jni::local_ref<JRNRegion::javaobject> fromCpp(const RNRegion& value) {
54
- using JSignature = JRNRegion(jni::alias_ref<JRNLatLng>, double, double);
62
+ using JSignature = JRNRegion(jni::alias_ref<JRNLatLng>, jni::alias_ref<JRNLatLng>, jni::alias_ref<JRNLatLng>, jni::alias_ref<JRNLatLng>, jni::alias_ref<JRNLatLngBounds>);
55
63
  static const auto clazz = javaClassStatic();
56
64
  static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
57
65
  return create(
58
66
  clazz,
59
- JRNLatLng::fromCpp(value.center),
60
- value.latitudeDelta,
61
- value.longitudeDelta
67
+ JRNLatLng::fromCpp(value.nearLeft),
68
+ JRNLatLng::fromCpp(value.nearRight),
69
+ JRNLatLng::fromCpp(value.farLeft),
70
+ JRNLatLng::fromCpp(value.farRight),
71
+ JRNLatLngBounds::fromCpp(value.latLngBounds)
62
72
  );
63
73
  }
64
74
  };
@@ -0,0 +1,78 @@
1
+ ///
2
+ /// JRNUrlTileOverlay.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 "RNUrlTileOverlay.hpp"
12
+
13
+ #include <optional>
14
+ #include <string>
15
+
16
+ namespace margelo::nitro::rngooglemapsplus {
17
+
18
+ using namespace facebook;
19
+
20
+ /**
21
+ * The C++ JNI bridge between the C++ struct "RNUrlTileOverlay" and the the Kotlin data class "RNUrlTileOverlay".
22
+ */
23
+ struct JRNUrlTileOverlay final: public jni::JavaClass<JRNUrlTileOverlay> {
24
+ public:
25
+ static auto constexpr kJavaDescriptor = "Lcom/rngooglemapsplus/RNUrlTileOverlay;";
26
+
27
+ public:
28
+ /**
29
+ * Convert this Java/Kotlin-based struct to the C++ struct RNUrlTileOverlay by copying all values to C++.
30
+ */
31
+ [[maybe_unused]]
32
+ [[nodiscard]]
33
+ RNUrlTileOverlay toCpp() const {
34
+ static const auto clazz = javaClassStatic();
35
+ static const auto fieldId = clazz->getField<jni::JString>("id");
36
+ jni::local_ref<jni::JString> id = this->getFieldValue(fieldId);
37
+ static const auto fieldZIndex = clazz->getField<jni::JDouble>("zIndex");
38
+ jni::local_ref<jni::JDouble> zIndex = this->getFieldValue(fieldZIndex);
39
+ static const auto fieldUrl = clazz->getField<jni::JString>("url");
40
+ jni::local_ref<jni::JString> url = this->getFieldValue(fieldUrl);
41
+ static const auto fieldTileSize = clazz->getField<double>("tileSize");
42
+ double tileSize = this->getFieldValue(fieldTileSize);
43
+ static const auto fieldOpacity = clazz->getField<jni::JDouble>("opacity");
44
+ jni::local_ref<jni::JDouble> opacity = this->getFieldValue(fieldOpacity);
45
+ static const auto fieldFadeIn = clazz->getField<jni::JBoolean>("fadeIn");
46
+ jni::local_ref<jni::JBoolean> fadeIn = this->getFieldValue(fieldFadeIn);
47
+ return RNUrlTileOverlay(
48
+ id->toStdString(),
49
+ zIndex != nullptr ? std::make_optional(zIndex->value()) : std::nullopt,
50
+ url->toStdString(),
51
+ tileSize,
52
+ opacity != nullptr ? std::make_optional(opacity->value()) : std::nullopt,
53
+ fadeIn != nullptr ? std::make_optional(static_cast<bool>(fadeIn->value())) : std::nullopt
54
+ );
55
+ }
56
+
57
+ public:
58
+ /**
59
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
60
+ */
61
+ [[maybe_unused]]
62
+ static jni::local_ref<JRNUrlTileOverlay::javaobject> fromCpp(const RNUrlTileOverlay& value) {
63
+ using JSignature = JRNUrlTileOverlay(jni::alias_ref<jni::JString>, jni::alias_ref<jni::JDouble>, jni::alias_ref<jni::JString>, double, jni::alias_ref<jni::JDouble>, jni::alias_ref<jni::JBoolean>);
64
+ static const auto clazz = javaClassStatic();
65
+ static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
66
+ return create(
67
+ clazz,
68
+ jni::make_jstring(value.id),
69
+ value.zIndex.has_value() ? jni::JDouble::valueOf(value.zIndex.value()) : nullptr,
70
+ jni::make_jstring(value.url),
71
+ value.tileSize,
72
+ value.opacity.has_value() ? jni::JDouble::valueOf(value.opacity.value()) : nullptr,
73
+ value.fadeIn.has_value() ? jni::JBoolean::valueOf(value.fadeIn.value()) : nullptr
74
+ );
75
+ }
76
+ };
77
+
78
+ } // namespace margelo::nitro::rngooglemapsplus
@@ -104,6 +104,10 @@ void JHybridRNGoogleMapsPlusViewStateUpdater::updateViewProps(jni::alias_ref<jni
104
104
  view->setKmlLayers(props.kmlLayers.value);
105
105
  // TODO: Set isDirty = false
106
106
  }
107
+ if (props.urlTileOverlays.isDirty) {
108
+ view->setUrlTileOverlays(props.urlTileOverlays.value);
109
+ // TODO: Set isDirty = false
110
+ }
107
111
  if (props.locationConfig.isDirty) {
108
112
  view->setLocationConfig(props.locationConfig.value);
109
113
  // TODO: Set isDirty = false
@@ -136,6 +140,10 @@ void JHybridRNGoogleMapsPlusViewStateUpdater::updateViewProps(jni::alias_ref<jni
136
140
  view->setOnMapLongPress(props.onMapLongPress.value);
137
141
  // TODO: Set isDirty = false
138
142
  }
143
+ if (props.onPoiPress.isDirty) {
144
+ view->setOnPoiPress(props.onPoiPress.value);
145
+ // TODO: Set isDirty = false
146
+ }
139
147
  if (props.onMarkerPress.isDirty) {
140
148
  view->setOnMarkerPress(props.onMarkerPress.value);
141
149
  // TODO: Set isDirty = false
@@ -172,6 +180,26 @@ void JHybridRNGoogleMapsPlusViewStateUpdater::updateViewProps(jni::alias_ref<jni
172
180
  view->setOnIndoorLevelActivated(props.onIndoorLevelActivated.value);
173
181
  // TODO: Set isDirty = false
174
182
  }
183
+ if (props.onInfoWindowPress.isDirty) {
184
+ view->setOnInfoWindowPress(props.onInfoWindowPress.value);
185
+ // TODO: Set isDirty = false
186
+ }
187
+ if (props.onInfoWindowClose.isDirty) {
188
+ view->setOnInfoWindowClose(props.onInfoWindowClose.value);
189
+ // TODO: Set isDirty = false
190
+ }
191
+ if (props.onInfoWindowLongPress.isDirty) {
192
+ view->setOnInfoWindowLongPress(props.onInfoWindowLongPress.value);
193
+ // TODO: Set isDirty = false
194
+ }
195
+ if (props.onMyLocationPress.isDirty) {
196
+ view->setOnMyLocationPress(props.onMyLocationPress.value);
197
+ // TODO: Set isDirty = false
198
+ }
199
+ if (props.onMyLocationButtonPress.isDirty) {
200
+ view->setOnMyLocationButtonPress(props.onMyLocationButtonPress.value);
201
+ // TODO: Set isDirty = false
202
+ }
175
203
  if (props.onCameraChangeStart.isDirty) {
176
204
  view->setOnCameraChangeStart(props.onCameraChangeStart.value);
177
205
  // TODO: Set isDirty = false
@@ -0,0 +1,81 @@
1
+ ///
2
+ /// Func_void_RNRegion_RNCamera.kt
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ package com.rngooglemapsplus
9
+
10
+ import androidx.annotation.Keep
11
+ import com.facebook.jni.HybridData
12
+ import com.facebook.proguard.annotations.DoNotStrip
13
+ import com.margelo.nitro.core.*
14
+ import dalvik.annotation.optimization.FastNative
15
+
16
+
17
+ /**
18
+ * Represents the JavaScript callback `(region: struct, camera: struct) => void`.
19
+ * This can be either implemented in C++ (in which case it might be a callback coming from JS),
20
+ * or in Kotlin/Java (in which case it is a native callback).
21
+ */
22
+ @DoNotStrip
23
+ @Keep
24
+ @Suppress("ClassName", "RedundantUnitReturnType")
25
+ fun interface Func_void_RNRegion_RNCamera: (RNRegion, RNCamera) -> Unit {
26
+ /**
27
+ * Call the given JS callback.
28
+ * @throws Throwable if the JS function itself throws an error, or if the JS function/runtime has already been deleted.
29
+ */
30
+ @DoNotStrip
31
+ @Keep
32
+ override fun invoke(region: RNRegion, camera: RNCamera): Unit
33
+ }
34
+
35
+ /**
36
+ * Represents the JavaScript callback `(region: struct, camera: struct) => void`.
37
+ * This is implemented in C++, via a `std::function<...>`.
38
+ * The callback might be coming from JS.
39
+ */
40
+ @DoNotStrip
41
+ @Keep
42
+ @Suppress(
43
+ "KotlinJniMissingFunction", "unused",
44
+ "RedundantSuppression", "RedundantUnitReturnType", "FunctionName",
45
+ "ConvertSecondaryConstructorToPrimary", "ClassName", "LocalVariableName",
46
+ )
47
+ class Func_void_RNRegion_RNCamera_cxx: Func_void_RNRegion_RNCamera {
48
+ @DoNotStrip
49
+ @Keep
50
+ private val mHybridData: HybridData
51
+
52
+ @DoNotStrip
53
+ @Keep
54
+ private constructor(hybridData: HybridData) {
55
+ mHybridData = hybridData
56
+ }
57
+
58
+ @DoNotStrip
59
+ @Keep
60
+ override fun invoke(region: RNRegion, camera: RNCamera): Unit
61
+ = invoke_cxx(region,camera)
62
+
63
+ @FastNative
64
+ private external fun invoke_cxx(region: RNRegion, camera: RNCamera): Unit
65
+ }
66
+
67
+ /**
68
+ * Represents the JavaScript callback `(region: struct, camera: struct) => void`.
69
+ * This is implemented in Java/Kotlin, via a `(RNRegion, RNCamera) -> Unit`.
70
+ * The callback is always coming from native.
71
+ */
72
+ @DoNotStrip
73
+ @Keep
74
+ @Suppress("ClassName", "RedundantUnitReturnType", "unused")
75
+ class Func_void_RNRegion_RNCamera_java(private val function: (RNRegion, RNCamera) -> Unit): Func_void_RNRegion_RNCamera {
76
+ @DoNotStrip
77
+ @Keep
78
+ override fun invoke(region: RNRegion, camera: RNCamera): Unit {
79
+ return this.function(region, camera)
80
+ }
81
+ }
@@ -1,5 +1,5 @@
1
1
  ///
2
- /// Func_void_std__optional_std__string_.kt
2
+ /// Func_void_std__string.kt
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
5
  /// Copyright © 2025 Marc Rousavy @ Margelo
@@ -15,25 +15,25 @@ import dalvik.annotation.optimization.FastNative
15
15
 
16
16
 
17
17
  /**
18
- * Represents the JavaScript callback `(id: optional) => void`.
18
+ * Represents the JavaScript callback `(id: string) => void`.
19
19
  * This can be either implemented in C++ (in which case it might be a callback coming from JS),
20
20
  * or in Kotlin/Java (in which case it is a native callback).
21
21
  */
22
22
  @DoNotStrip
23
23
  @Keep
24
24
  @Suppress("ClassName", "RedundantUnitReturnType")
25
- fun interface Func_void_std__optional_std__string_: (String?) -> Unit {
25
+ fun interface Func_void_std__string: (String) -> Unit {
26
26
  /**
27
27
  * Call the given JS callback.
28
28
  * @throws Throwable if the JS function itself throws an error, or if the JS function/runtime has already been deleted.
29
29
  */
30
30
  @DoNotStrip
31
31
  @Keep
32
- override fun invoke(id: String?): Unit
32
+ override fun invoke(id: String): Unit
33
33
  }
34
34
 
35
35
  /**
36
- * Represents the JavaScript callback `(id: optional) => void`.
36
+ * Represents the JavaScript callback `(id: string) => void`.
37
37
  * This is implemented in C++, via a `std::function<...>`.
38
38
  * The callback might be coming from JS.
39
39
  */
@@ -44,7 +44,7 @@ fun interface Func_void_std__optional_std__string_: (String?) -> Unit {
44
44
  "RedundantSuppression", "RedundantUnitReturnType", "FunctionName",
45
45
  "ConvertSecondaryConstructorToPrimary", "ClassName", "LocalVariableName",
46
46
  )
47
- class Func_void_std__optional_std__string__cxx: Func_void_std__optional_std__string_ {
47
+ class Func_void_std__string_cxx: Func_void_std__string {
48
48
  @DoNotStrip
49
49
  @Keep
50
50
  private val mHybridData: HybridData
@@ -57,25 +57,25 @@ class Func_void_std__optional_std__string__cxx: Func_void_std__optional_std__str
57
57
 
58
58
  @DoNotStrip
59
59
  @Keep
60
- override fun invoke(id: String?): Unit
60
+ override fun invoke(id: String): Unit
61
61
  = invoke_cxx(id)
62
62
 
63
63
  @FastNative
64
- private external fun invoke_cxx(id: String?): Unit
64
+ private external fun invoke_cxx(id: String): Unit
65
65
  }
66
66
 
67
67
  /**
68
- * Represents the JavaScript callback `(id: optional) => void`.
69
- * This is implemented in Java/Kotlin, via a `(String?) -> Unit`.
68
+ * Represents the JavaScript callback `(id: string) => void`.
69
+ * This is implemented in Java/Kotlin, via a `(String) -> Unit`.
70
70
  * The callback is always coming from native.
71
71
  */
72
72
  @DoNotStrip
73
73
  @Keep
74
74
  @Suppress("ClassName", "RedundantUnitReturnType", "unused")
75
- class Func_void_std__optional_std__string__java(private val function: (String?) -> Unit): Func_void_std__optional_std__string_ {
75
+ class Func_void_std__string_java(private val function: (String) -> Unit): Func_void_std__string {
76
76
  @DoNotStrip
77
77
  @Keep
78
- override fun invoke(id: String?): Unit {
78
+ override fun invoke(id: String): Unit {
79
79
  return this.function(id)
80
80
  }
81
81
  }
@@ -1,5 +1,5 @@
1
1
  ///
2
- /// Func_void_std__optional_std__string__RNLatLng.kt
2
+ /// Func_void_std__string_RNLatLng.kt
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
5
  /// Copyright © 2025 Marc Rousavy @ Margelo
@@ -15,25 +15,25 @@ import dalvik.annotation.optimization.FastNative
15
15
 
16
16
 
17
17
  /**
18
- * Represents the JavaScript callback `(id: optional, location: struct) => void`.
18
+ * Represents the JavaScript callback `(id: string, location: struct) => void`.
19
19
  * This can be either implemented in C++ (in which case it might be a callback coming from JS),
20
20
  * or in Kotlin/Java (in which case it is a native callback).
21
21
  */
22
22
  @DoNotStrip
23
23
  @Keep
24
24
  @Suppress("ClassName", "RedundantUnitReturnType")
25
- fun interface Func_void_std__optional_std__string__RNLatLng: (String?, RNLatLng) -> Unit {
25
+ fun interface Func_void_std__string_RNLatLng: (String, RNLatLng) -> Unit {
26
26
  /**
27
27
  * Call the given JS callback.
28
28
  * @throws Throwable if the JS function itself throws an error, or if the JS function/runtime has already been deleted.
29
29
  */
30
30
  @DoNotStrip
31
31
  @Keep
32
- override fun invoke(id: String?, location: RNLatLng): Unit
32
+ override fun invoke(id: String, location: RNLatLng): Unit
33
33
  }
34
34
 
35
35
  /**
36
- * Represents the JavaScript callback `(id: optional, location: struct) => void`.
36
+ * Represents the JavaScript callback `(id: string, location: struct) => void`.
37
37
  * This is implemented in C++, via a `std::function<...>`.
38
38
  * The callback might be coming from JS.
39
39
  */
@@ -44,7 +44,7 @@ fun interface Func_void_std__optional_std__string__RNLatLng: (String?, RNLatLng)
44
44
  "RedundantSuppression", "RedundantUnitReturnType", "FunctionName",
45
45
  "ConvertSecondaryConstructorToPrimary", "ClassName", "LocalVariableName",
46
46
  )
47
- class Func_void_std__optional_std__string__RNLatLng_cxx: Func_void_std__optional_std__string__RNLatLng {
47
+ class Func_void_std__string_RNLatLng_cxx: Func_void_std__string_RNLatLng {
48
48
  @DoNotStrip
49
49
  @Keep
50
50
  private val mHybridData: HybridData
@@ -57,25 +57,25 @@ class Func_void_std__optional_std__string__RNLatLng_cxx: Func_void_std__optional
57
57
 
58
58
  @DoNotStrip
59
59
  @Keep
60
- override fun invoke(id: String?, location: RNLatLng): Unit
60
+ override fun invoke(id: String, location: RNLatLng): Unit
61
61
  = invoke_cxx(id,location)
62
62
 
63
63
  @FastNative
64
- private external fun invoke_cxx(id: String?, location: RNLatLng): Unit
64
+ private external fun invoke_cxx(id: String, location: RNLatLng): Unit
65
65
  }
66
66
 
67
67
  /**
68
- * Represents the JavaScript callback `(id: optional, location: struct) => void`.
69
- * This is implemented in Java/Kotlin, via a `(String?, RNLatLng) -> Unit`.
68
+ * Represents the JavaScript callback `(id: string, location: struct) => void`.
69
+ * This is implemented in Java/Kotlin, via a `(String, RNLatLng) -> Unit`.
70
70
  * The callback is always coming from native.
71
71
  */
72
72
  @DoNotStrip
73
73
  @Keep
74
74
  @Suppress("ClassName", "RedundantUnitReturnType", "unused")
75
- class Func_void_std__optional_std__string__RNLatLng_java(private val function: (String?, RNLatLng) -> Unit): Func_void_std__optional_std__string__RNLatLng {
75
+ class Func_void_std__string_RNLatLng_java(private val function: (String, RNLatLng) -> Unit): Func_void_std__string_RNLatLng {
76
76
  @DoNotStrip
77
77
  @Keep
78
- override fun invoke(id: String?, location: RNLatLng): Unit {
78
+ override fun invoke(id: String, location: RNLatLng): Unit {
79
79
  return this.function(id, location)
80
80
  }
81
81
  }
@@ -0,0 +1,81 @@
1
+ ///
2
+ /// Func_void_std__string_std__string_RNLatLng.kt
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ package com.rngooglemapsplus
9
+
10
+ import androidx.annotation.Keep
11
+ import com.facebook.jni.HybridData
12
+ import com.facebook.proguard.annotations.DoNotStrip
13
+ import com.margelo.nitro.core.*
14
+ import dalvik.annotation.optimization.FastNative
15
+
16
+
17
+ /**
18
+ * Represents the JavaScript callback `(placeId: string, name: string, coordinate: struct) => void`.
19
+ * This can be either implemented in C++ (in which case it might be a callback coming from JS),
20
+ * or in Kotlin/Java (in which case it is a native callback).
21
+ */
22
+ @DoNotStrip
23
+ @Keep
24
+ @Suppress("ClassName", "RedundantUnitReturnType")
25
+ fun interface Func_void_std__string_std__string_RNLatLng: (String, String, RNLatLng) -> Unit {
26
+ /**
27
+ * Call the given JS callback.
28
+ * @throws Throwable if the JS function itself throws an error, or if the JS function/runtime has already been deleted.
29
+ */
30
+ @DoNotStrip
31
+ @Keep
32
+ override fun invoke(placeId: String, name: String, coordinate: RNLatLng): Unit
33
+ }
34
+
35
+ /**
36
+ * Represents the JavaScript callback `(placeId: string, name: string, coordinate: struct) => void`.
37
+ * This is implemented in C++, via a `std::function<...>`.
38
+ * The callback might be coming from JS.
39
+ */
40
+ @DoNotStrip
41
+ @Keep
42
+ @Suppress(
43
+ "KotlinJniMissingFunction", "unused",
44
+ "RedundantSuppression", "RedundantUnitReturnType", "FunctionName",
45
+ "ConvertSecondaryConstructorToPrimary", "ClassName", "LocalVariableName",
46
+ )
47
+ class Func_void_std__string_std__string_RNLatLng_cxx: Func_void_std__string_std__string_RNLatLng {
48
+ @DoNotStrip
49
+ @Keep
50
+ private val mHybridData: HybridData
51
+
52
+ @DoNotStrip
53
+ @Keep
54
+ private constructor(hybridData: HybridData) {
55
+ mHybridData = hybridData
56
+ }
57
+
58
+ @DoNotStrip
59
+ @Keep
60
+ override fun invoke(placeId: String, name: String, coordinate: RNLatLng): Unit
61
+ = invoke_cxx(placeId,name,coordinate)
62
+
63
+ @FastNative
64
+ private external fun invoke_cxx(placeId: String, name: String, coordinate: RNLatLng): Unit
65
+ }
66
+
67
+ /**
68
+ * Represents the JavaScript callback `(placeId: string, name: string, coordinate: struct) => void`.
69
+ * This is implemented in Java/Kotlin, via a `(String, String, RNLatLng) -> Unit`.
70
+ * The callback is always coming from native.
71
+ */
72
+ @DoNotStrip
73
+ @Keep
74
+ @Suppress("ClassName", "RedundantUnitReturnType", "unused")
75
+ class Func_void_std__string_std__string_RNLatLng_java(private val function: (String, String, RNLatLng) -> Unit): Func_void_std__string_std__string_RNLatLng {
76
+ @DoNotStrip
77
+ @Keep
78
+ override fun invoke(placeId: String, name: String, coordinate: RNLatLng): Unit {
79
+ return this.function(placeId, name, coordinate)
80
+ }
81
+ }