react-native-google-maps-plus 1.7.0-dev.4 → 1.7.0-dev.5

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 (23) hide show
  1. package/android/src/main/java/com/rngooglemapsplus/GoogleMapsViewImpl.kt +43 -1
  2. package/android/src/main/java/com/rngooglemapsplus/RNGoogleMapsPlusView.kt +25 -0
  3. package/ios/GoogleMapViewImpl.swift +45 -1
  4. package/ios/RNGoogleMapsPlusView.swift +20 -0
  5. package/lib/nitrogen/generated/shared/json/RNGoogleMapsPlusViewConfig.json +5 -0
  6. package/lib/typescript/src/RNGoogleMapsPlusView.nitro.d.ts +5 -0
  7. package/lib/typescript/src/RNGoogleMapsPlusView.nitro.d.ts.map +1 -1
  8. package/nitrogen/generated/android/c++/JHybridRNGoogleMapsPlusViewSpec.cpp +95 -0
  9. package/nitrogen/generated/android/c++/JHybridRNGoogleMapsPlusViewSpec.hpp +10 -0
  10. package/nitrogen/generated/android/c++/views/JHybridRNGoogleMapsPlusViewStateUpdater.cpp +20 -0
  11. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/HybridRNGoogleMapsPlusViewSpec.kt +70 -0
  12. package/nitrogen/generated/ios/RNGoogleMapsPlus-Swift-Cxx-Bridge.hpp +15 -0
  13. package/nitrogen/generated/ios/c++/HybridRNGoogleMapsPlusViewSpecSwift.hpp +35 -0
  14. package/nitrogen/generated/ios/c++/views/HybridRNGoogleMapsPlusViewComponent.mm +25 -0
  15. package/nitrogen/generated/ios/swift/HybridRNGoogleMapsPlusViewSpec.swift +5 -0
  16. package/nitrogen/generated/ios/swift/HybridRNGoogleMapsPlusViewSpec_cxx.swift +178 -0
  17. package/nitrogen/generated/shared/c++/HybridRNGoogleMapsPlusViewSpec.cpp +10 -0
  18. package/nitrogen/generated/shared/c++/HybridRNGoogleMapsPlusViewSpec.hpp +10 -0
  19. package/nitrogen/generated/shared/c++/views/HybridRNGoogleMapsPlusViewComponent.cpp +60 -0
  20. package/nitrogen/generated/shared/c++/views/HybridRNGoogleMapsPlusViewComponent.hpp +5 -0
  21. package/nitrogen/generated/shared/json/RNGoogleMapsPlusViewConfig.json +5 -0
  22. package/package.json +1 -1
  23. package/src/RNGoogleMapsPlusView.nitro.ts +5 -0
@@ -2,6 +2,7 @@ package com.rngooglemapsplus
2
2
 
3
3
  import android.annotation.SuppressLint
4
4
  import android.graphics.Bitmap
5
+ import android.location.Location
5
6
  import android.util.Base64
6
7
  import android.util.Size
7
8
  import android.widget.FrameLayout
@@ -67,6 +68,11 @@ class GoogleMapsViewImpl(
67
68
  GoogleMap.OnCircleClickListener,
68
69
  GoogleMap.OnMarkerDragListener,
69
70
  GoogleMap.OnIndoorStateChangeListener,
71
+ GoogleMap.OnInfoWindowClickListener,
72
+ GoogleMap.OnInfoWindowCloseListener,
73
+ GoogleMap.OnInfoWindowLongClickListener,
74
+ GoogleMap.OnMyLocationClickListener,
75
+ GoogleMap.OnMyLocationButtonClickListener,
70
76
  LifecycleEventListener {
71
77
  private var initialized = false
72
78
  private var destroyed = false
@@ -135,6 +141,11 @@ class GoogleMapsViewImpl(
135
141
  googleMap?.setOnMapLongClickListener(this@GoogleMapsViewImpl)
136
142
  googleMap?.setOnPoiClickListener(this@GoogleMapsViewImpl)
137
143
  googleMap?.setOnMarkerDragListener(this@GoogleMapsViewImpl)
144
+ googleMap?.setOnInfoWindowClickListener(this@GoogleMapsViewImpl)
145
+ googleMap?.setOnInfoWindowCloseListener(this@GoogleMapsViewImpl)
146
+ googleMap?.setOnInfoWindowLongClickListener(this@GoogleMapsViewImpl)
147
+ googleMap?.setOnMyLocationClickListener(this@GoogleMapsViewImpl)
148
+ googleMap?.setOnMyLocationButtonClickListener(this@GoogleMapsViewImpl)
138
149
  onMapLoaded?.invoke(true)
139
150
  }
140
151
  applyProps()
@@ -406,6 +417,11 @@ class GoogleMapsViewImpl(
406
417
  var onMarkerDragEnd: ((String?, RNLatLng) -> Unit)? = null
407
418
  var onIndoorBuildingFocused: ((RNIndoorBuilding) -> Unit)? = null
408
419
  var onIndoorLevelActivated: ((RNIndoorLevel) -> Unit)? = null
420
+ var onInfoWindowPress: ((String?) -> Unit)? = null
421
+ var onInfoWindowClose: ((String?) -> Unit)? = null
422
+ var onInfoWindowLongPress: ((String?) -> Unit)? = null
423
+ var onMyLocationPress: ((RNLocation) -> Unit)? = null
424
+ var onMyLocationButtonPress: ((Boolean) -> Unit)? = null
409
425
  var onCameraChangeStart: ((RNRegion, RNCamera, Boolean) -> Unit)? = null
410
426
  var onCameraChange: ((RNRegion, RNCamera, Boolean) -> Unit)? = null
411
427
  var onCameraChangeComplete: ((RNRegion, RNCamera, Boolean) -> Unit)? = null
@@ -936,6 +952,11 @@ class GoogleMapsViewImpl(
936
952
  setOnMapLongClickListener(null)
937
953
  setOnPoiClickListener(null)
938
954
  setOnMarkerDragListener(null)
955
+ setOnInfoWindowClickListener(null)
956
+ setOnInfoWindowCloseListener(null)
957
+ setOnInfoWindowLongClickListener(null)
958
+ setOnMyLocationClickListener(null)
959
+ setOnMyLocationButtonClickListener(null)
939
960
  }
940
961
  googleMap = null
941
962
  mapView?.apply {
@@ -993,7 +1014,7 @@ class GoogleMapsViewImpl(
993
1014
  override fun onMarkerClick(marker: Marker): Boolean {
994
1015
  marker.showInfoWindow()
995
1016
  onMarkerPress?.invoke(marker.tag?.toString())
996
- return true
1017
+ return false
997
1018
  }
998
1019
 
999
1020
  override fun onPolylineClick(polyline: Polyline) {
@@ -1059,6 +1080,27 @@ class GoogleMapsViewImpl(
1059
1080
  override fun onPoiClick(poi: PointOfInterest) {
1060
1081
  onPoiPress?.invoke(poi.placeId, poi.name, poi.latLng.toRnLatLng())
1061
1082
  }
1083
+
1084
+ override fun onInfoWindowClick(marker: Marker) {
1085
+ onInfoWindowPress?.invoke(marker.tag?.toString())
1086
+ }
1087
+
1088
+ override fun onInfoWindowClose(marker: Marker) {
1089
+ onInfoWindowClose?.invoke(marker.tag?.toString())
1090
+ }
1091
+
1092
+ override fun onInfoWindowLongClick(marker: Marker) {
1093
+ onInfoWindowLongPress?.invoke(marker.tag?.toString())
1094
+ }
1095
+
1096
+ override fun onMyLocationClick(location: Location) {
1097
+ onMyLocationPress?.invoke(location.toRnLocation())
1098
+ }
1099
+
1100
+ override fun onMyLocationButtonClick(): Boolean {
1101
+ onMyLocationButtonPress?.invoke(true)
1102
+ return false
1103
+ }
1062
1104
  }
1063
1105
 
1064
1106
  private inline fun onUi(crossinline block: () -> Unit) {
@@ -371,6 +371,31 @@ class RNGoogleMapsPlusView(
371
371
  view.onIndoorLevelActivated = cb
372
372
  }
373
373
 
374
+ override var onInfoWindowPress: ((String?) -> Unit)? = null
375
+ set(cb) {
376
+ view.onInfoWindowPress = cb
377
+ }
378
+
379
+ override var onInfoWindowClose: ((String?) -> Unit)? = null
380
+ set(cb) {
381
+ view.onInfoWindowClose = cb
382
+ }
383
+
384
+ override var onInfoWindowLongPress: ((String?) -> Unit)? = null
385
+ set(cb) {
386
+ view.onInfoWindowLongPress = cb
387
+ }
388
+
389
+ override var onMyLocationPress: ((RNLocation) -> Unit)? = null
390
+ set(cb) {
391
+ view.onMyLocationPress = cb
392
+ }
393
+
394
+ override var onMyLocationButtonPress: ((Boolean) -> Unit)? = null
395
+ set(cb) {
396
+ view.onMyLocationButtonPress = cb
397
+ }
398
+
374
399
  override var onCameraChangeStart: ((RNRegion, RNCamera, Boolean) -> Unit)? = null
375
400
  set(cb) {
376
401
  view.onCameraChangeStart = cb
@@ -277,6 +277,11 @@ GMSIndoorDisplayDelegate {
277
277
  var onMarkerDragEnd: ((String?, RNLatLng) -> Void)?
278
278
  var onIndoorBuildingFocused: ((RNIndoorBuilding) -> Void)?
279
279
  var onIndoorLevelActivated: ((RNIndoorLevel) -> Void)?
280
+ var onInfoWindowPress: ((String?) -> Void)?
281
+ var onInfoWindowClose: ((String?) -> Void)?
282
+ var onInfoWindowLongPress: ((String?) -> Void)?
283
+ var onMyLocationPress: ((RNLocation) -> Void)?
284
+ var onMyLocationButtonPress: ((Bool) -> Void)?
280
285
  var onCameraChangeStart: ((RNRegion, RNCamera, Bool) -> Void)?
281
286
  var onCameraChange: ((RNRegion, RNCamera, Bool) -> Void)?
282
287
  var onCameraChangeComplete: ((RNRegion, RNCamera, Bool) -> Void)?
@@ -782,7 +787,7 @@ GMSIndoorDisplayDelegate {
782
787
  mapView.selectedMarker = marker
783
788
  self.onMarkerPress?(marker.userData as? String, )
784
789
  }
785
- return true
790
+ return false
786
791
  }
787
792
 
788
793
  func mapView(_ mapView: GMSMapView, didTap overlay: GMSOverlay) {
@@ -855,4 +860,43 @@ GMSIndoorDisplayDelegate {
855
860
  )
856
861
  }
857
862
  }
863
+
864
+ func mapView(_ mapView: GMSMapView, didTapInfoWindowOf marker: GMSMarker) {
865
+ onMain {
866
+ self.onInfoWindowPress?(marker.userData as? String)
867
+ }
868
+ }
869
+
870
+ func mapView(_ mapView: GMSMapView, didCloseInfoWindowOf marker: GMSMarker) {
871
+ onMain {
872
+ self.onInfoWindowClose?(marker.userData as? String)
873
+ }
874
+ }
875
+
876
+ func mapView(
877
+ _ mapView: GMSMapView,
878
+ didLongPressInfoWindowOf marker: GMSMarker
879
+ ) {
880
+ onMain {
881
+ self.onInfoWindowLongPress?(marker.userData as? String)
882
+ }
883
+ }
884
+
885
+ func mapView(
886
+ _ mapView: GMSMapView,
887
+ didTapMyLocation location: CLLocationCoordinate2D
888
+ ) {
889
+ onMain {
890
+ self.mapView?.myLocation.map {
891
+ self.onMyLocationPress?($0.toRnLocation())
892
+ }
893
+ }
894
+ }
895
+
896
+ func didTapMyLocationButton(for mapView: GMSMapView) -> Bool {
897
+ onMain {
898
+ self.onMyLocationButtonPress?(true)
899
+ }
900
+ return false
901
+ }
858
902
  }
@@ -385,6 +385,26 @@ final class RNGoogleMapsPlusView: HybridRNGoogleMapsPlusViewSpec {
385
385
  didSet { impl.onIndoorLevelActivated = onIndoorLevelActivated }
386
386
  }
387
387
  @MainActor
388
+ var onInfoWindowPress: ((String?) -> Void)?{
389
+ didSet { impl.onInfoWindowPress = onInfoWindowPress }
390
+ }
391
+ @MainActor
392
+ var onInfoWindowClose: ((String?) -> Void)?{
393
+ didSet { impl.onInfoWindowClose = onInfoWindowClose }
394
+ }
395
+ @MainActor
396
+ var onInfoWindowLongPress: ((String?) -> Void)?{
397
+ didSet { impl.onInfoWindowLongPress = onInfoWindowLongPress }
398
+ }
399
+ @MainActor
400
+ var onMyLocationPress: ((RNLocation) -> Void)?{
401
+ didSet { impl.onMyLocationPress = onMyLocationPress }
402
+ }
403
+ @MainActor
404
+ var onMyLocationButtonPress: ((Bool) -> Void)? {
405
+ didSet { impl.onMyLocationButtonPress = onMyLocationButtonPress }
406
+ }
407
+ @MainActor
388
408
  var onCameraChangeStart: ((RNRegion, RNCamera, Bool) -> Void)? {
389
409
  didSet { impl.onCameraChangeStart = onCameraChangeStart }
390
410
  }
@@ -40,6 +40,11 @@
40
40
  "onMarkerDragEnd": true,
41
41
  "onIndoorBuildingFocused": true,
42
42
  "onIndoorLevelActivated": true,
43
+ "onInfoWindowPress": true,
44
+ "onInfoWindowClose": true,
45
+ "onInfoWindowLongPress": true,
46
+ "onMyLocationPress": true,
47
+ "onMyLocationButtonPress": true,
43
48
  "onCameraChangeStart": true,
44
49
  "onCameraChange": true,
45
50
  "onCameraChangeComplete": true,
@@ -37,6 +37,11 @@ export interface RNGoogleMapsPlusViewProps extends HybridViewProps {
37
37
  onMarkerDragEnd?: (id: string | undefined, location: RNLatLng) => void;
38
38
  onIndoorBuildingFocused?: (indoorBuilding: RNIndoorBuilding) => void;
39
39
  onIndoorLevelActivated?: (indoorLevel: RNIndoorLevel) => void;
40
+ onInfoWindowPress?: (id?: string) => void;
41
+ onInfoWindowClose?: (id?: string) => void;
42
+ onInfoWindowLongPress?: (id?: string) => void;
43
+ onMyLocationPress?: (location: RNLocation) => void;
44
+ onMyLocationButtonPress?: (pressed: boolean) => void;
40
45
  onCameraChangeStart?: (region: RNRegion, camera: RNCamera, isGesture: boolean) => void;
41
46
  onCameraChange?: (region: RNRegion, camera: RNCamera, isGesture: boolean) => void;
42
47
  onCameraChangeComplete?: (region: RNRegion, camera: RNCamera, isGesture: boolean) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"RNGoogleMapsPlusView.nitro.d.ts","sourceRoot":"","sources":["../../../src/RNGoogleMapsPlusView.nitro.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RNGoogleMapsPlusView.nitro.d.ts","sourceRoot":"","sources":["../../../src/RNGoogleMapsPlusView.nitro.ts"],"names":[],"mappings":"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"}
@@ -834,6 +834,101 @@ namespace margelo::nitro::rngooglemapsplus {
834
834
  static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_RNIndoorLevel::javaobject> /* onIndoorLevelActivated */)>("setOnIndoorLevelActivated_cxx");
835
835
  method(_javaPart, onIndoorLevelActivated.has_value() ? JFunc_void_RNIndoorLevel_cxx::fromCpp(onIndoorLevelActivated.value()) : nullptr);
836
836
  }
837
+ std::optional<std::function<void(const std::optional<std::string>& /* id */)>> JHybridRNGoogleMapsPlusViewSpec::getOnInfoWindowPress() {
838
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JFunc_void_std__optional_std__string_::javaobject>()>("getOnInfoWindowPress_cxx");
839
+ auto __result = method(_javaPart);
840
+ return __result != nullptr ? std::make_optional([&]() -> std::function<void(const std::optional<std::string>& /* id */)> {
841
+ if (__result->isInstanceOf(JFunc_void_std__optional_std__string__cxx::javaClassStatic())) [[likely]] {
842
+ auto downcast = jni::static_ref_cast<JFunc_void_std__optional_std__string__cxx::javaobject>(__result);
843
+ return downcast->cthis()->getFunction();
844
+ } else {
845
+ auto __resultRef = jni::make_global(__result);
846
+ return [__resultRef](std::optional<std::string> id) -> void {
847
+ return __resultRef->invoke(id);
848
+ };
849
+ }
850
+ }()) : std::nullopt;
851
+ }
852
+ void JHybridRNGoogleMapsPlusViewSpec::setOnInfoWindowPress(const std::optional<std::function<void(const std::optional<std::string>& /* id */)>>& onInfoWindowPress) {
853
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_std__optional_std__string_::javaobject> /* onInfoWindowPress */)>("setOnInfoWindowPress_cxx");
854
+ method(_javaPart, onInfoWindowPress.has_value() ? JFunc_void_std__optional_std__string__cxx::fromCpp(onInfoWindowPress.value()) : nullptr);
855
+ }
856
+ std::optional<std::function<void(const std::optional<std::string>& /* id */)>> JHybridRNGoogleMapsPlusViewSpec::getOnInfoWindowClose() {
857
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JFunc_void_std__optional_std__string_::javaobject>()>("getOnInfoWindowClose_cxx");
858
+ auto __result = method(_javaPart);
859
+ return __result != nullptr ? std::make_optional([&]() -> std::function<void(const std::optional<std::string>& /* id */)> {
860
+ if (__result->isInstanceOf(JFunc_void_std__optional_std__string__cxx::javaClassStatic())) [[likely]] {
861
+ auto downcast = jni::static_ref_cast<JFunc_void_std__optional_std__string__cxx::javaobject>(__result);
862
+ return downcast->cthis()->getFunction();
863
+ } else {
864
+ auto __resultRef = jni::make_global(__result);
865
+ return [__resultRef](std::optional<std::string> id) -> void {
866
+ return __resultRef->invoke(id);
867
+ };
868
+ }
869
+ }()) : std::nullopt;
870
+ }
871
+ void JHybridRNGoogleMapsPlusViewSpec::setOnInfoWindowClose(const std::optional<std::function<void(const std::optional<std::string>& /* id */)>>& onInfoWindowClose) {
872
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_std__optional_std__string_::javaobject> /* onInfoWindowClose */)>("setOnInfoWindowClose_cxx");
873
+ method(_javaPart, onInfoWindowClose.has_value() ? JFunc_void_std__optional_std__string__cxx::fromCpp(onInfoWindowClose.value()) : nullptr);
874
+ }
875
+ std::optional<std::function<void(const std::optional<std::string>& /* id */)>> JHybridRNGoogleMapsPlusViewSpec::getOnInfoWindowLongPress() {
876
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JFunc_void_std__optional_std__string_::javaobject>()>("getOnInfoWindowLongPress_cxx");
877
+ auto __result = method(_javaPart);
878
+ return __result != nullptr ? std::make_optional([&]() -> std::function<void(const std::optional<std::string>& /* id */)> {
879
+ if (__result->isInstanceOf(JFunc_void_std__optional_std__string__cxx::javaClassStatic())) [[likely]] {
880
+ auto downcast = jni::static_ref_cast<JFunc_void_std__optional_std__string__cxx::javaobject>(__result);
881
+ return downcast->cthis()->getFunction();
882
+ } else {
883
+ auto __resultRef = jni::make_global(__result);
884
+ return [__resultRef](std::optional<std::string> id) -> void {
885
+ return __resultRef->invoke(id);
886
+ };
887
+ }
888
+ }()) : std::nullopt;
889
+ }
890
+ void JHybridRNGoogleMapsPlusViewSpec::setOnInfoWindowLongPress(const std::optional<std::function<void(const std::optional<std::string>& /* id */)>>& onInfoWindowLongPress) {
891
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_std__optional_std__string_::javaobject> /* onInfoWindowLongPress */)>("setOnInfoWindowLongPress_cxx");
892
+ method(_javaPart, onInfoWindowLongPress.has_value() ? JFunc_void_std__optional_std__string__cxx::fromCpp(onInfoWindowLongPress.value()) : nullptr);
893
+ }
894
+ std::optional<std::function<void(const RNLocation& /* location */)>> JHybridRNGoogleMapsPlusViewSpec::getOnMyLocationPress() {
895
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JFunc_void_RNLocation::javaobject>()>("getOnMyLocationPress_cxx");
896
+ auto __result = method(_javaPart);
897
+ return __result != nullptr ? std::make_optional([&]() -> std::function<void(const RNLocation& /* location */)> {
898
+ if (__result->isInstanceOf(JFunc_void_RNLocation_cxx::javaClassStatic())) [[likely]] {
899
+ auto downcast = jni::static_ref_cast<JFunc_void_RNLocation_cxx::javaobject>(__result);
900
+ return downcast->cthis()->getFunction();
901
+ } else {
902
+ auto __resultRef = jni::make_global(__result);
903
+ return [__resultRef](RNLocation location) -> void {
904
+ return __resultRef->invoke(location);
905
+ };
906
+ }
907
+ }()) : std::nullopt;
908
+ }
909
+ void JHybridRNGoogleMapsPlusViewSpec::setOnMyLocationPress(const std::optional<std::function<void(const RNLocation& /* location */)>>& onMyLocationPress) {
910
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_RNLocation::javaobject> /* onMyLocationPress */)>("setOnMyLocationPress_cxx");
911
+ method(_javaPart, onMyLocationPress.has_value() ? JFunc_void_RNLocation_cxx::fromCpp(onMyLocationPress.value()) : nullptr);
912
+ }
913
+ std::optional<std::function<void(bool /* pressed */)>> JHybridRNGoogleMapsPlusViewSpec::getOnMyLocationButtonPress() {
914
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JFunc_void_bool::javaobject>()>("getOnMyLocationButtonPress_cxx");
915
+ auto __result = method(_javaPart);
916
+ return __result != nullptr ? std::make_optional([&]() -> std::function<void(bool /* pressed */)> {
917
+ if (__result->isInstanceOf(JFunc_void_bool_cxx::javaClassStatic())) [[likely]] {
918
+ auto downcast = jni::static_ref_cast<JFunc_void_bool_cxx::javaobject>(__result);
919
+ return downcast->cthis()->getFunction();
920
+ } else {
921
+ auto __resultRef = jni::make_global(__result);
922
+ return [__resultRef](bool pressed) -> void {
923
+ return __resultRef->invoke(pressed);
924
+ };
925
+ }
926
+ }()) : std::nullopt;
927
+ }
928
+ void JHybridRNGoogleMapsPlusViewSpec::setOnMyLocationButtonPress(const std::optional<std::function<void(bool /* pressed */)>>& onMyLocationButtonPress) {
929
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_bool::javaobject> /* onMyLocationButtonPress */)>("setOnMyLocationButtonPress_cxx");
930
+ method(_javaPart, onMyLocationButtonPress.has_value() ? JFunc_void_bool_cxx::fromCpp(onMyLocationButtonPress.value()) : nullptr);
931
+ }
837
932
  std::optional<std::function<void(const RNRegion& /* region */, const RNCamera& /* camera */, bool /* isGesture */)>> JHybridRNGoogleMapsPlusViewSpec::getOnCameraChangeStart() {
838
933
  static const auto method = javaClassStatic()->getMethod<jni::local_ref<JFunc_void_RNRegion_RNCamera_bool::javaobject>()>("getOnCameraChangeStart_cxx");
839
934
  auto __result = method(_javaPart);
@@ -121,6 +121,16 @@ namespace margelo::nitro::rngooglemapsplus {
121
121
  void setOnIndoorBuildingFocused(const std::optional<std::function<void(const RNIndoorBuilding& /* indoorBuilding */)>>& onIndoorBuildingFocused) override;
122
122
  std::optional<std::function<void(const RNIndoorLevel& /* indoorLevel */)>> getOnIndoorLevelActivated() override;
123
123
  void setOnIndoorLevelActivated(const std::optional<std::function<void(const RNIndoorLevel& /* indoorLevel */)>>& onIndoorLevelActivated) override;
124
+ std::optional<std::function<void(const std::optional<std::string>& /* id */)>> getOnInfoWindowPress() override;
125
+ void setOnInfoWindowPress(const std::optional<std::function<void(const std::optional<std::string>& /* id */)>>& onInfoWindowPress) override;
126
+ std::optional<std::function<void(const std::optional<std::string>& /* id */)>> getOnInfoWindowClose() override;
127
+ void setOnInfoWindowClose(const std::optional<std::function<void(const std::optional<std::string>& /* id */)>>& onInfoWindowClose) override;
128
+ std::optional<std::function<void(const std::optional<std::string>& /* id */)>> getOnInfoWindowLongPress() override;
129
+ void setOnInfoWindowLongPress(const std::optional<std::function<void(const std::optional<std::string>& /* id */)>>& onInfoWindowLongPress) override;
130
+ std::optional<std::function<void(const RNLocation& /* location */)>> getOnMyLocationPress() override;
131
+ void setOnMyLocationPress(const std::optional<std::function<void(const RNLocation& /* location */)>>& onMyLocationPress) override;
132
+ std::optional<std::function<void(bool /* pressed */)>> getOnMyLocationButtonPress() override;
133
+ void setOnMyLocationButtonPress(const std::optional<std::function<void(bool /* pressed */)>>& onMyLocationButtonPress) override;
124
134
  std::optional<std::function<void(const RNRegion& /* region */, const RNCamera& /* camera */, bool /* isGesture */)>> getOnCameraChangeStart() override;
125
135
  void setOnCameraChangeStart(const std::optional<std::function<void(const RNRegion& /* region */, const RNCamera& /* camera */, bool /* isGesture */)>>& onCameraChangeStart) override;
126
136
  std::optional<std::function<void(const RNRegion& /* region */, const RNCamera& /* camera */, bool /* isGesture */)>> getOnCameraChange() override;
@@ -180,6 +180,26 @@ void JHybridRNGoogleMapsPlusViewStateUpdater::updateViewProps(jni::alias_ref<jni
180
180
  view->setOnIndoorLevelActivated(props.onIndoorLevelActivated.value);
181
181
  // TODO: Set isDirty = false
182
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
+ }
183
203
  if (props.onCameraChangeStart.isDirty) {
184
204
  view->setOnCameraChangeStart(props.onCameraChangeStart.value);
185
205
  // TODO: Set isDirty = false
@@ -390,6 +390,76 @@ abstract class HybridRNGoogleMapsPlusViewSpec: HybridView() {
390
390
  onIndoorLevelActivated = value?.let { it }
391
391
  }
392
392
 
393
+ abstract var onInfoWindowPress: ((id: String?) -> Unit)?
394
+
395
+ private var onInfoWindowPress_cxx: Func_void_std__optional_std__string_?
396
+ @Keep
397
+ @DoNotStrip
398
+ get() {
399
+ return onInfoWindowPress?.let { Func_void_std__optional_std__string__java(it) }
400
+ }
401
+ @Keep
402
+ @DoNotStrip
403
+ set(value) {
404
+ onInfoWindowPress = value?.let { it }
405
+ }
406
+
407
+ abstract var onInfoWindowClose: ((id: String?) -> Unit)?
408
+
409
+ private var onInfoWindowClose_cxx: Func_void_std__optional_std__string_?
410
+ @Keep
411
+ @DoNotStrip
412
+ get() {
413
+ return onInfoWindowClose?.let { Func_void_std__optional_std__string__java(it) }
414
+ }
415
+ @Keep
416
+ @DoNotStrip
417
+ set(value) {
418
+ onInfoWindowClose = value?.let { it }
419
+ }
420
+
421
+ abstract var onInfoWindowLongPress: ((id: String?) -> Unit)?
422
+
423
+ private var onInfoWindowLongPress_cxx: Func_void_std__optional_std__string_?
424
+ @Keep
425
+ @DoNotStrip
426
+ get() {
427
+ return onInfoWindowLongPress?.let { Func_void_std__optional_std__string__java(it) }
428
+ }
429
+ @Keep
430
+ @DoNotStrip
431
+ set(value) {
432
+ onInfoWindowLongPress = value?.let { it }
433
+ }
434
+
435
+ abstract var onMyLocationPress: ((location: RNLocation) -> Unit)?
436
+
437
+ private var onMyLocationPress_cxx: Func_void_RNLocation?
438
+ @Keep
439
+ @DoNotStrip
440
+ get() {
441
+ return onMyLocationPress?.let { Func_void_RNLocation_java(it) }
442
+ }
443
+ @Keep
444
+ @DoNotStrip
445
+ set(value) {
446
+ onMyLocationPress = value?.let { it }
447
+ }
448
+
449
+ abstract var onMyLocationButtonPress: ((pressed: Boolean) -> Unit)?
450
+
451
+ private var onMyLocationButtonPress_cxx: Func_void_bool?
452
+ @Keep
453
+ @DoNotStrip
454
+ get() {
455
+ return onMyLocationButtonPress?.let { Func_void_bool_java(it) }
456
+ }
457
+ @Keep
458
+ @DoNotStrip
459
+ set(value) {
460
+ onMyLocationButtonPress = value?.let { it }
461
+ }
462
+
393
463
  abstract var onCameraChangeStart: ((region: RNRegion, camera: RNCamera, isGesture: Boolean) -> Unit)?
394
464
 
395
465
  private var onCameraChangeStart_cxx: Func_void_RNRegion_RNCamera_bool?
@@ -1278,6 +1278,21 @@ namespace margelo::nitro::rngooglemapsplus::bridge::swift {
1278
1278
  return *optional;
1279
1279
  }
1280
1280
 
1281
+ // pragma MARK: std::optional<std::function<void(bool /* pressed */)>>
1282
+ /**
1283
+ * Specialized version of `std::optional<std::function<void(bool / * pressed * /)>>`.
1284
+ */
1285
+ using std__optional_std__function_void_bool____pressed______ = std::optional<std::function<void(bool /* pressed */)>>;
1286
+ inline std::optional<std::function<void(bool /* pressed */)>> create_std__optional_std__function_void_bool____pressed______(const std::function<void(bool /* pressed */)>& value) noexcept {
1287
+ return std::optional<std::function<void(bool /* pressed */)>>(value);
1288
+ }
1289
+ inline bool has_value_std__optional_std__function_void_bool____pressed______(const std::optional<std::function<void(bool /* pressed */)>>& optional) noexcept {
1290
+ return optional.has_value();
1291
+ }
1292
+ inline std::function<void(bool /* pressed */)> get_std__optional_std__function_void_bool____pressed______(const std::optional<std::function<void(bool /* pressed */)>>& optional) noexcept {
1293
+ return *optional;
1294
+ }
1295
+
1281
1296
  // pragma MARK: std::function<void(const RNRegion& /* region */, const RNCamera& /* camera */, bool /* isGesture */)>
1282
1297
  /**
1283
1298
  * Specialized version of `std::function<void(const RNRegion&, const RNCamera&, bool)>`.
@@ -437,6 +437,41 @@ namespace margelo::nitro::rngooglemapsplus {
437
437
  inline void setOnIndoorLevelActivated(const std::optional<std::function<void(const RNIndoorLevel& /* indoorLevel */)>>& onIndoorLevelActivated) noexcept override {
438
438
  _swiftPart.setOnIndoorLevelActivated(onIndoorLevelActivated);
439
439
  }
440
+ inline std::optional<std::function<void(const std::optional<std::string>& /* id */)>> getOnInfoWindowPress() noexcept override {
441
+ auto __result = _swiftPart.getOnInfoWindowPress();
442
+ return __result;
443
+ }
444
+ inline void setOnInfoWindowPress(const std::optional<std::function<void(const std::optional<std::string>& /* id */)>>& onInfoWindowPress) noexcept override {
445
+ _swiftPart.setOnInfoWindowPress(onInfoWindowPress);
446
+ }
447
+ inline std::optional<std::function<void(const std::optional<std::string>& /* id */)>> getOnInfoWindowClose() noexcept override {
448
+ auto __result = _swiftPart.getOnInfoWindowClose();
449
+ return __result;
450
+ }
451
+ inline void setOnInfoWindowClose(const std::optional<std::function<void(const std::optional<std::string>& /* id */)>>& onInfoWindowClose) noexcept override {
452
+ _swiftPart.setOnInfoWindowClose(onInfoWindowClose);
453
+ }
454
+ inline std::optional<std::function<void(const std::optional<std::string>& /* id */)>> getOnInfoWindowLongPress() noexcept override {
455
+ auto __result = _swiftPart.getOnInfoWindowLongPress();
456
+ return __result;
457
+ }
458
+ inline void setOnInfoWindowLongPress(const std::optional<std::function<void(const std::optional<std::string>& /* id */)>>& onInfoWindowLongPress) noexcept override {
459
+ _swiftPart.setOnInfoWindowLongPress(onInfoWindowLongPress);
460
+ }
461
+ inline std::optional<std::function<void(const RNLocation& /* location */)>> getOnMyLocationPress() noexcept override {
462
+ auto __result = _swiftPart.getOnMyLocationPress();
463
+ return __result;
464
+ }
465
+ inline void setOnMyLocationPress(const std::optional<std::function<void(const RNLocation& /* location */)>>& onMyLocationPress) noexcept override {
466
+ _swiftPart.setOnMyLocationPress(onMyLocationPress);
467
+ }
468
+ inline std::optional<std::function<void(bool /* pressed */)>> getOnMyLocationButtonPress() noexcept override {
469
+ auto __result = _swiftPart.getOnMyLocationButtonPress();
470
+ return __result;
471
+ }
472
+ inline void setOnMyLocationButtonPress(const std::optional<std::function<void(bool /* pressed */)>>& onMyLocationButtonPress) noexcept override {
473
+ _swiftPart.setOnMyLocationButtonPress(onMyLocationButtonPress);
474
+ }
440
475
  inline std::optional<std::function<void(const RNRegion& /* region */, const RNCamera& /* camera */, bool /* isGesture */)>> getOnCameraChangeStart() noexcept override {
441
476
  auto __result = _swiftPart.getOnCameraChangeStart();
442
477
  return __result;
@@ -266,6 +266,31 @@ using namespace margelo::nitro::rngooglemapsplus::views;
266
266
  swiftPart.setOnIndoorLevelActivated(newViewProps.onIndoorLevelActivated.value);
267
267
  newViewProps.onIndoorLevelActivated.isDirty = false;
268
268
  }
269
+ // onInfoWindowPress: optional
270
+ if (newViewProps.onInfoWindowPress.isDirty) {
271
+ swiftPart.setOnInfoWindowPress(newViewProps.onInfoWindowPress.value);
272
+ newViewProps.onInfoWindowPress.isDirty = false;
273
+ }
274
+ // onInfoWindowClose: optional
275
+ if (newViewProps.onInfoWindowClose.isDirty) {
276
+ swiftPart.setOnInfoWindowClose(newViewProps.onInfoWindowClose.value);
277
+ newViewProps.onInfoWindowClose.isDirty = false;
278
+ }
279
+ // onInfoWindowLongPress: optional
280
+ if (newViewProps.onInfoWindowLongPress.isDirty) {
281
+ swiftPart.setOnInfoWindowLongPress(newViewProps.onInfoWindowLongPress.value);
282
+ newViewProps.onInfoWindowLongPress.isDirty = false;
283
+ }
284
+ // onMyLocationPress: optional
285
+ if (newViewProps.onMyLocationPress.isDirty) {
286
+ swiftPart.setOnMyLocationPress(newViewProps.onMyLocationPress.value);
287
+ newViewProps.onMyLocationPress.isDirty = false;
288
+ }
289
+ // onMyLocationButtonPress: optional
290
+ if (newViewProps.onMyLocationButtonPress.isDirty) {
291
+ swiftPart.setOnMyLocationButtonPress(newViewProps.onMyLocationButtonPress.value);
292
+ newViewProps.onMyLocationButtonPress.isDirty = false;
293
+ }
269
294
  // onCameraChangeStart: optional
270
295
  if (newViewProps.onCameraChangeStart.isDirty) {
271
296
  swiftPart.setOnCameraChangeStart(newViewProps.onCameraChangeStart.value);
@@ -47,6 +47,11 @@ public protocol HybridRNGoogleMapsPlusViewSpec_protocol: HybridObject, HybridVie
47
47
  var onMarkerDragEnd: ((_ id: String?, _ location: RNLatLng) -> Void)? { get set }
48
48
  var onIndoorBuildingFocused: ((_ indoorBuilding: RNIndoorBuilding) -> Void)? { get set }
49
49
  var onIndoorLevelActivated: ((_ indoorLevel: RNIndoorLevel) -> Void)? { get set }
50
+ var onInfoWindowPress: ((_ id: String?) -> Void)? { get set }
51
+ var onInfoWindowClose: ((_ id: String?) -> Void)? { get set }
52
+ var onInfoWindowLongPress: ((_ id: String?) -> Void)? { get set }
53
+ var onMyLocationPress: ((_ location: RNLocation) -> Void)? { get set }
54
+ var onMyLocationButtonPress: ((_ pressed: Bool) -> Void)? { get set }
50
55
  var onCameraChangeStart: ((_ region: RNRegion, _ camera: RNCamera, _ isGesture: Bool) -> Void)? { get set }
51
56
  var onCameraChange: ((_ region: RNRegion, _ camera: RNCamera, _ isGesture: Bool) -> Void)? { get set }
52
57
  var onCameraChangeComplete: ((_ region: RNRegion, _ camera: RNCamera, _ isGesture: Bool) -> Void)? { get set }
@@ -1141,6 +1141,184 @@ open class HybridRNGoogleMapsPlusViewSpec_cxx {
1141
1141
  }
1142
1142
  }
1143
1143
 
1144
+ public final var onInfoWindowPress: bridge.std__optional_std__function_void_const_std__optional_std__string______id______ {
1145
+ @inline(__always)
1146
+ get {
1147
+ return { () -> bridge.std__optional_std__function_void_const_std__optional_std__string______id______ in
1148
+ if let __unwrappedValue = self.__implementation.onInfoWindowPress {
1149
+ return bridge.create_std__optional_std__function_void_const_std__optional_std__string______id______({ () -> bridge.Func_void_std__optional_std__string_ in
1150
+ let __closureWrapper = Func_void_std__optional_std__string_(__unwrappedValue)
1151
+ return bridge.create_Func_void_std__optional_std__string_(__closureWrapper.toUnsafe())
1152
+ }())
1153
+ } else {
1154
+ return .init()
1155
+ }
1156
+ }()
1157
+ }
1158
+ @inline(__always)
1159
+ set {
1160
+ self.__implementation.onInfoWindowPress = { () -> ((_ id: String?) -> Void)? in
1161
+ if bridge.has_value_std__optional_std__function_void_const_std__optional_std__string______id______(newValue) {
1162
+ let __unwrapped = bridge.get_std__optional_std__function_void_const_std__optional_std__string______id______(newValue)
1163
+ return { () -> (String?) -> Void in
1164
+ let __wrappedFunction = bridge.wrap_Func_void_std__optional_std__string_(__unwrapped)
1165
+ return { (__id: String?) -> Void in
1166
+ __wrappedFunction.call({ () -> bridge.std__optional_std__string_ in
1167
+ if let __unwrappedValue = __id {
1168
+ return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
1169
+ } else {
1170
+ return .init()
1171
+ }
1172
+ }())
1173
+ }
1174
+ }()
1175
+ } else {
1176
+ return nil
1177
+ }
1178
+ }()
1179
+ }
1180
+ }
1181
+
1182
+ public final var onInfoWindowClose: bridge.std__optional_std__function_void_const_std__optional_std__string______id______ {
1183
+ @inline(__always)
1184
+ get {
1185
+ return { () -> bridge.std__optional_std__function_void_const_std__optional_std__string______id______ in
1186
+ if let __unwrappedValue = self.__implementation.onInfoWindowClose {
1187
+ return bridge.create_std__optional_std__function_void_const_std__optional_std__string______id______({ () -> bridge.Func_void_std__optional_std__string_ in
1188
+ let __closureWrapper = Func_void_std__optional_std__string_(__unwrappedValue)
1189
+ return bridge.create_Func_void_std__optional_std__string_(__closureWrapper.toUnsafe())
1190
+ }())
1191
+ } else {
1192
+ return .init()
1193
+ }
1194
+ }()
1195
+ }
1196
+ @inline(__always)
1197
+ set {
1198
+ self.__implementation.onInfoWindowClose = { () -> ((_ id: String?) -> Void)? in
1199
+ if bridge.has_value_std__optional_std__function_void_const_std__optional_std__string______id______(newValue) {
1200
+ let __unwrapped = bridge.get_std__optional_std__function_void_const_std__optional_std__string______id______(newValue)
1201
+ return { () -> (String?) -> Void in
1202
+ let __wrappedFunction = bridge.wrap_Func_void_std__optional_std__string_(__unwrapped)
1203
+ return { (__id: String?) -> Void in
1204
+ __wrappedFunction.call({ () -> bridge.std__optional_std__string_ in
1205
+ if let __unwrappedValue = __id {
1206
+ return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
1207
+ } else {
1208
+ return .init()
1209
+ }
1210
+ }())
1211
+ }
1212
+ }()
1213
+ } else {
1214
+ return nil
1215
+ }
1216
+ }()
1217
+ }
1218
+ }
1219
+
1220
+ public final var onInfoWindowLongPress: bridge.std__optional_std__function_void_const_std__optional_std__string______id______ {
1221
+ @inline(__always)
1222
+ get {
1223
+ return { () -> bridge.std__optional_std__function_void_const_std__optional_std__string______id______ in
1224
+ if let __unwrappedValue = self.__implementation.onInfoWindowLongPress {
1225
+ return bridge.create_std__optional_std__function_void_const_std__optional_std__string______id______({ () -> bridge.Func_void_std__optional_std__string_ in
1226
+ let __closureWrapper = Func_void_std__optional_std__string_(__unwrappedValue)
1227
+ return bridge.create_Func_void_std__optional_std__string_(__closureWrapper.toUnsafe())
1228
+ }())
1229
+ } else {
1230
+ return .init()
1231
+ }
1232
+ }()
1233
+ }
1234
+ @inline(__always)
1235
+ set {
1236
+ self.__implementation.onInfoWindowLongPress = { () -> ((_ id: String?) -> Void)? in
1237
+ if bridge.has_value_std__optional_std__function_void_const_std__optional_std__string______id______(newValue) {
1238
+ let __unwrapped = bridge.get_std__optional_std__function_void_const_std__optional_std__string______id______(newValue)
1239
+ return { () -> (String?) -> Void in
1240
+ let __wrappedFunction = bridge.wrap_Func_void_std__optional_std__string_(__unwrapped)
1241
+ return { (__id: String?) -> Void in
1242
+ __wrappedFunction.call({ () -> bridge.std__optional_std__string_ in
1243
+ if let __unwrappedValue = __id {
1244
+ return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
1245
+ } else {
1246
+ return .init()
1247
+ }
1248
+ }())
1249
+ }
1250
+ }()
1251
+ } else {
1252
+ return nil
1253
+ }
1254
+ }()
1255
+ }
1256
+ }
1257
+
1258
+ public final var onMyLocationPress: bridge.std__optional_std__function_void_const_RNLocation_____location______ {
1259
+ @inline(__always)
1260
+ get {
1261
+ return { () -> bridge.std__optional_std__function_void_const_RNLocation_____location______ in
1262
+ if let __unwrappedValue = self.__implementation.onMyLocationPress {
1263
+ return bridge.create_std__optional_std__function_void_const_RNLocation_____location______({ () -> bridge.Func_void_RNLocation in
1264
+ let __closureWrapper = Func_void_RNLocation(__unwrappedValue)
1265
+ return bridge.create_Func_void_RNLocation(__closureWrapper.toUnsafe())
1266
+ }())
1267
+ } else {
1268
+ return .init()
1269
+ }
1270
+ }()
1271
+ }
1272
+ @inline(__always)
1273
+ set {
1274
+ self.__implementation.onMyLocationPress = { () -> ((_ location: RNLocation) -> Void)? in
1275
+ if bridge.has_value_std__optional_std__function_void_const_RNLocation_____location______(newValue) {
1276
+ let __unwrapped = bridge.get_std__optional_std__function_void_const_RNLocation_____location______(newValue)
1277
+ return { () -> (RNLocation) -> Void in
1278
+ let __wrappedFunction = bridge.wrap_Func_void_RNLocation(__unwrapped)
1279
+ return { (__location: RNLocation) -> Void in
1280
+ __wrappedFunction.call(__location)
1281
+ }
1282
+ }()
1283
+ } else {
1284
+ return nil
1285
+ }
1286
+ }()
1287
+ }
1288
+ }
1289
+
1290
+ public final var onMyLocationButtonPress: bridge.std__optional_std__function_void_bool____pressed______ {
1291
+ @inline(__always)
1292
+ get {
1293
+ return { () -> bridge.std__optional_std__function_void_bool____pressed______ in
1294
+ if let __unwrappedValue = self.__implementation.onMyLocationButtonPress {
1295
+ return bridge.create_std__optional_std__function_void_bool____pressed______({ () -> bridge.Func_void_bool in
1296
+ let __closureWrapper = Func_void_bool(__unwrappedValue)
1297
+ return bridge.create_Func_void_bool(__closureWrapper.toUnsafe())
1298
+ }())
1299
+ } else {
1300
+ return .init()
1301
+ }
1302
+ }()
1303
+ }
1304
+ @inline(__always)
1305
+ set {
1306
+ self.__implementation.onMyLocationButtonPress = { () -> ((_ pressed: Bool) -> Void)? in
1307
+ if bridge.has_value_std__optional_std__function_void_bool____pressed______(newValue) {
1308
+ let __unwrapped = bridge.get_std__optional_std__function_void_bool____pressed______(newValue)
1309
+ return { () -> (Bool) -> Void in
1310
+ let __wrappedFunction = bridge.wrap_Func_void_bool(__unwrapped)
1311
+ return { (__pressed: Bool) -> Void in
1312
+ __wrappedFunction.call(__pressed)
1313
+ }
1314
+ }()
1315
+ } else {
1316
+ return nil
1317
+ }
1318
+ }()
1319
+ }
1320
+ }
1321
+
1144
1322
  public final var onCameraChangeStart: bridge.std__optional_std__function_void_const_RNRegion_____region_____const_RNCamera_____camera_____bool____isGesture______ {
1145
1323
  @inline(__always)
1146
1324
  get {
@@ -86,6 +86,16 @@ namespace margelo::nitro::rngooglemapsplus {
86
86
  prototype.registerHybridSetter("onIndoorBuildingFocused", &HybridRNGoogleMapsPlusViewSpec::setOnIndoorBuildingFocused);
87
87
  prototype.registerHybridGetter("onIndoorLevelActivated", &HybridRNGoogleMapsPlusViewSpec::getOnIndoorLevelActivated);
88
88
  prototype.registerHybridSetter("onIndoorLevelActivated", &HybridRNGoogleMapsPlusViewSpec::setOnIndoorLevelActivated);
89
+ prototype.registerHybridGetter("onInfoWindowPress", &HybridRNGoogleMapsPlusViewSpec::getOnInfoWindowPress);
90
+ prototype.registerHybridSetter("onInfoWindowPress", &HybridRNGoogleMapsPlusViewSpec::setOnInfoWindowPress);
91
+ prototype.registerHybridGetter("onInfoWindowClose", &HybridRNGoogleMapsPlusViewSpec::getOnInfoWindowClose);
92
+ prototype.registerHybridSetter("onInfoWindowClose", &HybridRNGoogleMapsPlusViewSpec::setOnInfoWindowClose);
93
+ prototype.registerHybridGetter("onInfoWindowLongPress", &HybridRNGoogleMapsPlusViewSpec::getOnInfoWindowLongPress);
94
+ prototype.registerHybridSetter("onInfoWindowLongPress", &HybridRNGoogleMapsPlusViewSpec::setOnInfoWindowLongPress);
95
+ prototype.registerHybridGetter("onMyLocationPress", &HybridRNGoogleMapsPlusViewSpec::getOnMyLocationPress);
96
+ prototype.registerHybridSetter("onMyLocationPress", &HybridRNGoogleMapsPlusViewSpec::setOnMyLocationPress);
97
+ prototype.registerHybridGetter("onMyLocationButtonPress", &HybridRNGoogleMapsPlusViewSpec::getOnMyLocationButtonPress);
98
+ prototype.registerHybridSetter("onMyLocationButtonPress", &HybridRNGoogleMapsPlusViewSpec::setOnMyLocationButtonPress);
89
99
  prototype.registerHybridGetter("onCameraChangeStart", &HybridRNGoogleMapsPlusViewSpec::getOnCameraChangeStart);
90
100
  prototype.registerHybridSetter("onCameraChangeStart", &HybridRNGoogleMapsPlusViewSpec::setOnCameraChangeStart);
91
101
  prototype.registerHybridGetter("onCameraChange", &HybridRNGoogleMapsPlusViewSpec::getOnCameraChange);
@@ -194,6 +194,16 @@ namespace margelo::nitro::rngooglemapsplus {
194
194
  virtual void setOnIndoorBuildingFocused(const std::optional<std::function<void(const RNIndoorBuilding& /* indoorBuilding */)>>& onIndoorBuildingFocused) = 0;
195
195
  virtual std::optional<std::function<void(const RNIndoorLevel& /* indoorLevel */)>> getOnIndoorLevelActivated() = 0;
196
196
  virtual void setOnIndoorLevelActivated(const std::optional<std::function<void(const RNIndoorLevel& /* indoorLevel */)>>& onIndoorLevelActivated) = 0;
197
+ virtual std::optional<std::function<void(const std::optional<std::string>& /* id */)>> getOnInfoWindowPress() = 0;
198
+ virtual void setOnInfoWindowPress(const std::optional<std::function<void(const std::optional<std::string>& /* id */)>>& onInfoWindowPress) = 0;
199
+ virtual std::optional<std::function<void(const std::optional<std::string>& /* id */)>> getOnInfoWindowClose() = 0;
200
+ virtual void setOnInfoWindowClose(const std::optional<std::function<void(const std::optional<std::string>& /* id */)>>& onInfoWindowClose) = 0;
201
+ virtual std::optional<std::function<void(const std::optional<std::string>& /* id */)>> getOnInfoWindowLongPress() = 0;
202
+ virtual void setOnInfoWindowLongPress(const std::optional<std::function<void(const std::optional<std::string>& /* id */)>>& onInfoWindowLongPress) = 0;
203
+ virtual std::optional<std::function<void(const RNLocation& /* location */)>> getOnMyLocationPress() = 0;
204
+ virtual void setOnMyLocationPress(const std::optional<std::function<void(const RNLocation& /* location */)>>& onMyLocationPress) = 0;
205
+ virtual std::optional<std::function<void(bool /* pressed */)>> getOnMyLocationButtonPress() = 0;
206
+ virtual void setOnMyLocationButtonPress(const std::optional<std::function<void(bool /* pressed */)>>& onMyLocationButtonPress) = 0;
197
207
  virtual std::optional<std::function<void(const RNRegion& /* region */, const RNCamera& /* camera */, bool /* isGesture */)>> getOnCameraChangeStart() = 0;
198
208
  virtual void setOnCameraChangeStart(const std::optional<std::function<void(const RNRegion& /* region */, const RNCamera& /* camera */, bool /* isGesture */)>>& onCameraChangeStart) = 0;
199
209
  virtual std::optional<std::function<void(const RNRegion& /* region */, const RNCamera& /* camera */, bool /* isGesture */)>> getOnCameraChange() = 0;
@@ -385,6 +385,56 @@ namespace margelo::nitro::rngooglemapsplus::views {
385
385
  throw std::runtime_error(std::string("RNGoogleMapsPlusView.onIndoorLevelActivated: ") + exc.what());
386
386
  }
387
387
  }()),
388
+ onInfoWindowPress([&]() -> CachedProp<std::optional<std::function<void(const std::optional<std::string>& /* id */)>>> {
389
+ try {
390
+ const react::RawValue* rawValue = rawProps.at("onInfoWindowPress", nullptr, nullptr);
391
+ if (rawValue == nullptr) return sourceProps.onInfoWindowPress;
392
+ const auto& [runtime, value] = (std::pair<jsi::Runtime*, jsi::Value>)*rawValue;
393
+ return CachedProp<std::optional<std::function<void(const std::optional<std::string>& /* id */)>>>::fromRawValue(*runtime, value.asObject(*runtime).getProperty(*runtime, "f"), sourceProps.onInfoWindowPress);
394
+ } catch (const std::exception& exc) {
395
+ throw std::runtime_error(std::string("RNGoogleMapsPlusView.onInfoWindowPress: ") + exc.what());
396
+ }
397
+ }()),
398
+ onInfoWindowClose([&]() -> CachedProp<std::optional<std::function<void(const std::optional<std::string>& /* id */)>>> {
399
+ try {
400
+ const react::RawValue* rawValue = rawProps.at("onInfoWindowClose", nullptr, nullptr);
401
+ if (rawValue == nullptr) return sourceProps.onInfoWindowClose;
402
+ const auto& [runtime, value] = (std::pair<jsi::Runtime*, jsi::Value>)*rawValue;
403
+ return CachedProp<std::optional<std::function<void(const std::optional<std::string>& /* id */)>>>::fromRawValue(*runtime, value.asObject(*runtime).getProperty(*runtime, "f"), sourceProps.onInfoWindowClose);
404
+ } catch (const std::exception& exc) {
405
+ throw std::runtime_error(std::string("RNGoogleMapsPlusView.onInfoWindowClose: ") + exc.what());
406
+ }
407
+ }()),
408
+ onInfoWindowLongPress([&]() -> CachedProp<std::optional<std::function<void(const std::optional<std::string>& /* id */)>>> {
409
+ try {
410
+ const react::RawValue* rawValue = rawProps.at("onInfoWindowLongPress", nullptr, nullptr);
411
+ if (rawValue == nullptr) return sourceProps.onInfoWindowLongPress;
412
+ const auto& [runtime, value] = (std::pair<jsi::Runtime*, jsi::Value>)*rawValue;
413
+ return CachedProp<std::optional<std::function<void(const std::optional<std::string>& /* id */)>>>::fromRawValue(*runtime, value.asObject(*runtime).getProperty(*runtime, "f"), sourceProps.onInfoWindowLongPress);
414
+ } catch (const std::exception& exc) {
415
+ throw std::runtime_error(std::string("RNGoogleMapsPlusView.onInfoWindowLongPress: ") + exc.what());
416
+ }
417
+ }()),
418
+ onMyLocationPress([&]() -> CachedProp<std::optional<std::function<void(const RNLocation& /* location */)>>> {
419
+ try {
420
+ const react::RawValue* rawValue = rawProps.at("onMyLocationPress", nullptr, nullptr);
421
+ if (rawValue == nullptr) return sourceProps.onMyLocationPress;
422
+ const auto& [runtime, value] = (std::pair<jsi::Runtime*, jsi::Value>)*rawValue;
423
+ return CachedProp<std::optional<std::function<void(const RNLocation& /* location */)>>>::fromRawValue(*runtime, value.asObject(*runtime).getProperty(*runtime, "f"), sourceProps.onMyLocationPress);
424
+ } catch (const std::exception& exc) {
425
+ throw std::runtime_error(std::string("RNGoogleMapsPlusView.onMyLocationPress: ") + exc.what());
426
+ }
427
+ }()),
428
+ onMyLocationButtonPress([&]() -> CachedProp<std::optional<std::function<void(bool /* pressed */)>>> {
429
+ try {
430
+ const react::RawValue* rawValue = rawProps.at("onMyLocationButtonPress", nullptr, nullptr);
431
+ if (rawValue == nullptr) return sourceProps.onMyLocationButtonPress;
432
+ const auto& [runtime, value] = (std::pair<jsi::Runtime*, jsi::Value>)*rawValue;
433
+ return CachedProp<std::optional<std::function<void(bool /* pressed */)>>>::fromRawValue(*runtime, value.asObject(*runtime).getProperty(*runtime, "f"), sourceProps.onMyLocationButtonPress);
434
+ } catch (const std::exception& exc) {
435
+ throw std::runtime_error(std::string("RNGoogleMapsPlusView.onMyLocationButtonPress: ") + exc.what());
436
+ }
437
+ }()),
388
438
  onCameraChangeStart([&]() -> CachedProp<std::optional<std::function<void(const RNRegion& /* region */, const RNCamera& /* camera */, bool /* isGesture */)>>> {
389
439
  try {
390
440
  const react::RawValue* rawValue = rawProps.at("onCameraChangeStart", nullptr, nullptr);
@@ -464,6 +514,11 @@ namespace margelo::nitro::rngooglemapsplus::views {
464
514
  onMarkerDragEnd(other.onMarkerDragEnd),
465
515
  onIndoorBuildingFocused(other.onIndoorBuildingFocused),
466
516
  onIndoorLevelActivated(other.onIndoorLevelActivated),
517
+ onInfoWindowPress(other.onInfoWindowPress),
518
+ onInfoWindowClose(other.onInfoWindowClose),
519
+ onInfoWindowLongPress(other.onInfoWindowLongPress),
520
+ onMyLocationPress(other.onMyLocationPress),
521
+ onMyLocationButtonPress(other.onMyLocationButtonPress),
467
522
  onCameraChangeStart(other.onCameraChangeStart),
468
523
  onCameraChange(other.onCameraChange),
469
524
  onCameraChangeComplete(other.onCameraChangeComplete),
@@ -507,6 +562,11 @@ namespace margelo::nitro::rngooglemapsplus::views {
507
562
  case hashString("onMarkerDragEnd"): return true;
508
563
  case hashString("onIndoorBuildingFocused"): return true;
509
564
  case hashString("onIndoorLevelActivated"): return true;
565
+ case hashString("onInfoWindowPress"): return true;
566
+ case hashString("onInfoWindowClose"): return true;
567
+ case hashString("onInfoWindowLongPress"): return true;
568
+ case hashString("onMyLocationPress"): return true;
569
+ case hashString("onMyLocationButtonPress"): return true;
510
570
  case hashString("onCameraChangeStart"): return true;
511
571
  case hashString("onCameraChange"): return true;
512
572
  case hashString("onCameraChangeComplete"): return true;
@@ -102,6 +102,11 @@ namespace margelo::nitro::rngooglemapsplus::views {
102
102
  CachedProp<std::optional<std::function<void(const std::optional<std::string>& /* id */, const RNLatLng& /* location */)>>> onMarkerDragEnd;
103
103
  CachedProp<std::optional<std::function<void(const RNIndoorBuilding& /* indoorBuilding */)>>> onIndoorBuildingFocused;
104
104
  CachedProp<std::optional<std::function<void(const RNIndoorLevel& /* indoorLevel */)>>> onIndoorLevelActivated;
105
+ CachedProp<std::optional<std::function<void(const std::optional<std::string>& /* id */)>>> onInfoWindowPress;
106
+ CachedProp<std::optional<std::function<void(const std::optional<std::string>& /* id */)>>> onInfoWindowClose;
107
+ CachedProp<std::optional<std::function<void(const std::optional<std::string>& /* id */)>>> onInfoWindowLongPress;
108
+ CachedProp<std::optional<std::function<void(const RNLocation& /* location */)>>> onMyLocationPress;
109
+ CachedProp<std::optional<std::function<void(bool /* pressed */)>>> onMyLocationButtonPress;
105
110
  CachedProp<std::optional<std::function<void(const RNRegion& /* region */, const RNCamera& /* camera */, bool /* isGesture */)>>> onCameraChangeStart;
106
111
  CachedProp<std::optional<std::function<void(const RNRegion& /* region */, const RNCamera& /* camera */, bool /* isGesture */)>>> onCameraChange;
107
112
  CachedProp<std::optional<std::function<void(const RNRegion& /* region */, const RNCamera& /* camera */, bool /* isGesture */)>>> onCameraChangeComplete;
@@ -40,6 +40,11 @@
40
40
  "onMarkerDragEnd": true,
41
41
  "onIndoorBuildingFocused": true,
42
42
  "onIndoorLevelActivated": true,
43
+ "onInfoWindowPress": true,
44
+ "onInfoWindowClose": true,
45
+ "onInfoWindowLongPress": true,
46
+ "onMyLocationPress": true,
47
+ "onMyLocationButtonPress": true,
43
48
  "onCameraChangeStart": true,
44
49
  "onCameraChange": true,
45
50
  "onCameraChangeComplete": true,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-google-maps-plus",
3
- "version": "1.7.0-dev.4",
3
+ "version": "1.7.0-dev.5",
4
4
  "description": "React Native wrapper for Android & iOS Google Maps SDK",
5
5
  "main": "./lib/module/index.js",
6
6
  "module": "./lib/module/index.js",
@@ -68,6 +68,11 @@ export interface RNGoogleMapsPlusViewProps extends HybridViewProps {
68
68
  onMarkerDragEnd?: (id: string | undefined, location: RNLatLng) => void;
69
69
  onIndoorBuildingFocused?: (indoorBuilding: RNIndoorBuilding) => void;
70
70
  onIndoorLevelActivated?: (indoorLevel: RNIndoorLevel) => void;
71
+ onInfoWindowPress?: (id?: string) => void;
72
+ onInfoWindowClose?: (id?: string) => void;
73
+ onInfoWindowLongPress?: (id?: string) => void;
74
+ onMyLocationPress?: (location: RNLocation) => void;
75
+ onMyLocationButtonPress?: (pressed: boolean) => void;
71
76
  onCameraChangeStart?: (
72
77
  region: RNRegion,
73
78
  camera: RNCamera,