react-native-google-maps-plus 1.7.0-dev.12 → 1.7.0-dev.14
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.
- package/android/src/main/java/com/rngooglemapsplus/GoogleMapsViewImpl.kt +29 -24
- package/android/src/main/java/com/rngooglemapsplus/MapCircleBuilder.kt +2 -3
- package/android/src/main/java/com/rngooglemapsplus/MapMarkerBuilder.kt +20 -28
- package/android/src/main/java/com/rngooglemapsplus/MapPolygonBuilder.kt +6 -23
- package/android/src/main/java/com/rngooglemapsplus/MapPolylineBuilder.kt.kt +12 -39
- package/android/src/main/java/com/rngooglemapsplus/RNGoogleMapsPlusView.kt +2 -0
- package/android/src/main/java/com/rngooglemapsplus/extensions/RNLineCapTypeExtension.kt +14 -0
- package/android/src/main/java/com/rngooglemapsplus/extensions/RNLineJoinTypeExtension.kt +12 -0
- package/android/src/main/java/com/rngooglemapsplus/extensions/RNMapCircleExtension.kt +7 -1
- package/android/src/main/java/com/rngooglemapsplus/extensions/RNMarkerExtension.kt +54 -17
- package/android/src/main/java/com/rngooglemapsplus/extensions/RNPolygonExtension.kt +31 -1
- package/android/src/main/java/com/rngooglemapsplus/extensions/RNPolylineExtension.kt +6 -1
- package/ios/GoogleMapViewImpl.swift +14 -3
- package/ios/MapCircleBuilder.swift +2 -3
- package/ios/MapMarkerBuilder.swift +54 -46
- package/ios/MapPolygonBuilder.swift +6 -41
- package/ios/MapPolylineBuilder.swift +2 -10
- package/ios/RNGoogleMapsPlusView.swift +3 -0
- package/ios/extensions/RNCircle+Extension.swift +14 -5
- package/ios/extensions/RNLatLng+Extension.swift +11 -0
- package/ios/extensions/RNLineCapType+Extension.swift +10 -0
- package/ios/extensions/RNLineJoinType+Extension.swift +11 -0
- package/ios/extensions/RNMarker+Extension.swift +43 -12
- package/ios/extensions/RNPolygon+Extension.swift.swift +50 -21
- package/ios/extensions/RNPolyline+Extension.swift.swift +15 -26
- package/lib/module/types.js.map +1 -1
- package/lib/typescript/src/types.d.ts +1 -1
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/nitrogen/generated/android/c++/JRNInitialProps.hpp +7 -3
- package/nitrogen/generated/android/c++/JRNMarker.hpp +1 -5
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNInitialProps.kt +6 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNMarker.kt +2 -5
- package/nitrogen/generated/ios/swift/RNInitialProps.swift +31 -1
- package/nitrogen/generated/ios/swift/RNMarker.swift +1 -31
- package/nitrogen/generated/shared/c++/RNInitialProps.hpp +6 -2
- package/nitrogen/generated/shared/c++/RNMarker.hpp +1 -5
- package/package.json +1 -1
- package/src/types.ts +1 -1
|
@@ -15,11 +15,13 @@ final class MapMarkerBuilder {
|
|
|
15
15
|
let marker = GMSMarker(
|
|
16
16
|
position: m.coordinate.toCLLocationCoordinate2D()
|
|
17
17
|
)
|
|
18
|
-
marker.tracksViewChanges = true
|
|
19
18
|
marker.icon = icon
|
|
20
19
|
m.title.map { marker.title = $0 }
|
|
21
20
|
m.snippet.map { marker.snippet = $0 }
|
|
22
|
-
m.opacity.map {
|
|
21
|
+
m.opacity.map {
|
|
22
|
+
marker.opacity = Float($0)
|
|
23
|
+
marker.iconView?.alpha = CGFloat($0)
|
|
24
|
+
}
|
|
23
25
|
m.flat.map { marker.isFlat = $0 }
|
|
24
26
|
m.draggable.map { marker.isDraggable = $0 }
|
|
25
27
|
m.rotation.map { marker.rotation = $0 }
|
|
@@ -39,65 +41,28 @@ final class MapMarkerBuilder {
|
|
|
39
41
|
iconSvg: m.infoWindowIconSvg
|
|
40
42
|
)
|
|
41
43
|
|
|
42
|
-
onMainAsync { [weak marker] in
|
|
43
|
-
try? await Task.sleep(nanoseconds: 250_000_000)
|
|
44
|
-
marker?.tracksViewChanges = false
|
|
45
|
-
}
|
|
46
|
-
|
|
47
44
|
return marker
|
|
48
45
|
}
|
|
49
46
|
|
|
50
47
|
@MainActor
|
|
51
48
|
func update(_ prev: RNMarker, _ next: RNMarker, _ m: GMSMarker) {
|
|
52
|
-
if prev.
|
|
53
|
-
|| prev.coordinate.longitude != next.coordinate.longitude {
|
|
49
|
+
if !prev.coordinateEquals(next) {
|
|
54
50
|
m.position = next.coordinate.toCLLocationCoordinate2D()
|
|
55
51
|
}
|
|
56
52
|
|
|
57
|
-
if prev.title != next.title {
|
|
58
|
-
m.title = next.title
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
if prev.snippet != next.snippet {
|
|
62
|
-
m.snippet = next.snippet
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
if prev.opacity != next.opacity {
|
|
66
|
-
let opacity = Float(next.opacity ?? 1)
|
|
67
|
-
m.opacity = opacity
|
|
68
|
-
m.iconView?.alpha = CGFloat(opacity)
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
if prev.flat != next.flat {
|
|
72
|
-
m.isFlat = next.flat ?? false
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
if prev.draggable != next.draggable {
|
|
76
|
-
m.isDraggable = next.draggable ?? false
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
if prev.rotation != next.rotation {
|
|
80
|
-
m.rotation = next.rotation ?? 0
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
if prev.zIndex != next.zIndex {
|
|
84
|
-
m.zIndex = Int32(next.zIndex ?? 0)
|
|
85
|
-
}
|
|
86
|
-
|
|
87
53
|
if !prev.markerStyleEquals(next) {
|
|
88
54
|
buildIconAsync(next.id, next) { img in
|
|
89
55
|
m.tracksViewChanges = true
|
|
90
56
|
m.icon = img
|
|
91
57
|
|
|
92
|
-
if prev.
|
|
58
|
+
if !prev.anchorEquals(next) {
|
|
93
59
|
m.groundAnchor = CGPoint(
|
|
94
60
|
x: next.anchor?.x ?? 0.5,
|
|
95
61
|
y: next.anchor?.y ?? 1
|
|
96
62
|
)
|
|
97
63
|
}
|
|
98
64
|
|
|
99
|
-
if prev.
|
|
100
|
-
|| prev.infoWindowAnchor?.y != next.infoWindowAnchor?.y {
|
|
65
|
+
if !prev.infoWindowAnchorEquals(next) {
|
|
101
66
|
m.infoWindowAnchor = CGPoint(
|
|
102
67
|
x: next.infoWindowAnchor?.x ?? 0.5,
|
|
103
68
|
y: next.infoWindowAnchor?.y ?? 0
|
|
@@ -110,26 +75,68 @@ final class MapMarkerBuilder {
|
|
|
110
75
|
}
|
|
111
76
|
}
|
|
112
77
|
} else {
|
|
113
|
-
if prev.
|
|
78
|
+
if !prev.anchorEquals(next) {
|
|
114
79
|
m.groundAnchor = CGPoint(
|
|
115
80
|
x: next.anchor?.x ?? 0.5,
|
|
116
81
|
y: next.anchor?.y ?? 1
|
|
117
82
|
)
|
|
118
83
|
}
|
|
119
84
|
|
|
120
|
-
if prev.
|
|
121
|
-
|| prev.infoWindowAnchor?.y != next.infoWindowAnchor?.y {
|
|
85
|
+
if !prev.infoWindowAnchorEquals(next) {
|
|
122
86
|
m.infoWindowAnchor = CGPoint(
|
|
123
87
|
x: next.infoWindowAnchor?.x ?? 0.5,
|
|
124
88
|
y: next.infoWindowAnchor?.y ?? 0
|
|
125
89
|
)
|
|
126
90
|
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
var tracksInfoWindowChanges = false
|
|
94
|
+
|
|
95
|
+
if prev.title != next.title {
|
|
96
|
+
tracksInfoWindowChanges = true
|
|
97
|
+
m.title = next.title
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
if prev.snippet != next.snippet {
|
|
101
|
+
tracksInfoWindowChanges = true
|
|
102
|
+
m.snippet = next.snippet
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
if(tracksInfoWindowChanges) {
|
|
106
|
+
m.tracksInfoWindowChanges = true
|
|
107
|
+
onMainAsync { [weak m] in
|
|
108
|
+
try? await Task.sleep(nanoseconds: 250_000_000)
|
|
109
|
+
m?.tracksInfoWindowChanges = false
|
|
110
|
+
}
|
|
111
|
+
}
|
|
127
112
|
|
|
113
|
+
if prev.opacity != next.opacity {
|
|
114
|
+
let opacity = Float(next.opacity ?? 1)
|
|
115
|
+
m.opacity = opacity
|
|
116
|
+
m.iconView?.alpha = CGFloat(opacity)
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
if prev.flat != next.flat {
|
|
120
|
+
m.isFlat = next.flat ?? false
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
if prev.draggable != next.draggable {
|
|
124
|
+
m.isDraggable = next.draggable ?? false
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
if prev.rotation != next.rotation {
|
|
128
|
+
m.rotation = next.rotation ?? 0
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
if prev.zIndex != next.zIndex {
|
|
132
|
+
m.zIndex = Int32(next.zIndex ?? 0)
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
if !prev.markerInfoWindowStyleEquals(next) {
|
|
128
136
|
m.tagData = MarkerTag(
|
|
129
137
|
id: next.id,
|
|
130
138
|
iconSvg: next.infoWindowIconSvg
|
|
131
139
|
)
|
|
132
|
-
|
|
133
140
|
}
|
|
134
141
|
}
|
|
135
142
|
|
|
@@ -187,6 +194,7 @@ final class MapMarkerBuilder {
|
|
|
187
194
|
iconCache.removeAllObjects()
|
|
188
195
|
}
|
|
189
196
|
|
|
197
|
+
@MainActor
|
|
190
198
|
func buildInfoWindow(iconSvg: RNMarkerSvg?) -> UIImageView? {
|
|
191
199
|
guard let iconSvg = iconSvg else {
|
|
192
200
|
return nil
|
|
@@ -3,13 +3,7 @@ import GoogleMaps
|
|
|
3
3
|
final class MapPolygonBuilder {
|
|
4
4
|
@MainActor
|
|
5
5
|
func build(_ p: RNPolygon) -> GMSPolygon {
|
|
6
|
-
let path =
|
|
7
|
-
p.coordinates.forEach {
|
|
8
|
-
path.add(
|
|
9
|
-
$0.toCLLocationCoordinate2D()
|
|
10
|
-
)
|
|
11
|
-
}
|
|
12
|
-
|
|
6
|
+
let path = p.coordinates.toGMSPath()
|
|
13
7
|
let pg = GMSPolygon(path: path)
|
|
14
8
|
|
|
15
9
|
p.fillColor.map { pg.fillColor = $0.toUIColor() }
|
|
@@ -17,13 +11,7 @@ final class MapPolygonBuilder {
|
|
|
17
11
|
p.strokeWidth.map { pg.strokeWidth = CGFloat($0) }
|
|
18
12
|
p.pressable.map { pg.isTappable = $0 }
|
|
19
13
|
p.geodesic.map { pg.geodesic = $0 }
|
|
20
|
-
p.holes.
|
|
21
|
-
pg.holes = $0.map { hole in
|
|
22
|
-
let path = GMSMutablePath()
|
|
23
|
-
hole.coordinates.forEach { path.add($0.toCLLocationCoordinate2D()) }
|
|
24
|
-
return path
|
|
25
|
-
}
|
|
26
|
-
}
|
|
14
|
+
pg.holes = p.holes.toMapPolygonHoles()
|
|
27
15
|
p.zIndex.map { pg.zIndex = Int32($0) }
|
|
28
16
|
|
|
29
17
|
return pg
|
|
@@ -31,35 +19,12 @@ final class MapPolygonBuilder {
|
|
|
31
19
|
|
|
32
20
|
@MainActor
|
|
33
21
|
func update(_ prev: RNPolygon, _ next: RNPolygon, _ pg: GMSPolygon) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|| !zip(prev.coordinates, next.coordinates).allSatisfy {
|
|
37
|
-
$0.latitude == $1.latitude && $0.longitude == $1.longitude
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
if coordsChanged {
|
|
41
|
-
let path = GMSMutablePath()
|
|
42
|
-
next.coordinates.forEach { path.add($0.toCLLocationCoordinate2D()) }
|
|
43
|
-
pg.path = path
|
|
22
|
+
if !prev.coordinatesEquals(next) {
|
|
23
|
+
pg.path = next.coordinates.toGMSPath()
|
|
44
24
|
}
|
|
45
25
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
let holesChanged =
|
|
49
|
-
prevHoles.count != nextHoles.count
|
|
50
|
-
|| !zip(prevHoles, nextHoles).allSatisfy { a, b in
|
|
51
|
-
a.coordinates.count == b.coordinates.count
|
|
52
|
-
&& zip(a.coordinates, b.coordinates).allSatisfy {
|
|
53
|
-
$0.latitude == $1.latitude && $0.longitude == $1.longitude
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
if holesChanged {
|
|
58
|
-
pg.holes = nextHoles.map { hole in
|
|
59
|
-
let path = GMSMutablePath()
|
|
60
|
-
hole.coordinates.forEach { path.add($0.toCLLocationCoordinate2D()) }
|
|
61
|
-
return path
|
|
62
|
-
}
|
|
26
|
+
if !prev.holesEquals(next) {
|
|
27
|
+
pg.holes = next.holes.toMapPolygonHoles()
|
|
63
28
|
}
|
|
64
29
|
|
|
65
30
|
if prev.fillColor != next.fillColor {
|
|
@@ -25,16 +25,8 @@ final class MapPolylineBuilder {
|
|
|
25
25
|
|
|
26
26
|
@MainActor
|
|
27
27
|
func update(_ prev: RNPolyline, _ next: RNPolyline, _ pl: GMSPolyline) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|| !zip(prev.coordinates, next.coordinates).allSatisfy {
|
|
31
|
-
$0.latitude == $1.latitude && $0.longitude == $1.longitude
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
if coordsChanged {
|
|
35
|
-
let path = GMSMutablePath()
|
|
36
|
-
next.coordinates.forEach { path.add($0.toCLLocationCoordinate2D()) }
|
|
37
|
-
pl.path = path
|
|
28
|
+
if !prev.coordinatesEquals(next) {
|
|
29
|
+
pl.path = next.coordinates.toGMSPath()
|
|
38
30
|
}
|
|
39
31
|
|
|
40
32
|
if prev.width != next.width {
|
|
@@ -41,6 +41,9 @@ final class RNGoogleMapsPlusView: HybridRNGoogleMapsPlusViewSpec {
|
|
|
41
41
|
initialProps?.camera.map {
|
|
42
42
|
options.camera = $0.toGMSCameraPosition(current: nil)
|
|
43
43
|
}
|
|
44
|
+
initialProps?.backgroundColor.map {
|
|
45
|
+
options.backgroundColor = $0.toUIColor()
|
|
46
|
+
}
|
|
44
47
|
impl.initMapView(googleMapOptions: options)
|
|
45
48
|
}
|
|
46
49
|
}
|
|
@@ -2,10 +2,19 @@ import GoogleMaps
|
|
|
2
2
|
|
|
3
3
|
extension RNCircle {
|
|
4
4
|
func circleEquals(_ b: RNCircle) -> Bool {
|
|
5
|
-
zIndex
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
if zIndex != b.zIndex { return false }
|
|
6
|
+
if pressable != b.pressable { return false }
|
|
7
|
+
if !centerEquals(b) { return false }
|
|
8
|
+
if radius != b.radius { return false }
|
|
9
|
+
if strokeWidth != b.strokeWidth { return false }
|
|
10
|
+
if strokeColor != b.strokeColor { return false }
|
|
11
|
+
if fillColor != b.fillColor { return false }
|
|
12
|
+
return true
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
func centerEquals(_ b: RNCircle) -> Bool {
|
|
16
|
+
if center.latitude != b.center.latitude { return false }
|
|
17
|
+
if center.longitude != b.center.longitude { return false }
|
|
18
|
+
return true
|
|
10
19
|
}
|
|
11
20
|
}
|
|
@@ -1,7 +1,18 @@
|
|
|
1
1
|
import CoreLocation
|
|
2
|
+
import GoogleMaps
|
|
2
3
|
|
|
3
4
|
extension RNLatLng {
|
|
4
5
|
func toCLLocationCoordinate2D() -> CLLocationCoordinate2D {
|
|
5
6
|
CLLocationCoordinate2D(latitude: latitude, longitude: longitude)
|
|
6
7
|
}
|
|
7
8
|
}
|
|
9
|
+
|
|
10
|
+
extension Array where Element == RNLatLng {
|
|
11
|
+
func toGMSPath() -> GMSPath {
|
|
12
|
+
let path = GMSMutablePath()
|
|
13
|
+
for coord in self {
|
|
14
|
+
path.add(coord.toCLLocationCoordinate2D())
|
|
15
|
+
}
|
|
16
|
+
return path
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -2,21 +2,52 @@ import GoogleMaps
|
|
|
2
2
|
|
|
3
3
|
extension RNMarker {
|
|
4
4
|
func markerEquals(_ b: RNMarker) -> Bool {
|
|
5
|
-
id
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
5
|
+
if id != b.id { return false }
|
|
6
|
+
if zIndex != b.zIndex { return false }
|
|
7
|
+
if !coordinateEquals(b) { return false }
|
|
8
|
+
if !anchorEquals(b) { return false }
|
|
9
|
+
if title != b.title { return false }
|
|
10
|
+
if snippet != b.snippet { return false }
|
|
11
|
+
if opacity != b.opacity { return false }
|
|
12
|
+
if flat != b.flat { return false }
|
|
13
|
+
if draggable != b.draggable { return false }
|
|
14
|
+
if rotation != b.rotation { return false }
|
|
15
|
+
if !infoWindowAnchorEquals(b) { return false }
|
|
16
|
+
if !markerInfoWindowStyleEquals(b) { return false }
|
|
17
|
+
if !markerStyleEquals(b) { return false }
|
|
18
|
+
return true
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
func coordinateEquals(_ b: RNMarker) -> Bool {
|
|
22
|
+
if coordinate.latitude != b.coordinate.latitude { return false }
|
|
23
|
+
if coordinate.longitude != b.coordinate.longitude { return false }
|
|
24
|
+
return true
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
func anchorEquals(_ b: RNMarker) -> Bool {
|
|
28
|
+
if anchor?.x != b.anchor?.x { return false }
|
|
29
|
+
if anchor?.y != b.anchor?.y { return false }
|
|
30
|
+
return true
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
func infoWindowAnchorEquals(_ b: RNMarker) -> Bool {
|
|
34
|
+
if infoWindowAnchor?.x != b.infoWindowAnchor?.x { return false }
|
|
35
|
+
if infoWindowAnchor?.y != b.infoWindowAnchor?.y { return false }
|
|
36
|
+
return true
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
func markerInfoWindowStyleEquals(_ b: RNMarker) -> Bool {
|
|
40
|
+
if infoWindowIconSvg?.width != b.infoWindowIconSvg?.width { return false }
|
|
41
|
+
if infoWindowIconSvg?.height != b.infoWindowIconSvg?.height { return false }
|
|
42
|
+
if infoWindowIconSvg?.svgString != b.infoWindowIconSvg?.svgString { return false }
|
|
43
|
+
return true
|
|
15
44
|
}
|
|
16
45
|
|
|
17
46
|
func markerStyleEquals(_ b: RNMarker) -> Bool {
|
|
18
|
-
iconSvg?.width
|
|
19
|
-
|
|
47
|
+
if iconSvg?.width != b.iconSvg?.width { return false }
|
|
48
|
+
if iconSvg?.height != b.iconSvg?.height { return false }
|
|
49
|
+
if iconSvg?.svgString != b.iconSvg?.svgString { return false }
|
|
50
|
+
return true
|
|
20
51
|
}
|
|
21
52
|
|
|
22
53
|
func styleHash() -> NSNumber {
|
|
@@ -2,32 +2,48 @@ import GoogleMaps
|
|
|
2
2
|
|
|
3
3
|
extension RNPolygon {
|
|
4
4
|
func polygonEquals(_ b: RNPolygon) -> Bool {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
5
|
+
if zIndex != b.zIndex { return false }
|
|
6
|
+
if pressable != b.pressable { return false }
|
|
7
|
+
if strokeWidth != b.strokeWidth { return false }
|
|
8
|
+
if fillColor != b.fillColor { return false }
|
|
9
|
+
if strokeColor != b.strokeColor { return false }
|
|
10
|
+
if geodesic != b.geodesic { return false }
|
|
11
|
+
|
|
12
|
+
if !coordinatesEquals(b) { return false }
|
|
13
|
+
if !holesEquals(b) { return false }
|
|
14
|
+
|
|
15
|
+
return true
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
func coordinatesEquals(_ b: RNPolygon) -> Bool {
|
|
19
|
+
if coordinates.count != b.coordinates.count { return false }
|
|
20
|
+
|
|
21
|
+
for (a, c) in zip(coordinates, b.coordinates) {
|
|
22
|
+
if a.latitude != c.latitude || a.longitude != c.longitude {
|
|
18
23
|
return false
|
|
19
24
|
}
|
|
20
25
|
}
|
|
21
26
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
27
|
+
return true
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
func holesEquals(_ b: RNPolygon) -> Bool {
|
|
31
|
+
if let holes = holes, let bHoles = b.holes {
|
|
32
|
+
if holes.count != bHoles.count { return false }
|
|
26
33
|
|
|
27
|
-
for
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
34
|
+
for i in holes.indices {
|
|
35
|
+
let ah = holes[i]
|
|
36
|
+
let bh = bHoles[i]
|
|
37
|
+
|
|
38
|
+
if ah.coordinates.count != bh.coordinates.count { return false }
|
|
39
|
+
|
|
40
|
+
for j in ah.coordinates.indices {
|
|
41
|
+
let p = ah.coordinates[j]
|
|
42
|
+
let q = bh.coordinates[j]
|
|
43
|
+
|
|
44
|
+
if p.latitude != q.latitude || p.longitude != q.longitude {
|
|
45
|
+
return false
|
|
46
|
+
}
|
|
31
47
|
}
|
|
32
48
|
}
|
|
33
49
|
}
|
|
@@ -35,3 +51,16 @@ extension RNPolygon {
|
|
|
35
51
|
return true
|
|
36
52
|
}
|
|
37
53
|
}
|
|
54
|
+
|
|
55
|
+
extension Optional where Wrapped == [RNPolygonHole] {
|
|
56
|
+
func toMapPolygonHoles() -> [GMSPath]? {
|
|
57
|
+
guard let holes = self else { return nil }
|
|
58
|
+
return holes.map { hole in
|
|
59
|
+
let path = GMSMutablePath()
|
|
60
|
+
hole.coordinates.forEach { coord in
|
|
61
|
+
path.add(coord.toCLLocationCoordinate2D())
|
|
62
|
+
}
|
|
63
|
+
return path
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
@@ -2,37 +2,26 @@ import GoogleMaps
|
|
|
2
2
|
|
|
3
3
|
extension RNPolyline {
|
|
4
4
|
func polylineEquals(_ b: RNPolyline) -> Bool {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
else { return false }
|
|
5
|
+
if zIndex != b.zIndex { return false }
|
|
6
|
+
if width != b.width { return false }
|
|
7
|
+
if lineCap != b.lineCap { return false }
|
|
8
|
+
if lineJoin != b.lineJoin { return false }
|
|
9
|
+
if color != b.color { return false }
|
|
10
|
+
if geodesic != b.geodesic { return false }
|
|
11
|
+
if !coordinatesEquals(b) { return false }
|
|
13
12
|
|
|
14
|
-
for i in 0..<coordinates.count {
|
|
15
|
-
if coordinates[i].latitude != b.coordinates[i].latitude
|
|
16
|
-
|| coordinates[i].longitude != b.coordinates[i].longitude {
|
|
17
|
-
return false
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
13
|
return true
|
|
21
14
|
}
|
|
22
15
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
case .round: return .round
|
|
26
|
-
case .square: return .square
|
|
27
|
-
default: return .butt
|
|
28
|
-
}
|
|
29
|
-
}
|
|
16
|
+
func coordinatesEquals(_ b: RNPolyline) -> Bool {
|
|
17
|
+
if coordinates.count != b.coordinates.count { return false }
|
|
30
18
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
default: return .miter
|
|
19
|
+
for (a, c) in zip(coordinates, b.coordinates) {
|
|
20
|
+
if a.latitude != c.latitude || a.longitude != c.longitude {
|
|
21
|
+
return false
|
|
22
|
+
}
|
|
36
23
|
}
|
|
24
|
+
|
|
25
|
+
return true
|
|
37
26
|
}
|
|
38
27
|
}
|
package/lib/module/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["RNAndroidLocationPriority","RNIOSLocationAccuracy","RNAndroidLocationPermissionResult","RNIOSPermissionResult","RNLocationErrorCode","RNMapErrorCode"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["RNAndroidLocationPriority","RNIOSLocationAccuracy","RNAndroidLocationPermissionResult","RNIOSPermissionResult","RNLocationErrorCode","RNMapErrorCode"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;AAmEA;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;;AAwKA,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;AAoCjC,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":[]}
|
|
@@ -5,6 +5,7 @@ export type RNInitialProps = {
|
|
|
5
5
|
mapId?: string;
|
|
6
6
|
liteMode?: boolean;
|
|
7
7
|
camera?: RNCamera;
|
|
8
|
+
backgroundColor?: string;
|
|
8
9
|
};
|
|
9
10
|
export type RNMapUiSettings = {
|
|
10
11
|
allGesturesEnabled?: boolean;
|
|
@@ -94,7 +95,6 @@ export type RNMarker = {
|
|
|
94
95
|
zIndex?: number;
|
|
95
96
|
coordinate: RNLatLng;
|
|
96
97
|
anchor?: RNPosition;
|
|
97
|
-
showInfoWindow?: boolean;
|
|
98
98
|
title?: string;
|
|
99
99
|
snippet?: string;
|
|
100
100
|
opacity?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE7D,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,2BAA2B,CAAC,CAAC;AAExE,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,10 +42,13 @@ namespace margelo::nitro::rngooglemapsplus {
|
|
|
42
42
|
jni::local_ref<jni::JBoolean> liteMode = this->getFieldValue(fieldLiteMode);
|
|
43
43
|
static const auto fieldCamera = clazz->getField<JRNCamera>("camera");
|
|
44
44
|
jni::local_ref<JRNCamera> camera = this->getFieldValue(fieldCamera);
|
|
45
|
+
static const auto fieldBackgroundColor = clazz->getField<jni::JString>("backgroundColor");
|
|
46
|
+
jni::local_ref<jni::JString> backgroundColor = this->getFieldValue(fieldBackgroundColor);
|
|
45
47
|
return RNInitialProps(
|
|
46
48
|
mapId != nullptr ? std::make_optional(mapId->toStdString()) : std::nullopt,
|
|
47
49
|
liteMode != nullptr ? std::make_optional(static_cast<bool>(liteMode->value())) : std::nullopt,
|
|
48
|
-
camera != nullptr ? std::make_optional(camera->toCpp()) : std::nullopt
|
|
50
|
+
camera != nullptr ? std::make_optional(camera->toCpp()) : std::nullopt,
|
|
51
|
+
backgroundColor != nullptr ? std::make_optional(backgroundColor->toStdString()) : std::nullopt
|
|
49
52
|
);
|
|
50
53
|
}
|
|
51
54
|
|
|
@@ -55,14 +58,15 @@ namespace margelo::nitro::rngooglemapsplus {
|
|
|
55
58
|
*/
|
|
56
59
|
[[maybe_unused]]
|
|
57
60
|
static jni::local_ref<JRNInitialProps::javaobject> fromCpp(const RNInitialProps& value) {
|
|
58
|
-
using JSignature = JRNInitialProps(jni::alias_ref<jni::JString>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<JRNCamera>);
|
|
61
|
+
using JSignature = JRNInitialProps(jni::alias_ref<jni::JString>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<JRNCamera>, jni::alias_ref<jni::JString>);
|
|
59
62
|
static const auto clazz = javaClassStatic();
|
|
60
63
|
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
|
61
64
|
return create(
|
|
62
65
|
clazz,
|
|
63
66
|
value.mapId.has_value() ? jni::make_jstring(value.mapId.value()) : nullptr,
|
|
64
67
|
value.liteMode.has_value() ? jni::JBoolean::valueOf(value.liteMode.value()) : nullptr,
|
|
65
|
-
value.camera.has_value() ? JRNCamera::fromCpp(value.camera.value()) : nullptr
|
|
68
|
+
value.camera.has_value() ? JRNCamera::fromCpp(value.camera.value()) : nullptr,
|
|
69
|
+
value.backgroundColor.has_value() ? jni::make_jstring(value.backgroundColor.value()) : nullptr
|
|
66
70
|
);
|
|
67
71
|
}
|
|
68
72
|
};
|