From f558f6bc4a12fc621589c0b0f50d42c18e00453c Mon Sep 17 00:00:00 2001 From: ituaijagbone Date: Thu, 29 Sep 2016 16:44:10 -0700 Subject: [ios, macos] Add feature initializer This adds a features initializer to MGLGeoJSONSource. The initializer takes shapes and converts them to JSON representation before passing to core. This also adds methods to the MGLShape concrete subclasses so that they can represent themselves in NSDictionary form suitable for transforming to JSON (GeoJSON). --- platform/darwin/src/MGLPolyline+MGLAdditions.m | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 platform/darwin/src/MGLPolyline+MGLAdditions.m (limited to 'platform/darwin/src/MGLPolyline+MGLAdditions.m') diff --git a/platform/darwin/src/MGLPolyline+MGLAdditions.m b/platform/darwin/src/MGLPolyline+MGLAdditions.m new file mode 100644 index 0000000000..e91e4fc192 --- /dev/null +++ b/platform/darwin/src/MGLPolyline+MGLAdditions.m @@ -0,0 +1,25 @@ +// +// MGLPolyline+MGLPolyline_MGLAdditions.m +// ios +// +// Created by Mapbox on 9/30/16. +// Copyright © 2016 Mapbox. All rights reserved. +// + +#import "MGLPolyline+MGLAdditions.h" + +@implementation MGLPolyline (MGLAdditions) + +- (NS_ARRAY_OF(id) *)mgl_coordinates { + + NS_MUTABLE_ARRAY_OF(NS_ARRAY_OF(NSNumber *) *) *coordinates = [NSMutableArray array]; + + for (NSUInteger index = 0; index < self.pointCount; index++) { + CLLocationCoordinate2D coordinate = self.coordinates[index]; + [coordinates addObject:@[@(coordinate.longitude), @(coordinate.latitude)]]; + } + + return coordinates; +} + +@end -- cgit v1.2.1