react-native-google-maps-plus 1.8.0 → 1.8.2

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 (40) hide show
  1. package/android/src/main/java/com/rngooglemapsplus/RNGoogleMapsPlusView.kt +1 -1
  2. package/android/src/main/java/com/rngooglemapsplus/extensions/{RNCameraExtension.kt → RNCameraUpdateExtension.kt} +2 -2
  3. package/ios/GoogleMapViewImpl.swift +4 -1
  4. package/ios/LocationHandler.swift +3 -1
  5. package/ios/MapHelper.swift +3 -5
  6. package/ios/MapMarkerBuilder.swift +98 -98
  7. package/ios/RNGoogleMapsPlusView.swift +25 -22
  8. package/ios/extensions/{RNCamera+Extension.swift → RNCameraUpdate+Extension.swift} +1 -1
  9. package/ios/extensions/SVGKImage+Extension.swift +22 -0
  10. package/lib/module/types.js.map +1 -1
  11. package/lib/typescript/src/RNGoogleMapsPlusView.nitro.d.ts +2 -2
  12. package/lib/typescript/src/RNGoogleMapsPlusView.nitro.d.ts.map +1 -1
  13. package/lib/typescript/src/types.d.ts +7 -1
  14. package/lib/typescript/src/types.d.ts.map +1 -1
  15. package/nitrogen/generated/android/c++/JFunc_void_RNRegion_RNCamera.hpp +0 -1
  16. package/nitrogen/generated/android/c++/JFunc_void_RNRegion_RNCamera_bool.hpp +0 -1
  17. package/nitrogen/generated/android/c++/JHybridRNGoogleMapsPlusViewSpec.cpp +11 -7
  18. package/nitrogen/generated/android/c++/JHybridRNGoogleMapsPlusViewSpec.hpp +1 -1
  19. package/nitrogen/generated/android/c++/JRNCamera.hpp +15 -16
  20. package/nitrogen/generated/android/c++/JRNCameraUpdate.hpp +71 -0
  21. package/nitrogen/generated/android/c++/JRNInitialProps.hpp +6 -6
  22. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/HybridRNGoogleMapsPlusViewSpec.kt +1 -1
  23. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNCamera.kt +5 -5
  24. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNCameraUpdate.kt +46 -0
  25. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNInitialProps.kt +2 -2
  26. package/nitrogen/generated/ios/RNGoogleMapsPlus-Swift-Cxx-Bridge.hpp +10 -7
  27. package/nitrogen/generated/ios/RNGoogleMapsPlus-Swift-Cxx-Umbrella.hpp +3 -0
  28. package/nitrogen/generated/ios/c++/HybridRNGoogleMapsPlusViewSpecSwift.hpp +7 -4
  29. package/nitrogen/generated/ios/swift/HybridRNGoogleMapsPlusViewSpec.swift +1 -1
  30. package/nitrogen/generated/ios/swift/HybridRNGoogleMapsPlusViewSpec_cxx.swift +1 -1
  31. package/nitrogen/generated/ios/swift/RNCamera.swift +14 -62
  32. package/nitrogen/generated/ios/swift/RNCameraUpdate.swift +116 -0
  33. package/nitrogen/generated/ios/swift/RNInitialProps.swift +6 -6
  34. package/nitrogen/generated/shared/c++/HybridRNGoogleMapsPlusViewSpec.hpp +4 -1
  35. package/nitrogen/generated/shared/c++/RNCamera.hpp +17 -18
  36. package/nitrogen/generated/shared/c++/RNCameraUpdate.hpp +89 -0
  37. package/nitrogen/generated/shared/c++/RNInitialProps.hpp +8 -8
  38. package/package.json +1 -1
  39. package/src/RNGoogleMapsPlusView.nitro.ts +6 -1
  40. package/src/types.ts +8 -1
@@ -57,6 +57,8 @@ namespace margelo::nitro::rngooglemapsplus { struct RNLatLng; }
57
57
  namespace margelo::nitro::rngooglemapsplus { struct RNIndoorBuilding; }
58
58
  // Forward declaration of `RNIndoorLevel` to properly resolve imports.
59
59
  namespace margelo::nitro::rngooglemapsplus { struct RNIndoorLevel; }
60
+ // Forward declaration of `RNCameraUpdate` to properly resolve imports.
61
+ namespace margelo::nitro::rngooglemapsplus { struct RNCameraUpdate; }
60
62
  // Forward declaration of `RNLatLngBounds` to properly resolve imports.
61
63
  namespace margelo::nitro::rngooglemapsplus { struct RNLatLngBounds; }
62
64
  // Forward declaration of `RNSnapshotOptions` to properly resolve imports.
@@ -90,6 +92,7 @@ namespace margelo::nitro::rngooglemapsplus { struct RNLocationPermissionResult;
90
92
  #include "RNLatLng.hpp"
91
93
  #include "RNIndoorBuilding.hpp"
92
94
  #include "RNIndoorLevel.hpp"
95
+ #include "RNCameraUpdate.hpp"
93
96
  #include "RNLatLngBounds.hpp"
94
97
  #include <NitroModules/Promise.hpp>
95
98
  #include "RNSnapshotOptions.hpp"
@@ -215,7 +218,7 @@ namespace margelo::nitro::rngooglemapsplus {
215
218
  // Methods
216
219
  virtual void showMarkerInfoWindow(const std::string& id) = 0;
217
220
  virtual void hideMarkerInfoWindow(const std::string& id) = 0;
218
- virtual void setCamera(const RNCamera& camera, std::optional<bool> animated, std::optional<double> durationMs) = 0;
221
+ virtual void setCamera(const RNCameraUpdate& camera, std::optional<bool> animated, std::optional<double> durationMs) = 0;
219
222
  virtual void setCameraToCoordinates(const std::vector<RNLatLng>& coordinates, const std::optional<RNMapPadding>& padding, std::optional<bool> animated, std::optional<double> durationMs) = 0;
220
223
  virtual void setCameraBounds(const std::optional<RNLatLngBounds>& bounds) = 0;
221
224
  virtual void animateToBounds(const RNLatLngBounds& bounds, std::optional<double> padding, std::optional<double> durationMs, std::optional<bool> lockBounds) = 0;
@@ -27,7 +27,6 @@
27
27
  namespace margelo::nitro::rngooglemapsplus { struct RNLatLng; }
28
28
 
29
29
  #include "RNLatLng.hpp"
30
- #include <optional>
31
30
 
32
31
  namespace margelo::nitro::rngooglemapsplus {
33
32
 
@@ -36,14 +35,14 @@ namespace margelo::nitro::rngooglemapsplus {
36
35
  */
37
36
  struct RNCamera {
38
37
  public:
39
- std::optional<RNLatLng> center SWIFT_PRIVATE;
40
- std::optional<double> zoom SWIFT_PRIVATE;
41
- std::optional<double> bearing SWIFT_PRIVATE;
42
- std::optional<double> tilt SWIFT_PRIVATE;
38
+ RNLatLng center SWIFT_PRIVATE;
39
+ double zoom SWIFT_PRIVATE;
40
+ double bearing SWIFT_PRIVATE;
41
+ double tilt SWIFT_PRIVATE;
43
42
 
44
43
  public:
45
44
  RNCamera() = default;
46
- explicit RNCamera(std::optional<RNLatLng> center, std::optional<double> zoom, std::optional<double> bearing, std::optional<double> tilt): center(center), zoom(zoom), bearing(bearing), tilt(tilt) {}
45
+ explicit RNCamera(RNLatLng center, double zoom, double bearing, double tilt): center(center), zoom(zoom), bearing(bearing), tilt(tilt) {}
47
46
  };
48
47
 
49
48
  } // namespace margelo::nitro::rngooglemapsplus
@@ -56,18 +55,18 @@ namespace margelo::nitro {
56
55
  static inline margelo::nitro::rngooglemapsplus::RNCamera fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
57
56
  jsi::Object obj = arg.asObject(runtime);
58
57
  return margelo::nitro::rngooglemapsplus::RNCamera(
59
- JSIConverter<std::optional<margelo::nitro::rngooglemapsplus::RNLatLng>>::fromJSI(runtime, obj.getProperty(runtime, "center")),
60
- JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, "zoom")),
61
- JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, "bearing")),
62
- JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, "tilt"))
58
+ JSIConverter<margelo::nitro::rngooglemapsplus::RNLatLng>::fromJSI(runtime, obj.getProperty(runtime, "center")),
59
+ JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, "zoom")),
60
+ JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, "bearing")),
61
+ JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, "tilt"))
63
62
  );
64
63
  }
65
64
  static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::rngooglemapsplus::RNCamera& arg) {
66
65
  jsi::Object obj(runtime);
67
- obj.setProperty(runtime, "center", JSIConverter<std::optional<margelo::nitro::rngooglemapsplus::RNLatLng>>::toJSI(runtime, arg.center));
68
- obj.setProperty(runtime, "zoom", JSIConverter<std::optional<double>>::toJSI(runtime, arg.zoom));
69
- obj.setProperty(runtime, "bearing", JSIConverter<std::optional<double>>::toJSI(runtime, arg.bearing));
70
- obj.setProperty(runtime, "tilt", JSIConverter<std::optional<double>>::toJSI(runtime, arg.tilt));
66
+ obj.setProperty(runtime, "center", JSIConverter<margelo::nitro::rngooglemapsplus::RNLatLng>::toJSI(runtime, arg.center));
67
+ obj.setProperty(runtime, "zoom", JSIConverter<double>::toJSI(runtime, arg.zoom));
68
+ obj.setProperty(runtime, "bearing", JSIConverter<double>::toJSI(runtime, arg.bearing));
69
+ obj.setProperty(runtime, "tilt", JSIConverter<double>::toJSI(runtime, arg.tilt));
71
70
  return obj;
72
71
  }
73
72
  static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
@@ -78,10 +77,10 @@ namespace margelo::nitro {
78
77
  if (!nitro::isPlainObject(runtime, obj)) {
79
78
  return false;
80
79
  }
81
- if (!JSIConverter<std::optional<margelo::nitro::rngooglemapsplus::RNLatLng>>::canConvert(runtime, obj.getProperty(runtime, "center"))) return false;
82
- if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, "zoom"))) return false;
83
- if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, "bearing"))) return false;
84
- if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, "tilt"))) return false;
80
+ if (!JSIConverter<margelo::nitro::rngooglemapsplus::RNLatLng>::canConvert(runtime, obj.getProperty(runtime, "center"))) return false;
81
+ if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, "zoom"))) return false;
82
+ if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, "bearing"))) return false;
83
+ if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, "tilt"))) return false;
85
84
  return true;
86
85
  }
87
86
  };
@@ -0,0 +1,89 @@
1
+ ///
2
+ /// RNCameraUpdate.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
+ #if __has_include(<NitroModules/JSIConverter.hpp>)
11
+ #include <NitroModules/JSIConverter.hpp>
12
+ #else
13
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
14
+ #endif
15
+ #if __has_include(<NitroModules/NitroDefines.hpp>)
16
+ #include <NitroModules/NitroDefines.hpp>
17
+ #else
18
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
19
+ #endif
20
+ #if __has_include(<NitroModules/JSIHelpers.hpp>)
21
+ #include <NitroModules/JSIHelpers.hpp>
22
+ #else
23
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
24
+ #endif
25
+
26
+ // Forward declaration of `RNLatLng` to properly resolve imports.
27
+ namespace margelo::nitro::rngooglemapsplus { struct RNLatLng; }
28
+
29
+ #include "RNLatLng.hpp"
30
+ #include <optional>
31
+
32
+ namespace margelo::nitro::rngooglemapsplus {
33
+
34
+ /**
35
+ * A struct which can be represented as a JavaScript object (RNCameraUpdate).
36
+ */
37
+ struct RNCameraUpdate {
38
+ public:
39
+ std::optional<RNLatLng> center SWIFT_PRIVATE;
40
+ std::optional<double> zoom SWIFT_PRIVATE;
41
+ std::optional<double> bearing SWIFT_PRIVATE;
42
+ std::optional<double> tilt SWIFT_PRIVATE;
43
+
44
+ public:
45
+ RNCameraUpdate() = default;
46
+ explicit RNCameraUpdate(std::optional<RNLatLng> center, std::optional<double> zoom, std::optional<double> bearing, std::optional<double> tilt): center(center), zoom(zoom), bearing(bearing), tilt(tilt) {}
47
+ };
48
+
49
+ } // namespace margelo::nitro::rngooglemapsplus
50
+
51
+ namespace margelo::nitro {
52
+
53
+ // C++ RNCameraUpdate <> JS RNCameraUpdate (object)
54
+ template <>
55
+ struct JSIConverter<margelo::nitro::rngooglemapsplus::RNCameraUpdate> final {
56
+ static inline margelo::nitro::rngooglemapsplus::RNCameraUpdate fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
57
+ jsi::Object obj = arg.asObject(runtime);
58
+ return margelo::nitro::rngooglemapsplus::RNCameraUpdate(
59
+ JSIConverter<std::optional<margelo::nitro::rngooglemapsplus::RNLatLng>>::fromJSI(runtime, obj.getProperty(runtime, "center")),
60
+ JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, "zoom")),
61
+ JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, "bearing")),
62
+ JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, "tilt"))
63
+ );
64
+ }
65
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::rngooglemapsplus::RNCameraUpdate& arg) {
66
+ jsi::Object obj(runtime);
67
+ obj.setProperty(runtime, "center", JSIConverter<std::optional<margelo::nitro::rngooglemapsplus::RNLatLng>>::toJSI(runtime, arg.center));
68
+ obj.setProperty(runtime, "zoom", JSIConverter<std::optional<double>>::toJSI(runtime, arg.zoom));
69
+ obj.setProperty(runtime, "bearing", JSIConverter<std::optional<double>>::toJSI(runtime, arg.bearing));
70
+ obj.setProperty(runtime, "tilt", JSIConverter<std::optional<double>>::toJSI(runtime, arg.tilt));
71
+ return obj;
72
+ }
73
+ static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
74
+ if (!value.isObject()) {
75
+ return false;
76
+ }
77
+ jsi::Object obj = value.getObject(runtime);
78
+ if (!nitro::isPlainObject(runtime, obj)) {
79
+ return false;
80
+ }
81
+ if (!JSIConverter<std::optional<margelo::nitro::rngooglemapsplus::RNLatLng>>::canConvert(runtime, obj.getProperty(runtime, "center"))) return false;
82
+ if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, "zoom"))) return false;
83
+ if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, "bearing"))) return false;
84
+ if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, "tilt"))) return false;
85
+ return true;
86
+ }
87
+ };
88
+
89
+ } // namespace margelo::nitro
@@ -23,12 +23,12 @@
23
23
  #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
24
24
  #endif
25
25
 
26
- // Forward declaration of `RNCamera` to properly resolve imports.
27
- namespace margelo::nitro::rngooglemapsplus { struct RNCamera; }
26
+ // Forward declaration of `RNCameraUpdate` to properly resolve imports.
27
+ namespace margelo::nitro::rngooglemapsplus { struct RNCameraUpdate; }
28
28
 
29
29
  #include <string>
30
30
  #include <optional>
31
- #include "RNCamera.hpp"
31
+ #include "RNCameraUpdate.hpp"
32
32
 
33
33
  namespace margelo::nitro::rngooglemapsplus {
34
34
 
@@ -39,12 +39,12 @@ namespace margelo::nitro::rngooglemapsplus {
39
39
  public:
40
40
  std::optional<std::string> mapId SWIFT_PRIVATE;
41
41
  std::optional<bool> liteMode SWIFT_PRIVATE;
42
- std::optional<RNCamera> camera SWIFT_PRIVATE;
42
+ std::optional<RNCameraUpdate> camera SWIFT_PRIVATE;
43
43
  std::optional<std::string> backgroundColor SWIFT_PRIVATE;
44
44
 
45
45
  public:
46
46
  RNInitialProps() = default;
47
- explicit RNInitialProps(std::optional<std::string> mapId, std::optional<bool> liteMode, std::optional<RNCamera> camera, std::optional<std::string> backgroundColor): mapId(mapId), liteMode(liteMode), camera(camera), backgroundColor(backgroundColor) {}
47
+ explicit RNInitialProps(std::optional<std::string> mapId, std::optional<bool> liteMode, std::optional<RNCameraUpdate> camera, std::optional<std::string> backgroundColor): mapId(mapId), liteMode(liteMode), camera(camera), backgroundColor(backgroundColor) {}
48
48
  };
49
49
 
50
50
  } // namespace margelo::nitro::rngooglemapsplus
@@ -59,7 +59,7 @@ namespace margelo::nitro {
59
59
  return margelo::nitro::rngooglemapsplus::RNInitialProps(
60
60
  JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "mapId")),
61
61
  JSIConverter<std::optional<bool>>::fromJSI(runtime, obj.getProperty(runtime, "liteMode")),
62
- JSIConverter<std::optional<margelo::nitro::rngooglemapsplus::RNCamera>>::fromJSI(runtime, obj.getProperty(runtime, "camera")),
62
+ JSIConverter<std::optional<margelo::nitro::rngooglemapsplus::RNCameraUpdate>>::fromJSI(runtime, obj.getProperty(runtime, "camera")),
63
63
  JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "backgroundColor"))
64
64
  );
65
65
  }
@@ -67,7 +67,7 @@ namespace margelo::nitro {
67
67
  jsi::Object obj(runtime);
68
68
  obj.setProperty(runtime, "mapId", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.mapId));
69
69
  obj.setProperty(runtime, "liteMode", JSIConverter<std::optional<bool>>::toJSI(runtime, arg.liteMode));
70
- obj.setProperty(runtime, "camera", JSIConverter<std::optional<margelo::nitro::rngooglemapsplus::RNCamera>>::toJSI(runtime, arg.camera));
70
+ obj.setProperty(runtime, "camera", JSIConverter<std::optional<margelo::nitro::rngooglemapsplus::RNCameraUpdate>>::toJSI(runtime, arg.camera));
71
71
  obj.setProperty(runtime, "backgroundColor", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.backgroundColor));
72
72
  return obj;
73
73
  }
@@ -81,7 +81,7 @@ namespace margelo::nitro {
81
81
  }
82
82
  if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "mapId"))) return false;
83
83
  if (!JSIConverter<std::optional<bool>>::canConvert(runtime, obj.getProperty(runtime, "liteMode"))) return false;
84
- if (!JSIConverter<std::optional<margelo::nitro::rngooglemapsplus::RNCamera>>::canConvert(runtime, obj.getProperty(runtime, "camera"))) return false;
84
+ if (!JSIConverter<std::optional<margelo::nitro::rngooglemapsplus::RNCameraUpdate>>::canConvert(runtime, obj.getProperty(runtime, "camera"))) return false;
85
85
  if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "backgroundColor"))) return false;
86
86
  return true;
87
87
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-google-maps-plus",
3
- "version": "1.8.0",
3
+ "version": "1.8.2",
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",
@@ -5,6 +5,7 @@ import type {
5
5
  } from 'react-native-nitro-modules';
6
6
  import type {
7
7
  RNCamera,
8
+ RNCameraUpdate,
8
9
  RNLatLng,
9
10
  RNMapPadding,
10
11
  RNPolygon,
@@ -95,7 +96,11 @@ export interface RNGoogleMapsPlusViewMethods extends HybridViewMethods {
95
96
 
96
97
  hideMarkerInfoWindow(id: string): void;
97
98
 
98
- setCamera(camera: RNCamera, animated?: boolean, durationMs?: number): void;
99
+ setCamera(
100
+ camera: RNCameraUpdate,
101
+ animated?: boolean,
102
+ durationMs?: number
103
+ ): void;
99
104
 
100
105
  setCameraToCoordinates(
101
106
  coordinates: RNLatLng[],
package/src/types.ts CHANGED
@@ -6,7 +6,7 @@ export type GoogleMapsViewRef = HybridView<RNGoogleMapsPlusViewMethods>;
6
6
  export type RNInitialProps = {
7
7
  mapId?: string;
8
8
  liteMode?: boolean;
9
- camera?: RNCamera;
9
+ camera?: RNCameraUpdate;
10
10
  backgroundColor?: string;
11
11
  };
12
12
 
@@ -131,6 +131,13 @@ export interface RNMapStyleElement {
131
131
  }
132
132
 
133
133
  export type RNCamera = {
134
+ center: RNLatLng;
135
+ zoom: number;
136
+ bearing: number;
137
+ tilt: number;
138
+ };
139
+
140
+ export type RNCameraUpdate = {
134
141
  center?: RNLatLng;
135
142
  zoom?: number;
136
143
  bearing?: number;