Skip to content
This repository was archived by the owner on Feb 22, 2023. It is now read-only.

Commit 8741b2e

Browse files
author
Raees
committed
set geodesic property coming from platform channel args to GMSPolyline obj-c instance
1 parent 8f12e1f commit 8741b2e

File tree

4 files changed

+13
-1
lines changed

4 files changed

+13
-1
lines changed

packages/google_maps_flutter/google_maps_flutter/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
## 0.5.25
2+
Geodesic Polyline support for iOS
3+
14
## 0.5.24+1
25

36
* Make the pedantic dev_dependency explicit.

packages/google_maps_flutter/google_maps_flutter/ios/Classes/GoogleMapPolylineController.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
@property(atomic, readonly) NSString* polylineId;
2121
- (instancetype)initPolylineWithPath:(GMSMutablePath*)path
2222
polylineId:(NSString*)polylineId
23+
geodesic:(BOOL)geodesic
2324
mapView:(GMSMapView*)mapView;
2425
- (void)removePolyline;
2526
@end

packages/google_maps_flutter/google_maps_flutter/ios/Classes/GoogleMapPolylineController.m

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,12 @@ @implementation FLTGoogleMapPolylineController {
1111
}
1212
- (instancetype)initPolylineWithPath:(GMSMutablePath*)path
1313
polylineId:(NSString*)polylineId
14+
geodesic:(BOOL)geodesic
1415
mapView:(GMSMapView*)mapView {
1516
self = [super init];
1617
if (self) {
1718
_polyline = [GMSPolyline polylineWithPath:path];
19+
_polyline.geodesic = geodesic;
1820
_mapView = mapView;
1921
_polylineId = polylineId;
2022
_polyline.userData = @[ polylineId ];
@@ -119,9 +121,11 @@ - (void)addPolylines:(NSArray*)polylinesToAdd {
119121
for (NSDictionary* polyline in polylinesToAdd) {
120122
GMSMutablePath* path = [FLTPolylinesController getPath:polyline];
121123
NSString* polylineId = [FLTPolylinesController getPolylineId:polyline];
124+
NSNumber* geodisc = [FLTPolylinesController isGeodesic:polyline];
122125
FLTGoogleMapPolylineController* controller =
123126
[[FLTGoogleMapPolylineController alloc] initPolylineWithPath:path
124127
polylineId:polylineId
128+
geodesic:geodisc.boolValue
125129
mapView:_mapView];
126130
InterpretPolylineOptions(polyline, controller, _registrar);
127131
_polylineIdToController[polylineId] = controller;
@@ -178,4 +182,8 @@ + (GMSMutablePath*)getPath:(NSDictionary*)polyline {
178182
+ (NSString*)getPolylineId:(NSDictionary*)polyline {
179183
return polyline[@"polylineId"];
180184
}
185+
186+
+ (NSNumber *)isGeodesic:(NSDictionary*)polyline {
187+
return polyline[@"geodesic"];
188+
}
181189
@end

packages/google_maps_flutter/google_maps_flutter/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: google_maps_flutter
22
description: A Flutter plugin for integrating Google Maps in iOS and Android applications.
33
homepage: https://github.com/flutter/plugins/tree/master/packages/google_maps_flutter/google_maps_flutter
4-
version: 0.5.24+1
4+
version: 0.5.25
55

66
dependencies:
77
flutter:

0 commit comments

Comments
 (0)