react-native-google-maps-plus 1.1.0-dev.1 → 1.1.0-dev.3

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 (67) hide show
  1. package/RNGoogleMapsPlus.podspec +2 -0
  2. package/android/src/main/java/com/rngooglemapsplus/GoogleMapsViewImpl.kt +38 -103
  3. package/android/src/main/java/com/rngooglemapsplus/LocationHandler.kt +3 -3
  4. package/android/src/main/java/com/rngooglemapsplus/MapCircleBuilder.kt +16 -2
  5. package/android/src/main/java/com/rngooglemapsplus/MapMarkerBuilder.kt +48 -27
  6. package/android/src/main/java/com/rngooglemapsplus/MapPolygonBuilder.kt +18 -1
  7. package/android/src/main/java/com/rngooglemapsplus/MapPolylineBuilder.kt.kt +26 -9
  8. package/android/src/main/java/com/rngooglemapsplus/RNGoogleMapsPlusView.kt +48 -72
  9. package/android/src/main/java/com/rngooglemapsplus/extensions/RNMarkerExtension.kt +17 -0
  10. package/ios/GoogleMapViewImpl.swift +94 -212
  11. package/ios/LocationHandler.swift +2 -10
  12. package/ios/MapCircleBuilder.swift +23 -8
  13. package/ios/MapHelper.swift +6 -4
  14. package/ios/MapMarkerBuilder.swift +55 -48
  15. package/ios/MapPolygonBuilder.swift +25 -7
  16. package/ios/MapPolylineBuilder.swift +27 -11
  17. package/ios/RNGoogleMapsPlusView.swift +9 -15
  18. package/ios/extensions/RNCircle+Extension.swift +0 -13
  19. package/ios/extensions/RNMarker+Extension.swift +6 -5
  20. package/ios/extensions/RNPolygon+Extension.swift.swift +2 -19
  21. package/ios/extensions/RNPolyline+Extension.swift.swift +1 -26
  22. package/lib/module/types.js.map +1 -1
  23. package/lib/typescript/src/RNGoogleMapsPlusView.nitro.d.ts +2 -3
  24. package/lib/typescript/src/RNGoogleMapsPlusView.nitro.d.ts.map +1 -1
  25. package/lib/typescript/src/types.d.ts +9 -2
  26. package/lib/typescript/src/types.d.ts.map +1 -1
  27. package/nitrogen/generated/android/c++/JHybridRNGoogleMapsPlusViewSpec.cpp +14 -15
  28. package/nitrogen/generated/android/c++/JHybridRNGoogleMapsPlusViewSpec.hpp +2 -4
  29. package/nitrogen/generated/android/c++/JRNCircle.hpp +4 -4
  30. package/nitrogen/generated/android/c++/JRNMapZoomConfig.hpp +57 -0
  31. package/nitrogen/generated/android/c++/JRNMarker.hpp +6 -12
  32. package/nitrogen/generated/android/c++/JRNMarkerSvg.hpp +61 -0
  33. package/nitrogen/generated/android/c++/views/JHybridRNGoogleMapsPlusViewStateUpdater.cpp +2 -6
  34. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/HybridRNGoogleMapsPlusViewSpec.kt +1 -7
  35. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNCircle.kt +1 -1
  36. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNMapZoomConfig.kt +32 -0
  37. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNMarker.kt +1 -7
  38. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNMarkerSvg.kt +35 -0
  39. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/views/HybridRNGoogleMapsPlusViewManager.kt +1 -1
  40. package/nitrogen/generated/ios/RNGoogleMapsPlus-Swift-Cxx-Bridge.cpp +13 -13
  41. package/nitrogen/generated/ios/RNGoogleMapsPlus-Swift-Cxx-Bridge.hpp +75 -33
  42. package/nitrogen/generated/ios/RNGoogleMapsPlus-Swift-Cxx-Umbrella.hpp +6 -0
  43. package/nitrogen/generated/ios/c++/HybridRNGoogleMapsPlusViewSpecSwift.hpp +11 -12
  44. package/nitrogen/generated/ios/c++/views/HybridRNGoogleMapsPlusViewComponent.mm +4 -9
  45. package/nitrogen/generated/ios/swift/HybridRNGoogleMapsPlusViewSpec.swift +1 -2
  46. package/nitrogen/generated/ios/swift/HybridRNGoogleMapsPlusViewSpec_cxx.swift +46 -94
  47. package/nitrogen/generated/ios/swift/RNCamera.swift +1 -8
  48. package/nitrogen/generated/ios/swift/RNCircle.swift +5 -17
  49. package/nitrogen/generated/ios/swift/RNInitialProps.swift +1 -8
  50. package/nitrogen/generated/ios/swift/RNLocationConfig.swift +2 -16
  51. package/nitrogen/generated/ios/swift/RNMapZoomConfig.swift +70 -0
  52. package/nitrogen/generated/ios/swift/RNMarker.swift +18 -35
  53. package/nitrogen/generated/ios/swift/RNMarkerSvg.swift +57 -0
  54. package/nitrogen/generated/ios/swift/RNPolygon.swift +11 -15
  55. package/nitrogen/generated/ios/swift/RNPolyline.swift +11 -15
  56. package/nitrogen/generated/shared/c++/HybridRNGoogleMapsPlusViewSpec.cpp +2 -4
  57. package/nitrogen/generated/shared/c++/HybridRNGoogleMapsPlusViewSpec.hpp +5 -4
  58. package/nitrogen/generated/shared/c++/RNCircle.hpp +5 -5
  59. package/nitrogen/generated/shared/c++/RNMapZoomConfig.hpp +71 -0
  60. package/nitrogen/generated/shared/c++/RNMarker.hpp +8 -13
  61. package/nitrogen/generated/shared/c++/RNMarkerSvg.hpp +75 -0
  62. package/nitrogen/generated/shared/c++/views/HybridRNGoogleMapsPlusViewComponent.cpp +7 -19
  63. package/nitrogen/generated/shared/c++/views/HybridRNGoogleMapsPlusViewComponent.hpp +2 -2
  64. package/nitrogen/generated/shared/json/RNGoogleMapsPlusViewConfig.json +1 -2
  65. package/package.json +13 -13
  66. package/src/RNGoogleMapsPlusView.nitro.ts +2 -2
  67. package/src/types.ts +11 -2
@@ -11,7 +11,7 @@ final class MapMarkerBuilder {
11
11
  attributes: .concurrent
12
12
  )
13
13
 
14
- func build(_ m: RNMarker, icon: UIImage) -> GMSMarker {
14
+ func build(_ m: RNMarker, icon: UIImage?) -> GMSMarker {
15
15
  let marker = GMSMarker(
16
16
  position: CLLocationCoordinate2D(
17
17
  latitude: m.coordinate.latitude,
@@ -25,58 +25,24 @@ final class MapMarkerBuilder {
25
25
  x: m.anchor?.x ?? 0.5,
26
26
  y: m.anchor?.y ?? 0.5
27
27
  )
28
- if let zi = m.zIndex { marker.zIndex = Int32(zi) }
29
- DispatchQueue.main.asyncAfter(deadline: .now() + 0.25) { [weak marker] in
30
- marker?.tracksViewChanges = false
31
- }
32
- return marker
33
- }
34
28
 
35
- @MainActor
36
- func buildIconAsync(
37
- _ id: String,
38
- _ m: RNMarker,
39
- onReady: @escaping (UIImage?) -> Void
40
- ) {
41
- tasks[id]?.cancel()
42
-
43
- let key = m.styleHash()
44
- if let cached = iconCache.object(forKey: key) {
45
- onReady(cached)
46
- return
47
- }
48
-
49
- let task = Task(priority: .userInitiated) { [weak self] in
50
- guard let self else { return }
51
- defer {
52
- self.tasks.removeValue(forKey: id)
53
- }
54
-
55
- let img = await self.renderUIImage(m)
56
- guard let img, !Task.isCancelled else {
57
- return
58
- }
59
-
60
- self.iconCache.setObject(img, forKey: key)
61
-
62
- await MainActor.run {
63
- guard !Task.isCancelled else { return }
64
- onReady(img)
65
- }
29
+ m.zIndex.map { marker.zIndex = Int32($0) }
66
30
 
31
+ DispatchQueue.main.asyncAfter(deadline: .now() + 0.25) { [weak marker] in
32
+ marker?.tracksViewChanges = false
67
33
  }
68
34
 
69
- tasks[id] = task
35
+ return marker
70
36
  }
71
37
 
72
38
  @MainActor
73
- func updateMarker(_ prev: RNMarker, _ next: RNMarker, _ m: GMSMarker) {
39
+ func update(_ prev: RNMarker, _ next: RNMarker, _ m: GMSMarker) {
74
40
  m.position = CLLocationCoordinate2D(
75
41
  latitude: next.coordinate.latitude,
76
42
  longitude: next.coordinate.longitude
77
43
  )
78
44
 
79
- if let zi = next.zIndex { m.zIndex = Int32(zi) }
45
+ m.zIndex = Int32(next.zIndex ?? 0)
80
46
 
81
47
  m.groundAnchor = CGPoint(
82
48
  x: next.anchor?.x ?? 0.5,
@@ -85,9 +51,9 @@ final class MapMarkerBuilder {
85
51
 
86
52
  if !prev.markerStyleEquals(next) {
87
53
  buildIconAsync(next.id, next) { img in
88
- guard let img else { return }
89
54
  m.tracksViewChanges = true
90
55
  m.icon = img
56
+
91
57
  if prev.anchor?.x != next.anchor?.x || prev.anchor?.y != next.anchor?.y {
92
58
  m.groundAnchor = CGPoint(
93
59
  x: next.anchor?.x ?? 0.5,
@@ -102,6 +68,43 @@ final class MapMarkerBuilder {
102
68
  }
103
69
  }
104
70
 
71
+ @MainActor
72
+ func buildIconAsync(
73
+ _ id: String,
74
+ _ m: RNMarker,
75
+ onReady: @escaping (UIImage?) -> Void
76
+ ) {
77
+ tasks[id]?.cancel()
78
+
79
+ if m.iconSvg == nil {
80
+ onReady(nil)
81
+ return
82
+ }
83
+
84
+ let key = m.styleHash()
85
+ if let cached = iconCache.object(forKey: key) {
86
+ onReady(cached)
87
+ return
88
+ }
89
+
90
+ let task = Task(priority: .userInitiated) { [weak self] in
91
+ guard let self else { return }
92
+ defer { self.tasks.removeValue(forKey: id) }
93
+
94
+ let img = await self.renderUIImage(m)
95
+ guard let img, !Task.isCancelled else { return }
96
+
97
+ self.iconCache.setObject(img, forKey: key)
98
+
99
+ await MainActor.run {
100
+ guard !Task.isCancelled else { return }
101
+ onReady(img)
102
+ }
103
+ }
104
+
105
+ tasks[id] = task
106
+ }
107
+
105
108
  func cancelIconTask(_ id: String) {
106
109
  tasks[id]?.cancel()
107
110
  tasks.removeValue(forKey: id)
@@ -117,21 +120,26 @@ final class MapMarkerBuilder {
117
120
  }
118
121
 
119
122
  private func renderUIImage(_ m: RNMarker) async -> UIImage? {
120
- await withTaskCancellationHandler(
123
+ guard let iconSvg = m.iconSvg else {
124
+ return nil
125
+ }
126
+
127
+ return await withTaskCancellationHandler(
121
128
  operation: {
122
- await withCheckedContinuation { cont in
129
+ await withCheckedContinuation {
130
+ (cont: CheckedContinuation<UIImage?, Never>) in
123
131
  queue.async {
124
132
  if Task.isCancelled {
125
133
  cont.resume(returning: nil)
126
134
  return
127
135
  }
128
136
 
129
- let targetW = max(1, Int(CGFloat(m.width)))
130
- let targetH = max(1, Int(CGFloat(m.height)))
137
+ let targetW = max(1, Int(CGFloat(iconSvg.width)))
138
+ let targetH = max(1, Int(CGFloat(iconSvg.height)))
131
139
  let size = CGSize(width: targetW, height: targetH)
132
140
 
133
141
  guard
134
- let data = m.iconSvg.data(using: .utf8),
142
+ let data = iconSvg.svgString.data(using: .utf8),
135
143
  let svgImg = SVGKImage(data: data)
136
144
  else {
137
145
  cont.resume(returning: nil)
@@ -172,5 +180,4 @@ final class MapMarkerBuilder {
172
180
  onCancel: {}
173
181
  )
174
182
  }
175
-
176
183
  }
@@ -1,20 +1,38 @@
1
1
  import GoogleMaps
2
2
 
3
3
  final class MapPolygonBuilder {
4
-
5
- func buildPolygon(_ p: RNPolygon) -> GMSPolygon {
4
+ func build(_ p: RNPolygon) -> GMSPolygon {
6
5
  let path = GMSMutablePath()
7
6
  p.coordinates.forEach {
8
7
  path.add(
9
8
  CLLocationCoordinate2D(latitude: $0.latitude, longitude: $0.longitude)
10
9
  )
11
10
  }
11
+
12
12
  let pg = GMSPolygon(path: path)
13
- if let fc = p.fillColor?.toUIColor() { pg.fillColor = fc }
14
- if let sc = p.strokeColor?.toUIColor() { pg.strokeColor = sc }
15
- if let sw = p.strokeWidth { pg.strokeWidth = CGFloat(sw) }
16
- if let pr = p.pressable { pg.isTappable = pr }
17
- if let zi = p.zIndex { pg.zIndex = Int32(zi) }
13
+
14
+ p.fillColor.map { pg.fillColor = $0.toUIColor() }
15
+ p.strokeColor.map { pg.strokeColor = $0.toUIColor() }
16
+ p.strokeWidth.map { pg.strokeWidth = CGFloat($0) }
17
+ p.pressable.map { pg.isTappable = $0 }
18
+ p.zIndex.map { pg.zIndex = Int32($0) }
19
+
18
20
  return pg
19
21
  }
22
+
23
+ func update(_ next: RNPolygon, _ pg: GMSPolygon) {
24
+ let path = GMSMutablePath()
25
+ next.coordinates.forEach {
26
+ path.add(
27
+ CLLocationCoordinate2D(latitude: $0.latitude, longitude: $0.longitude)
28
+ )
29
+ }
30
+ pg.path = path
31
+
32
+ pg.fillColor = next.fillColor?.toUIColor() ?? .clear
33
+ pg.strokeColor = next.strokeColor?.toUIColor() ?? .black
34
+ pg.strokeWidth = CGFloat(next.strokeWidth ?? 1.0)
35
+ pg.isTappable = next.pressable ?? false
36
+ pg.zIndex = Int32(next.zIndex ?? 0)
37
+ }
20
38
  }
@@ -1,24 +1,40 @@
1
1
  import GoogleMaps
2
2
 
3
3
  final class MapPolylineBuilder {
4
- func buildPolyline(_ p: RNPolyline) -> GMSPolyline {
4
+ func build(_ p: RNPolyline) -> GMSPolyline {
5
5
  let path = GMSMutablePath()
6
6
  p.coordinates.forEach {
7
7
  path.add(
8
8
  CLLocationCoordinate2D(latitude: $0.latitude, longitude: $0.longitude)
9
9
  )
10
10
  }
11
+
11
12
  let pl = GMSPolyline(path: path)
12
- if let w = p.width { pl.strokeWidth = CGFloat(w) }
13
- if let c = p.color?.toUIColor() { pl.strokeColor = c }
14
- if let cap = p.lineCap {
15
- /// pl.lineCap = mapLineCap(cap)
16
- }
17
- if let join = p.lineJoin {
18
- /// pl.strokeJoin = mapLineJoin(join)
19
- }
20
- if let pr = p.pressable { pl.isTappable = pr }
21
- if let zi = p.zIndex { pl.zIndex = Int32(zi) }
13
+
14
+ p.width.map { pl.strokeWidth = CGFloat($0) }
15
+ p.color.map { pl.strokeColor = $0.toUIColor() }
16
+ p.lineCap.map { _ in /* not supported */ }
17
+ p.lineJoin.map { _ in /* not supported */ }
18
+ p.pressable.map { pl.isTappable = $0 }
19
+ p.zIndex.map { pl.zIndex = Int32($0) }
20
+
22
21
  return pl
23
22
  }
23
+
24
+ func update(_ next: RNPolyline, _ pl: GMSPolyline) {
25
+ let path = GMSMutablePath()
26
+ next.coordinates.forEach {
27
+ path.add(
28
+ CLLocationCoordinate2D(latitude: $0.latitude, longitude: $0.longitude)
29
+ )
30
+ }
31
+ pl.path = path
32
+
33
+ /* lineCap not supported */
34
+ /* lineJoin not supported */
35
+ pl.strokeWidth = CGFloat(next.width ?? 1.0)
36
+ pl.strokeColor = next.color?.toUIColor() ?? .black
37
+ pl.isTappable = next.pressable ?? false
38
+ pl.zIndex = Int32(next.zIndex ?? 0)
39
+ }
24
40
  }
@@ -88,13 +88,8 @@ final class RNGoogleMapsPlusView: HybridRNGoogleMapsPlusViewSpec {
88
88
  }
89
89
 
90
90
  @MainActor
91
- var minZoomLevel: Double? {
92
- didSet { impl.minZoomLevel = minZoomLevel }
93
- }
94
-
95
- @MainActor
96
- var maxZoomLevel: Double? {
97
- didSet { impl.maxZoomLevel = maxZoomLevel }
91
+ var mapZoomConfig: RNMapZoomConfig? {
92
+ didSet { impl.mapZoomConfig = mapZoomConfig }
98
93
  }
99
94
 
100
95
  @MainActor
@@ -135,12 +130,11 @@ final class RNGoogleMapsPlusView: HybridRNGoogleMapsPlusViewSpec {
135
130
  if let prev = prevById[id] {
136
131
  if !prev.markerEquals(next) {
137
132
  impl.updateMarker(id: id) { m in
138
- self.markerBuilder.updateMarker(prev, next, m)
133
+ self.markerBuilder.update(prev, next, m)
139
134
  }
140
135
  }
141
136
  } else {
142
137
  markerBuilder.buildIconAsync(next.id, next) { icon in
143
- guard let icon else { return }
144
138
  let marker = self.markerBuilder.build(next, icon: icon)
145
139
  self.impl.addMarker(id: id, marker: marker)
146
140
  }
@@ -169,13 +163,13 @@ final class RNGoogleMapsPlusView: HybridRNGoogleMapsPlusViewSpec {
169
163
  if let prev = prevById[id] {
170
164
  if !prev.polylineEquals(next) {
171
165
  impl.updatePolyline(id: id) { pl in
172
- prev.updatePolyline(next, pl)
166
+ self.polylineBuilder.update(next, pl)
173
167
  }
174
168
  }
175
169
  } else {
176
170
  impl.addPolyline(
177
171
  id: id,
178
- polyline: polylineBuilder.buildPolyline(next)
172
+ polyline: polylineBuilder.build(next)
179
173
  )
180
174
  }
181
175
  }
@@ -201,11 +195,11 @@ final class RNGoogleMapsPlusView: HybridRNGoogleMapsPlusViewSpec {
201
195
  if let prev = prevById[id] {
202
196
  if !prev.polygonEquals(next) {
203
197
  impl.updatePolygon(id: id) { pg in
204
- prev.updatePolygon(next, pg)
198
+ self.polygonBuilder.update(next, pg)
205
199
  }
206
200
  }
207
201
  } else {
208
- impl.addPolygon(id: id, polygon: polygonBuilder.buildPolygon(next))
202
+ impl.addPolygon(id: id, polygon: polygonBuilder.build(next))
209
203
  }
210
204
  }
211
205
  }
@@ -230,11 +224,11 @@ final class RNGoogleMapsPlusView: HybridRNGoogleMapsPlusViewSpec {
230
224
  if let prev = prevById[id] {
231
225
  if !prev.circleEquals(next) {
232
226
  impl.updateCircle(id: id) { circle in
233
- prev.updateCircle(next, circle)
227
+ self.circleBuilder.update(next, circle)
234
228
  }
235
229
  }
236
230
  } else {
237
- impl.addCircle(id: id, circle: circleBuilder.buildCircle(next))
231
+ impl.addCircle(id: id, circle: circleBuilder.build(next))
238
232
  }
239
233
  }
240
234
  }
@@ -1,19 +1,6 @@
1
1
  import GoogleMaps
2
2
 
3
3
  extension RNCircle {
4
- func updateCircle(_ next: RNCircle, _ c: GMSCircle) {
5
- c.position = CLLocationCoordinate2D(
6
- latitude: next.center.latitude,
7
- longitude: next.center.longitude
8
- )
9
- if let r = next.radius { c.radius = r }
10
- if let fc = next.fillColor?.toUIColor() { c.fillColor = fc }
11
- if let sc = next.strokeColor?.toUIColor() { c.strokeColor = sc }
12
- if let sw = next.strokeWidth { c.strokeWidth = CGFloat(sw) }
13
- if let pr = next.pressable { c.isTappable = pr }
14
- if let zi = next.zIndex { c.zIndex = Int32(zi) }
15
- }
16
-
17
4
  func circleEquals(_ b: RNCircle) -> Bool {
18
5
  zIndex == b.zIndex && pressable == b.pressable
19
6
  && center.latitude == b.center.latitude
@@ -10,15 +10,16 @@ extension RNMarker {
10
10
  }
11
11
 
12
12
  func markerStyleEquals(_ b: RNMarker) -> Bool {
13
- width == b.width && height == b.height
14
- && iconSvg == b.iconSvg
13
+ iconSvg?.width == b.iconSvg?.width && iconSvg?.height == b.iconSvg?.height
14
+ && iconSvg?.svgString == b.iconSvg?.svgString
15
+
15
16
  }
16
17
 
17
18
  func styleHash() -> NSString {
18
19
  var hasher = Hasher()
19
- hasher.combine(width)
20
- hasher.combine(height)
21
- hasher.combine(iconSvg)
20
+ hasher.combine(iconSvg?.width)
21
+ hasher.combine(iconSvg?.height)
22
+ hasher.combine(iconSvg?.svgString)
22
23
  return String(hasher.finalize()) as NSString
23
24
  }
24
25
  }
@@ -1,25 +1,6 @@
1
1
  import GoogleMaps
2
2
 
3
3
  extension RNPolygon {
4
- func updatePolygon(_ next: RNPolygon, _ pg: GMSPolygon) {
5
- let path = GMSMutablePath()
6
- next.coordinates.forEach {
7
- path.add(
8
- CLLocationCoordinate2D(
9
- latitude: $0.latitude,
10
- longitude: $0.longitude
11
- )
12
- )
13
- }
14
- pg.path = path
15
-
16
- if let fc = next.fillColor?.toUIColor() { pg.fillColor = fc }
17
- if let sc = next.strokeColor?.toUIColor() { pg.strokeColor = sc }
18
- if let sw = next.strokeWidth { pg.strokeWidth = CGFloat(sw) }
19
- if let pr = next.pressable { pg.isTappable = pr }
20
- if let zi = next.zIndex { pg.zIndex = Int32(zi) }
21
- }
22
-
23
4
  func polygonEquals(_ b: RNPolygon) -> Bool {
24
5
  guard zIndex == b.zIndex,
25
6
  pressable == b.pressable,
@@ -28,12 +9,14 @@ extension RNPolygon {
28
9
  strokeColor == b.strokeColor,
29
10
  coordinates.count == b.coordinates.count
30
11
  else { return false }
12
+
31
13
  for i in 0..<coordinates.count {
32
14
  if coordinates[i].latitude != b.coordinates[i].latitude
33
15
  || coordinates[i].longitude != b.coordinates[i].longitude {
34
16
  return false
35
17
  }
36
18
  }
19
+
37
20
  return true
38
21
  }
39
22
  }
@@ -1,32 +1,6 @@
1
1
  import GoogleMaps
2
2
 
3
3
  extension RNPolyline {
4
- func updatePolyline(_ next: RNPolyline, _ pl: GMSPolyline) {
5
- let path = GMSMutablePath()
6
- next.coordinates.forEach {
7
- path.add(
8
- CLLocationCoordinate2D(
9
- latitude: $0.latitude,
10
- longitude: $0.longitude
11
- )
12
- )
13
- }
14
- pl.path = path
15
- if let w = next.width { pl.strokeWidth = CGFloat(w) }
16
- if let cap = next.lineCap {
17
- pl.spans = nil
18
- /// gms.lineCap = mapLineCap(cap)
19
- }
20
- if let join = next.lineJoin {
21
- /// gms.strokeJoin = mapLineJoin(join)
22
- }
23
- if let c = next.color?.toUIColor() {
24
- pl.strokeColor = c
25
- }
26
- if let pr = next.pressable { pl.isTappable = pr }
27
- if let zi = next.zIndex { pl.zIndex = Int32(zi) }
28
- }
29
-
30
4
  func polylineEquals(_ b: RNPolyline) -> Bool {
31
5
  guard zIndex == b.zIndex,
32
6
  (width ?? 0) == (b.width ?? 0),
@@ -35,6 +9,7 @@ extension RNPolyline {
35
9
  color == b.color,
36
10
  coordinates.count == b.coordinates.count
37
11
  else { return false }
12
+
38
13
  for i in 0..<coordinates.count {
39
14
  if coordinates[i].latitude != b.coordinates[i].latitude
40
15
  || coordinates[i].longitude != b.coordinates[i].longitude {
@@ -1 +1 @@
1
- {"version":3,"names":["RNAndroidLocationPriority","RNIOSLocationAccuracy","RNAndroidLocationPermissionResult","RNIOSPermissionResult","RNLocationErrorCode","RNMapErrorCode"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;AA0CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;;AA2FA,WAAYA,yBAAyB,0BAAzBA,yBAAyB;EAAzBA,yBAAyB,CAAzBA,yBAAyB;EAAzBA,yBAAyB,CAAzBA,yBAAyB;EAAzBA,yBAAyB,CAAzBA,yBAAyB;EAAzBA,yBAAyB,CAAzBA,yBAAyB;EAAA,OAAzBA,yBAAyB;AAAA;AAYrC,WAAYC,qBAAqB,0BAArBA,qBAAqB;EAArBA,qBAAqB,CAArBA,qBAAqB;EAArBA,qBAAqB,CAArBA,qBAAqB;EAArBA,qBAAqB,CAArBA,qBAAqB;EAArBA,qBAAqB,CAArBA,qBAAqB;EAAA,OAArBA,qBAAqB;AAAA;AAYjC,WAAYC,iCAAiC,0BAAjCA,iCAAiC;EAAjCA,iCAAiC,CAAjCA,iCAAiC;EAAjCA,iCAAiC,CAAjCA,iCAAiC;EAAjCA,iCAAiC,CAAjCA,iCAAiC;EAAA,OAAjCA,iCAAiC;AAAA;AAM7C,WAAYC,qBAAqB,0BAArBA,qBAAqB;EAArBA,qBAAqB,CAArBA,qBAAqB;EAArBA,qBAAqB,CAArBA,qBAAqB;EAAA,OAArBA,qBAAqB;AAAA;AAUjC,WAAYC,mBAAmB,0BAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA;AAS/B,WAAYC,cAAc,0BAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["RNAndroidLocationPriority","RNIOSLocationAccuracy","RNAndroidLocationPermissionResult","RNIOSPermissionResult","RNLocationErrorCode","RNMapErrorCode"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;AA0CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;;AAoGA,WAAYA,yBAAyB,0BAAzBA,yBAAyB;EAAzBA,yBAAyB,CAAzBA,yBAAyB;EAAzBA,yBAAyB,CAAzBA,yBAAyB;EAAzBA,yBAAyB,CAAzBA,yBAAyB;EAAzBA,yBAAyB,CAAzBA,yBAAyB;EAAA,OAAzBA,yBAAyB;AAAA;AAYrC,WAAYC,qBAAqB,0BAArBA,qBAAqB;EAArBA,qBAAqB,CAArBA,qBAAqB;EAArBA,qBAAqB,CAArBA,qBAAqB;EAArBA,qBAAqB,CAArBA,qBAAqB;EAArBA,qBAAqB,CAArBA,qBAAqB;EAAA,OAArBA,qBAAqB;AAAA;AAYjC,WAAYC,iCAAiC,0BAAjCA,iCAAiC;EAAjCA,iCAAiC,CAAjCA,iCAAiC;EAAjCA,iCAAiC,CAAjCA,iCAAiC;EAAjCA,iCAAiC,CAAjCA,iCAAiC;EAAA,OAAjCA,iCAAiC;AAAA;AAM7C,WAAYC,qBAAqB,0BAArBA,qBAAqB;EAArBA,qBAAqB,CAArBA,qBAAqB;EAArBA,qBAAqB,CAArBA,qBAAqB;EAAA,OAArBA,qBAAqB;AAAA;AAUjC,WAAYC,mBAAmB,0BAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA;AAS/B,WAAYC,cAAc,0BAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import type { HybridView, HybridViewMethods, HybridViewProps } from 'react-native-nitro-modules';
2
- import type { RNCamera, RNLatLng, RNMapPadding, RNPolygon, RNPolyline, RNUserInterfaceStyle, RNLocationErrorCode, RNMarker, RNLocationPermissionResult, RNRegion, RNLocation, RNMapErrorCode, RNMapType, RNInitialProps, RNCircle, RNMapUiSettings, RNLocationConfig } from './types';
2
+ import type { RNCamera, RNLatLng, RNMapPadding, RNPolygon, RNPolyline, RNUserInterfaceStyle, RNLocationErrorCode, RNMarker, RNLocationPermissionResult, RNRegion, RNLocation, RNMapErrorCode, RNMapType, RNInitialProps, RNCircle, RNMapUiSettings, RNLocationConfig, RNMapZoomConfig } from './types';
3
3
  export interface RNGoogleMapsPlusViewProps extends HybridViewProps {
4
4
  initialProps?: RNInitialProps;
5
5
  uiSettings?: RNMapUiSettings;
@@ -9,8 +9,7 @@ export interface RNGoogleMapsPlusViewProps extends HybridViewProps {
9
9
  indoorEnabled?: boolean;
10
10
  customMapStyle?: string;
11
11
  userInterfaceStyle?: RNUserInterfaceStyle;
12
- minZoomLevel?: number;
13
- maxZoomLevel?: number;
12
+ mapZoomConfig?: RNMapZoomConfig;
14
13
  mapPadding?: RNMapPadding;
15
14
  mapType?: RNMapType;
16
15
  markers?: RNMarker[];
@@ -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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"}
@@ -67,6 +67,10 @@ export type RNPosition = {
67
67
  x: number;
68
68
  y: number;
69
69
  };
70
+ export type RNMapZoomConfig = {
71
+ min?: number;
72
+ max?: number;
73
+ };
70
74
  export type RNLineCapType = 'butt' | 'round' | 'square';
71
75
  export type RNLineJoinType = 'miter' | 'round' | 'bevel';
72
76
  export type RNMarker = {
@@ -74,9 +78,12 @@ export type RNMarker = {
74
78
  zIndex?: number;
75
79
  coordinate: RNLatLng;
76
80
  anchor?: RNPosition;
81
+ iconSvg?: RNMarkerSvg;
82
+ };
83
+ export type RNMarkerSvg = {
77
84
  width: number;
78
85
  height: number;
79
- iconSvg: string;
86
+ svgString: string;
80
87
  };
81
88
  export type RNPolygon = {
82
89
  id: string;
@@ -102,7 +109,7 @@ export type RNCircle = {
102
109
  pressable?: boolean;
103
110
  zIndex?: number;
104
111
  center: RNLatLng;
105
- radius?: number;
112
+ radius: number;
106
113
  strokeWidth?: number;
107
114
  strokeColor?: string;
108
115
  fillColor?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,8 @@ namespace margelo::nitro::rngooglemapsplus { struct RNLatLng; }
17
17
  namespace margelo::nitro::rngooglemapsplus { struct RNMapUiSettings; }
18
18
  // Forward declaration of `RNUserInterfaceStyle` to properly resolve imports.
19
19
  namespace margelo::nitro::rngooglemapsplus { enum class RNUserInterfaceStyle; }
20
+ // Forward declaration of `RNMapZoomConfig` to properly resolve imports.
21
+ namespace margelo::nitro::rngooglemapsplus { struct RNMapZoomConfig; }
20
22
  // Forward declaration of `RNMapPadding` to properly resolve imports.
21
23
  namespace margelo::nitro::rngooglemapsplus { struct RNMapPadding; }
22
24
  // Forward declaration of `RNMapType` to properly resolve imports.
@@ -25,6 +27,8 @@ namespace margelo::nitro::rngooglemapsplus { enum class RNMapType; }
25
27
  namespace margelo::nitro::rngooglemapsplus { struct RNMarker; }
26
28
  // Forward declaration of `RNPosition` to properly resolve imports.
27
29
  namespace margelo::nitro::rngooglemapsplus { struct RNPosition; }
30
+ // Forward declaration of `RNMarkerSvg` to properly resolve imports.
31
+ namespace margelo::nitro::rngooglemapsplus { struct RNMarkerSvg; }
28
32
  // Forward declaration of `RNPolygon` to properly resolve imports.
29
33
  namespace margelo::nitro::rngooglemapsplus { struct RNPolygon; }
30
34
  // Forward declaration of `RNPolyline` to properly resolve imports.
@@ -72,6 +76,8 @@ namespace margelo::nitro::rngooglemapsplus { enum class RNIOSPermissionResult; }
72
76
  #include "JRNMapUiSettings.hpp"
73
77
  #include "RNUserInterfaceStyle.hpp"
74
78
  #include "JRNUserInterfaceStyle.hpp"
79
+ #include "RNMapZoomConfig.hpp"
80
+ #include "JRNMapZoomConfig.hpp"
75
81
  #include "RNMapPadding.hpp"
76
82
  #include "JRNMapPadding.hpp"
77
83
  #include "RNMapType.hpp"
@@ -81,6 +87,8 @@ namespace margelo::nitro::rngooglemapsplus { enum class RNIOSPermissionResult; }
81
87
  #include "JRNMarker.hpp"
82
88
  #include "RNPosition.hpp"
83
89
  #include "JRNPosition.hpp"
90
+ #include "RNMarkerSvg.hpp"
91
+ #include "JRNMarkerSvg.hpp"
84
92
  #include "RNPolygon.hpp"
85
93
  #include "JRNPolygon.hpp"
86
94
  #include "RNPolyline.hpp"
@@ -221,23 +229,14 @@ namespace margelo::nitro::rngooglemapsplus {
221
229
  static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JRNUserInterfaceStyle> /* userInterfaceStyle */)>("setUserInterfaceStyle");
222
230
  method(_javaPart, userInterfaceStyle.has_value() ? JRNUserInterfaceStyle::fromCpp(userInterfaceStyle.value()) : nullptr);
223
231
  }
224
- std::optional<double> JHybridRNGoogleMapsPlusViewSpec::getMinZoomLevel() {
225
- static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JDouble>()>("getMinZoomLevel");
232
+ std::optional<RNMapZoomConfig> JHybridRNGoogleMapsPlusViewSpec::getMapZoomConfig() {
233
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JRNMapZoomConfig>()>("getMapZoomConfig");
226
234
  auto __result = method(_javaPart);
227
- return __result != nullptr ? std::make_optional(__result->value()) : std::nullopt;
228
- }
229
- void JHybridRNGoogleMapsPlusViewSpec::setMinZoomLevel(std::optional<double> minZoomLevel) {
230
- static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JDouble> /* minZoomLevel */)>("setMinZoomLevel");
231
- method(_javaPart, minZoomLevel.has_value() ? jni::JDouble::valueOf(minZoomLevel.value()) : nullptr);
232
- }
233
- std::optional<double> JHybridRNGoogleMapsPlusViewSpec::getMaxZoomLevel() {
234
- static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JDouble>()>("getMaxZoomLevel");
235
- auto __result = method(_javaPart);
236
- return __result != nullptr ? std::make_optional(__result->value()) : std::nullopt;
235
+ return __result != nullptr ? std::make_optional(__result->toCpp()) : std::nullopt;
237
236
  }
238
- void JHybridRNGoogleMapsPlusViewSpec::setMaxZoomLevel(std::optional<double> maxZoomLevel) {
239
- static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JDouble> /* maxZoomLevel */)>("setMaxZoomLevel");
240
- method(_javaPart, maxZoomLevel.has_value() ? jni::JDouble::valueOf(maxZoomLevel.value()) : nullptr);
237
+ void JHybridRNGoogleMapsPlusViewSpec::setMapZoomConfig(const std::optional<RNMapZoomConfig>& mapZoomConfig) {
238
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JRNMapZoomConfig> /* mapZoomConfig */)>("setMapZoomConfig");
239
+ method(_javaPart, mapZoomConfig.has_value() ? JRNMapZoomConfig::fromCpp(mapZoomConfig.value()) : nullptr);
241
240
  }
242
241
  std::optional<RNMapPadding> JHybridRNGoogleMapsPlusViewSpec::getMapPadding() {
243
242
  static const auto method = javaClassStatic()->getMethod<jni::local_ref<JRNMapPadding>()>("getMapPadding");
@@ -65,10 +65,8 @@ namespace margelo::nitro::rngooglemapsplus {
65
65
  void setCustomMapStyle(const std::optional<std::string>& customMapStyle) override;
66
66
  std::optional<RNUserInterfaceStyle> getUserInterfaceStyle() override;
67
67
  void setUserInterfaceStyle(std::optional<RNUserInterfaceStyle> userInterfaceStyle) override;
68
- std::optional<double> getMinZoomLevel() override;
69
- void setMinZoomLevel(std::optional<double> minZoomLevel) override;
70
- std::optional<double> getMaxZoomLevel() override;
71
- void setMaxZoomLevel(std::optional<double> maxZoomLevel) override;
68
+ std::optional<RNMapZoomConfig> getMapZoomConfig() override;
69
+ void setMapZoomConfig(const std::optional<RNMapZoomConfig>& mapZoomConfig) override;
72
70
  std::optional<RNMapPadding> getMapPadding() override;
73
71
  void setMapPadding(const std::optional<RNMapPadding>& mapPadding) override;
74
72
  std::optional<RNMapType> getMapType() override;