Skip to content

Commit 6603060

Browse files
authored
fix(iOS): removing polylines on iOS with googleProvider (react-native-maps#4973)
* fix: removing polylines on ios with googleProvider * chore: code format
1 parent 2eb4492 commit 6603060

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

ios/AirGoogleMaps/AIRGoogleMapPolyline.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
@property (nonatomic, strong) AIRGMSPolyline *polyline;
2020
@property (nonatomic, strong) NSArray<AIRMapCoordinate *> *coordinates;
2121
@property (nonatomic, copy) RCTBubblingEventBlock onPress;
22+
@property (nonatomic, strong) GMSMapView *originalMap;
2223

2324
@property (nonatomic, strong) UIColor *strokeColor;
2425
@property (nonatomic, strong) NSArray<UIColor *> *strokeColors;

ios/AirGoogleMaps/AIRGoogleMapPolyline.m

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,25 @@ -(void)setCoordinates:(NSArray<AIRMapCoordinate *> *)coordinates
2929
_coordinates = coordinates;
3030

3131
GMSMutablePath *path = [GMSMutablePath path];
32-
for(int i = 0; i < coordinates.count; i++)
32+
33+
if (!coordinates || coordinates.count == 0)
3334
{
35+
_polyline.map = nil; // Remove polyline from the map
36+
return;
37+
}
38+
39+
for (int i = 0; i < coordinates.count; i++) {
3440
[path addCoordinate:coordinates[i].coordinate];
3541
}
3642

43+
if (!_originalMap) {
44+
_originalMap = _polyline.map; // Store the original map
45+
}
46+
47+
if (!_polyline.map) {
48+
_polyline.map = _originalMap;
49+
}
50+
3751
_polyline.path = path;
3852

3953
[self configureStyleSpansIfNeeded];

0 commit comments

Comments
 (0)