summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.jazzy.yaml4
-rw-r--r--platform/darwin/include/MGLClockDirectionFormatter.h52
-rw-r--r--platform/darwin/include/MGLCompassDirectionFormatter.h42
-rw-r--r--platform/darwin/include/MGLDirectionFormatter.h77
-rw-r--r--platform/darwin/src/MGLClockDirectionFormatter.m64
-rw-r--r--platform/darwin/src/MGLCompassDirectionFormatter.m (renamed from platform/darwin/src/MGLDirectionFormatter.m)51
-rw-r--r--platform/darwin/test/MGLClockDirectionFormatterTests.m49
-rw-r--r--platform/darwin/test/MGLCompassDirectionFormatterTests.m (renamed from platform/darwin/test/MGLDirectionFormatterTests.m)58
-rw-r--r--platform/ios/framework/Mapbox.h3
-rw-r--r--platform/ios/ios.xcodeproj/project.pbxproj44
-rw-r--r--platform/osx/osx.xcodeproj/project.pbxproj36
-rw-r--r--platform/osx/sdk/Mapbox.h3
12 files changed, 278 insertions, 205 deletions
diff --git a/.jazzy.yaml b/.jazzy.yaml
index e6ed144282..e14b7f803e 100644
--- a/.jazzy.yaml
+++ b/.jazzy.yaml
@@ -57,6 +57,8 @@ custom_categories:
- NSValue(MGLOfflinePackAdditions)
- name: Geometry
children:
+ - MGLClockDirectionFormatter
+ - MGLCompassDirectionFormatter
- MGLCoordinateBounds
- MGLCoordinateBoundsEqualToCoordinateBounds
- MGLCoordinateBoundsGetCoordinateSpan
@@ -69,8 +71,6 @@ custom_categories:
- MGLCoordinateSpanMake
- MGLCoordinateSpanZero
- MGLDegreesFromRadians
- - MGLDirectionFormatter
- - MGLDirectionFormatterOrigin
- MGLRadiansFromDegrees
- MGLStringFromCoordinateBounds
- NSValue(MGLGeometryAdditions)
diff --git a/platform/darwin/include/MGLClockDirectionFormatter.h b/platform/darwin/include/MGLClockDirectionFormatter.h
new file mode 100644
index 0000000000..e748a15847
--- /dev/null
+++ b/platform/darwin/include/MGLClockDirectionFormatter.h
@@ -0,0 +1,52 @@
+#import <Foundation/Foundation.h>
+#import <CoreLocation/CoreLocation.h>
+
+#import "MGLTypes.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ The `MGLClockDirectionFormatter` class provides properly formatted descriptions
+ of headings relative to the user, known as <i>clock positions</i>. For
+ example, a value of `90` may be formatted as “3 o’clock”, depending on the
+ locale.
+
+ Use this class to create localized heading strings when displaying directions
+ relative to the user’s current location and heading. To format a direction
+ irrespective of the user’s orientation, use `MGLCompassDirectionFormatter`
+ instead.
+ */
+@interface MGLClockDirectionFormatter : NSFormatter
+
+/**
+ The unit style used by this formatter.
+
+ This property defaults to `NSFormattingUnitStyleMedium`.
+ */
+@property (nonatomic) NSFormattingUnitStyle unitStyle;
+
+/**
+ The locale of the receiver.
+
+ The locale determines the output language and numeral system of the output.
+ */
+@property (copy) NSLocale *locale;
+
+/**
+ Returns a clock position string for the provided value.
+
+ @param direction The heading, measured in degrees, where 0° means “straight
+ ahead” and 90° means “directly to your right”.
+ @return The clock position string appropriately formatted for the receiver’s
+ locale.
+ */
+- (NSString *)stringFromDirection:(CLLocationDirection)direction;
+
+/**
+ This method is not supported for the `MGLDirectionFormatter` class.
+ */
+- (BOOL)getObjectValue:(out id __nullable * __nullable)obj forString:(NSString *)string errorDescription:(out NSString * __nullable * __nullable)error;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/platform/darwin/include/MGLCompassDirectionFormatter.h b/platform/darwin/include/MGLCompassDirectionFormatter.h
new file mode 100644
index 0000000000..d7c3113291
--- /dev/null
+++ b/platform/darwin/include/MGLCompassDirectionFormatter.h
@@ -0,0 +1,42 @@
+#import <Foundation/Foundation.h>
+#import <CoreLocation/CoreLocation.h>
+
+#import "MGLTypes.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ The `MGLCompassDirectionFormatter` class provides properly formatted
+ descriptions of absolute headings. For example, a value of `90` may be
+ formatted as “east”, depending on the locale.
+
+ Use this class to create localized heading strings when displaying directions
+ irrespective of the user’s current location. To format a direction relative to
+ the user’s current location, use `MGLCompassDirectionFormatter` instead.
+ */
+@interface MGLCompassDirectionFormatter : NSFormatter
+
+/**
+ The unit style used by this formatter.
+
+ This property defaults to `NSFormattingUnitStyleMedium`.
+ */
+@property (nonatomic) NSFormattingUnitStyle unitStyle;
+
+/**
+ Returns a heading string for the provided value.
+
+ @param direction The heading, measured in degrees, where 0° means “due north”
+ and 90° means “due east”.
+ @return The heading string appropriately formatted for the formatter’s locale.
+ */
+- (NSString *)stringFromDirection:(CLLocationDirection)direction;
+
+/**
+ This method is not supported for the `MGLDirectionFormatter` class.
+ */
+- (BOOL)getObjectValue:(out id __nullable * __nullable)obj forString:(NSString *)string errorDescription:(out NSString * __nullable * __nullable)error;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/platform/darwin/include/MGLDirectionFormatter.h b/platform/darwin/include/MGLDirectionFormatter.h
deleted file mode 100644
index 9091292e22..0000000000
--- a/platform/darwin/include/MGLDirectionFormatter.h
+++ /dev/null
@@ -1,77 +0,0 @@
-#import <Foundation/Foundation.h>
-#import <CoreLocation/CoreLocation.h>
-
-#import "MGLTypes.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-/**
- The reference point for an `MGLDirectionFormatter`.
- */
-typedef NS_ENUM(NSUInteger, MGLDirectionFormatterOrigin) {
- /**
- Directions are assumed to be relative to true north and are given as
- compass directions, such as “south” for a value of `90`.
- */
- MGLDirectionFormatterOriginNorth = 0,
- /**
- Directions are assumed to be relative to the direction in which the user is
- facing and are given as “clock directions”, such as “6 o’clock” for a value
- of `90`.
- */
- MGLDirectionFormatterOriginStraightAhead,
-};
-
-/**
- The `MGLDirectionFormatter` class provides properly formatted descriptions of
- absolute or relative headings. Use this class to create localized heading
- strings when displaying directional information to users.
- */
-@interface MGLDirectionFormatter : NSFormatter
-
-/**
- The receiver’s reference point. The receiver’s input is assumed to be relative
- to this reference point, and its output is given in the conventional form for
- directions with this reference point.
-
- This class does not convert between different reference points. To convert an
- `CLLocationDirection` with respect to true north into a `CLLocationDirection`
- with respect to the direction in which the user is currently facing, use Core
- Location to determine the user’s current heading.
-
- The default value of this property is `MGLDirectionFormatterOriginNorth`, which
- means a value of `0` is formatted as “north” in the receiver’s locale.
- */
-@property (nonatomic) MGLDirectionFormatterOrigin origin;
-
-/**
- The unit style used by this formatter.
-
- This property defaults to `NSFormattingUnitStyleMedium`.
- */
-@property (nonatomic) NSFormattingUnitStyle unitStyle;
-
-/**
- The locale of the receiver.
-
- The locale determines the output language as well as the numeral system used
- when the `relativeToUser` property is set to `YES`.
- */
-@property (copy) NSLocale *locale;
-
-/**
- Returns a heading string for the provided value.
-
- @param direction The heading, measured in degrees.
- @return The heading string appropriately formatted for the formatter’s locale.
- */
-- (NSString *)stringFromDirection:(CLLocationDirection)direction;
-
-/**
- This method is not supported for the `MGLDirectionFormatter` class.
- */
-- (BOOL)getObjectValue:(out id __nullable * __nullable)obj forString:(NSString *)string errorDescription:(out NSString * __nullable * __nullable)error;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/platform/darwin/src/MGLClockDirectionFormatter.m b/platform/darwin/src/MGLClockDirectionFormatter.m
new file mode 100644
index 0000000000..56740e74e3
--- /dev/null
+++ b/platform/darwin/src/MGLClockDirectionFormatter.m
@@ -0,0 +1,64 @@
+#import "MGLClockDirectionFormatter.h"
+
+#define wrap(value, min, max) \
+ (fmod((fmod((value - min), (max - min)) + (max - min)), (max - min)) + min)
+
+@implementation MGLClockDirectionFormatter {
+ NSNumberFormatter *_numberFormatter;
+}
+
+- (instancetype)init {
+ if (self = [super init]) {
+ _unitStyle = NSFormattingUnitStyleMedium;
+ _numberFormatter = [[NSNumberFormatter alloc] init];
+ }
+ return self;
+}
+
+- (NSLocale *)locale {
+ return _numberFormatter.locale;
+}
+
+- (void)setLocale:(NSLocale *)locale {
+ _numberFormatter.locale = locale;
+}
+
+- (NSString *)stringFromDirection:(CLLocationDirection)direction {
+ NSInteger hour = round(-wrap(-direction, -360, 0) / 360 * 12);
+ NSString *format;
+ NSNumberFormatterStyle style = NSNumberFormatterDecimalStyle;
+ switch (self.unitStyle) {
+ case NSFormattingUnitStyleShort:
+ format = NSLocalizedString(@"%@:00", @"Clock position format, short style");
+ break;
+
+ case NSFormattingUnitStyleMedium:
+ format = NSLocalizedString(@"%@ o’clock", @"Clock position format, medium style");
+
+ break;
+
+ case NSFormattingUnitStyleLong:
+ format = NSLocalizedString(@"%@ o’clock", @"Clock position format, long style");
+ style = NSNumberFormatterSpellOutStyle;
+ break;
+
+ default:
+ break;
+ }
+ _numberFormatter.numberStyle = style;
+ return [NSString stringWithFormat:format, [_numberFormatter stringFromNumber:@(hour)]];
+}
+
+- (nullable NSString *)stringForObjectValue:(id)obj {
+ if (![obj isKindOfClass:[NSValue class]]) {
+ return nil;
+ }
+ return [self stringFromDirection:[obj doubleValue]];
+}
+
+- (BOOL)getObjectValue:(out id __nullable * __nullable)obj forString:(NSString *)string errorDescription:(out NSString * __nullable * __nullable)error {
+ NSAssert(NO, @"-getObjectValue:forString:errorDescription: has not been implemented");
+ return NO;
+}
+
+@end
diff --git a/platform/darwin/src/MGLDirectionFormatter.m b/platform/darwin/src/MGLCompassDirectionFormatter.m
index ca0468f508..efda5705a4 100644
--- a/platform/darwin/src/MGLDirectionFormatter.m
+++ b/platform/darwin/src/MGLCompassDirectionFormatter.m
@@ -1,63 +1,18 @@
-#import "MGLDirectionFormatter.h"
+#import "MGLCompassDirectionFormatter.h"
#define wrap(value, min, max) \
(fmod((fmod((value - min), (max - min)) + (max - min)), (max - min)) + min)
-@implementation MGLDirectionFormatter {
- NSNumberFormatter *_numberFormatter;
-}
+@implementation MGLCompassDirectionFormatter
- (instancetype)init {
if (self = [super init]) {
_unitStyle = NSFormattingUnitStyleMedium;
- _numberFormatter = [[NSNumberFormatter alloc] init];
}
return self;
}
-- (NSLocale *)locale {
- return _numberFormatter.locale;
-}
-
-- (void)setLocale:(NSLocale *)locale {
- _numberFormatter.locale = locale;
-}
-
- (NSString *)stringFromDirection:(CLLocationDirection)direction {
- if (self.origin == MGLDirectionFormatterOriginNorth) {
- return [self stringFromAbsoluteDirection:direction];
- } else {
- return [self stringFromRelativeDirection:direction];
- }
-}
-
-- (NSString *)stringFromRelativeDirection:(CLLocationDirection)direction {
- NSInteger hour = round(-wrap(-direction, -360, 0) / 360 * 12);
- NSString *format;
- NSNumberFormatterStyle style = NSNumberFormatterDecimalStyle;
- switch (self.unitStyle) {
- case NSFormattingUnitStyleShort:
- format = NSLocalizedString(@"%@:00", @"Relative heading format, short style");
- break;
-
- case NSFormattingUnitStyleMedium:
- format = NSLocalizedString(@"%@ o’clock", @"Relative heading format, medium style");
-
- break;
-
- case NSFormattingUnitStyleLong:
- format = NSLocalizedString(@"%@ o’clock", @"Relative heading format, long style");
- style = NSNumberFormatterSpellOutStyle;
- break;
-
- default:
- break;
- }
- _numberFormatter.numberStyle = style;
- return [NSString stringWithFormat:format, [_numberFormatter stringFromNumber:@(hour)]];
-}
-
-- (NSString *)stringFromAbsoluteDirection:(CLLocationDirection)direction {
static NS_ARRAY_OF(NSString *) *shortStrings;
static NS_ARRAY_OF(NSString *) *longStrings;
static dispatch_once_t onceToken;
@@ -138,7 +93,7 @@
NSLocalizedString(@"north by west", @"North by west, long"),
];
- NSAssert(shortStrings.count == longStrings.count, @"Long and short direction string arrays must have the same size.");
+ NSAssert(shortStrings.count == longStrings.count, @"Long and short compass direction string arrays must have the same size.");
});
NSInteger cardinalPoint = round(wrap(direction, 0, 360) / 360 * shortStrings.count);
diff --git a/platform/darwin/test/MGLClockDirectionFormatterTests.m b/platform/darwin/test/MGLClockDirectionFormatterTests.m
new file mode 100644
index 0000000000..b85f4bed8c
--- /dev/null
+++ b/platform/darwin/test/MGLClockDirectionFormatterTests.m
@@ -0,0 +1,49 @@
+#import <Mapbox/Mapbox.h>
+#import <XCTest/XCTest.h>
+
+static NSString * const MGLTestLocaleIdentifier = @"en-US";
+
+@interface MGLClockDirectionFormatterTests : XCTestCase
+
+@end
+
+@implementation MGLClockDirectionFormatterTests
+
+- (void)testClockDirections {
+ MGLClockDirectionFormatter *shortFormatter = [[MGLClockDirectionFormatter alloc] init];
+ shortFormatter.unitStyle = NSFormattingUnitStyleShort;
+ shortFormatter.locale = [NSLocale localeWithLocaleIdentifier:MGLTestLocaleIdentifier];
+
+ MGLClockDirectionFormatter *mediumFormatter = [[MGLClockDirectionFormatter alloc] init];
+ mediumFormatter.locale = [NSLocale localeWithLocaleIdentifier:MGLTestLocaleIdentifier];
+
+ MGLClockDirectionFormatter *longFormatter = [[MGLClockDirectionFormatter alloc] init];
+ longFormatter.unitStyle = NSFormattingUnitStyleLong;
+ longFormatter.locale = [NSLocale localeWithLocaleIdentifier:MGLTestLocaleIdentifier];
+
+ XCTAssertEqualObjects(@"9:00", [shortFormatter stringFromDirection:-90]);
+ XCTAssertEqualObjects(@"9 o’clock", [mediumFormatter stringFromDirection:-90]);
+ XCTAssertEqualObjects(@"nine o’clock", [longFormatter stringFromDirection:-90]);
+
+ XCTAssertEqualObjects(@"12:00", [shortFormatter stringFromDirection:0]);
+ XCTAssertEqualObjects(@"12 o’clock", [mediumFormatter stringFromDirection:0]);
+ XCTAssertEqualObjects(@"twelve o’clock", [longFormatter stringFromDirection:0]);
+
+ XCTAssertEqualObjects(@"2:00", [shortFormatter stringFromDirection:45]);
+ XCTAssertEqualObjects(@"2 o’clock", [mediumFormatter stringFromDirection:45]);
+ XCTAssertEqualObjects(@"two o’clock", [longFormatter stringFromDirection:45]);
+
+ XCTAssertEqualObjects(@"3:00", [shortFormatter stringFromDirection:90]);
+ XCTAssertEqualObjects(@"3 o’clock", [mediumFormatter stringFromDirection:90]);
+ XCTAssertEqualObjects(@"three o’clock", [longFormatter stringFromDirection:90]);
+
+ XCTAssertEqualObjects(@"6:00", [shortFormatter stringFromDirection:180]);
+ XCTAssertEqualObjects(@"6 o’clock", [mediumFormatter stringFromDirection:180]);
+ XCTAssertEqualObjects(@"six o’clock", [longFormatter stringFromDirection:180]);
+
+ XCTAssertEqualObjects(@"9:00", [shortFormatter stringFromDirection:270]);
+ XCTAssertEqualObjects(@"9 o’clock", [mediumFormatter stringFromDirection:270]);
+ XCTAssertEqualObjects(@"nine o’clock", [longFormatter stringFromDirection:270]);
+}
+
+@end
diff --git a/platform/darwin/test/MGLDirectionFormatterTests.m b/platform/darwin/test/MGLCompassDirectionFormatterTests.m
index 81c5223068..034e07818b 100644
--- a/platform/darwin/test/MGLDirectionFormatterTests.m
+++ b/platform/darwin/test/MGLCompassDirectionFormatterTests.m
@@ -1,27 +1,21 @@
#import <Mapbox/Mapbox.h>
#import <XCTest/XCTest.h>
-static NSString * const MGLTestLocaleIdentifier = @"en-US";
-
-@interface MGLDirectionFormatterTests : XCTestCase
+@interface MGLCompassDirectionFormatterTests : XCTestCase
@end
-@implementation MGLDirectionFormatterTests
+@implementation MGLCompassDirectionFormatterTests
-- (void)testAbsoluteDirections {
- MGLDirectionFormatter *shortFormatter = [[MGLDirectionFormatter alloc] init];
- XCTAssertEqual(shortFormatter.origin, MGLDirectionFormatterOriginNorth, @"Reference point should be north by default.");
+- (void)testCompassDirections {
+ MGLCompassDirectionFormatter *shortFormatter = [[MGLCompassDirectionFormatter alloc] init];
shortFormatter.unitStyle = NSFormattingUnitStyleShort;
- shortFormatter.locale = [NSLocale localeWithLocaleIdentifier:MGLTestLocaleIdentifier];
- MGLDirectionFormatter *mediumFormatter = [[MGLDirectionFormatter alloc] init];
+ MGLCompassDirectionFormatter *mediumFormatter = [[MGLCompassDirectionFormatter alloc] init];
XCTAssertEqual(mediumFormatter.unitStyle, NSFormattingUnitStyleMedium, @"Unit style should be medium by default.");
- mediumFormatter.locale = [NSLocale localeWithLocaleIdentifier:MGLTestLocaleIdentifier];
- MGLDirectionFormatter *longFormatter = [[MGLDirectionFormatter alloc] init];
+ MGLCompassDirectionFormatter *longFormatter = [[MGLCompassDirectionFormatter alloc] init];
longFormatter.unitStyle = NSFormattingUnitStyleLong;
- longFormatter.locale = [NSLocale localeWithLocaleIdentifier:MGLTestLocaleIdentifier];
XCTAssertEqualObjects(@"NW", [shortFormatter stringFromDirection:-45]);
XCTAssertEqualObjects(@"northwest", [mediumFormatter stringFromDirection:-45]);
@@ -68,44 +62,4 @@ static NSString * const MGLTestLocaleIdentifier = @"en-US";
XCTAssertEqualObjects([mediumFormatter stringFromDirection:720], [longFormatter stringFromDirection:720]);
}
-- (void)testRelativeDirections {
- MGLDirectionFormatter *shortFormatter = [[MGLDirectionFormatter alloc] init];
- shortFormatter.origin = MGLDirectionFormatterOriginStraightAhead;
- shortFormatter.unitStyle = NSFormattingUnitStyleShort;
- shortFormatter.locale = [NSLocale localeWithLocaleIdentifier:MGLTestLocaleIdentifier];
-
- MGLDirectionFormatter *mediumFormatter = [[MGLDirectionFormatter alloc] init];
- mediumFormatter.origin = MGLDirectionFormatterOriginStraightAhead;
- mediumFormatter.locale = [NSLocale localeWithLocaleIdentifier:MGLTestLocaleIdentifier];
-
- MGLDirectionFormatter *longFormatter = [[MGLDirectionFormatter alloc] init];
- longFormatter.origin = MGLDirectionFormatterOriginStraightAhead;
- longFormatter.unitStyle = NSFormattingUnitStyleLong;
- longFormatter.locale = [NSLocale localeWithLocaleIdentifier:MGLTestLocaleIdentifier];
-
- XCTAssertEqualObjects(@"9:00", [shortFormatter stringFromDirection:-90]);
- XCTAssertEqualObjects(@"9 o’clock", [mediumFormatter stringFromDirection:-90]);
- XCTAssertEqualObjects(@"nine o’clock", [longFormatter stringFromDirection:-90]);
-
- XCTAssertEqualObjects(@"12:00", [shortFormatter stringFromDirection:0]);
- XCTAssertEqualObjects(@"12 o’clock", [mediumFormatter stringFromDirection:0]);
- XCTAssertEqualObjects(@"twelve o’clock", [longFormatter stringFromDirection:0]);
-
- XCTAssertEqualObjects(@"2:00", [shortFormatter stringFromDirection:45]);
- XCTAssertEqualObjects(@"2 o’clock", [mediumFormatter stringFromDirection:45]);
- XCTAssertEqualObjects(@"two o’clock", [longFormatter stringFromDirection:45]);
-
- XCTAssertEqualObjects(@"3:00", [shortFormatter stringFromDirection:90]);
- XCTAssertEqualObjects(@"3 o’clock", [mediumFormatter stringFromDirection:90]);
- XCTAssertEqualObjects(@"three o’clock", [longFormatter stringFromDirection:90]);
-
- XCTAssertEqualObjects(@"6:00", [shortFormatter stringFromDirection:180]);
- XCTAssertEqualObjects(@"6 o’clock", [mediumFormatter stringFromDirection:180]);
- XCTAssertEqualObjects(@"six o’clock", [longFormatter stringFromDirection:180]);
-
- XCTAssertEqualObjects(@"9:00", [shortFormatter stringFromDirection:270]);
- XCTAssertEqualObjects(@"9 o’clock", [mediumFormatter stringFromDirection:270]);
- XCTAssertEqualObjects(@"nine o’clock", [longFormatter stringFromDirection:270]);
-}
-
@end
diff --git a/platform/ios/framework/Mapbox.h b/platform/ios/framework/Mapbox.h
index db6aba1495..7afe2f77a8 100644
--- a/platform/ios/framework/Mapbox.h
+++ b/platform/ios/framework/Mapbox.h
@@ -10,8 +10,9 @@ FOUNDATION_EXPORT const unsigned char MapboxVersionString[];
#import "MGLAnnotation.h"
#import "MGLAnnotationImage.h"
#import "MGLCalloutView.h"
+#import "MGLClockDirectionFormatter.h"
+#import "MGLCompassDirectionFormatter.h"
#import "MGLCoordinateFormatter.h"
-#import "MGLDirectionFormatter.h"
#import "MGLMapCamera.h"
#import "MGLGeometry.h"
#import "MGLMapView.h"
diff --git a/platform/ios/ios.xcodeproj/project.pbxproj b/platform/ios/ios.xcodeproj/project.pbxproj
index 5ee63c1c5c..20b0cd96a9 100644
--- a/platform/ios/ios.xcodeproj/project.pbxproj
+++ b/platform/ios/ios.xcodeproj/project.pbxproj
@@ -33,10 +33,16 @@
DA35A2A11CC9E95F00E826B2 /* MGLCoordinateFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2A01CC9E95F00E826B2 /* MGLCoordinateFormatter.m */; };
DA35A2A21CC9E95F00E826B2 /* MGLCoordinateFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2A01CC9E95F00E826B2 /* MGLCoordinateFormatter.m */; };
DA35A2AA1CCA058D00E826B2 /* MGLCoordinateFormatterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2A91CCA058D00E826B2 /* MGLCoordinateFormatterTests.m */; };
- DA35A2B11CCA141D00E826B2 /* MGLDirectionFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = DA35A2AF1CCA141D00E826B2 /* MGLDirectionFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; };
- DA35A2B21CCA141D00E826B2 /* MGLDirectionFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = DA35A2AF1CCA141D00E826B2 /* MGLDirectionFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; };
- DA35A2B31CCA141D00E826B2 /* MGLDirectionFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2B01CCA141D00E826B2 /* MGLDirectionFormatter.m */; };
- DA35A2B41CCA141D00E826B2 /* MGLDirectionFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2B01CCA141D00E826B2 /* MGLDirectionFormatter.m */; };
+ DA35A2B11CCA141D00E826B2 /* MGLCompassDirectionFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = DA35A2AF1CCA141D00E826B2 /* MGLCompassDirectionFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ DA35A2B21CCA141D00E826B2 /* MGLCompassDirectionFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = DA35A2AF1CCA141D00E826B2 /* MGLCompassDirectionFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ DA35A2B31CCA141D00E826B2 /* MGLCompassDirectionFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2B01CCA141D00E826B2 /* MGLCompassDirectionFormatter.m */; };
+ DA35A2B41CCA141D00E826B2 /* MGLCompassDirectionFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2B01CCA141D00E826B2 /* MGLCompassDirectionFormatter.m */; };
+ DA35A2B81CCA9A5D00E826B2 /* MGLClockDirectionFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2B71CCA9A5D00E826B2 /* MGLClockDirectionFormatter.m */; };
+ DA35A2B91CCA9A5D00E826B2 /* MGLClockDirectionFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2B71CCA9A5D00E826B2 /* MGLClockDirectionFormatter.m */; };
+ DA35A2BB1CCA9A6900E826B2 /* MGLClockDirectionFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = DA35A2BA1CCA9A6900E826B2 /* MGLClockDirectionFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ DA35A2BC1CCA9A6900E826B2 /* MGLClockDirectionFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = DA35A2BA1CCA9A6900E826B2 /* MGLClockDirectionFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ DA35A2C51CCA9F8300E826B2 /* MGLClockDirectionFormatterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2C31CCA9F8300E826B2 /* MGLClockDirectionFormatterTests.m */; };
+ DA35A2C61CCA9F8300E826B2 /* MGLCompassDirectionFormatterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2C41CCA9F8300E826B2 /* MGLCompassDirectionFormatterTests.m */; };
DA4A26941CB6E337000B7809 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DA1DC9561CB6C1C2006E619F /* Main.storyboard */; };
DA4A26951CB6E337000B7809 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DA1DC95B1CB6C1C2006E619F /* LaunchScreen.storyboard */; };
DA8847D91CBAF91600AB86E3 /* Mapbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA8847D21CBAF91600AB86E3 /* Mapbox.framework */; };
@@ -281,8 +287,12 @@
DA35A29D1CC9E94C00E826B2 /* MGLCoordinateFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MGLCoordinateFormatter.h; path = include/MGLCoordinateFormatter.h; sourceTree = "<group>"; };
DA35A2A01CC9E95F00E826B2 /* MGLCoordinateFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLCoordinateFormatter.m; path = src/MGLCoordinateFormatter.m; sourceTree = "<group>"; };
DA35A2A91CCA058D00E826B2 /* MGLCoordinateFormatterTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLCoordinateFormatterTests.m; path = ../../darwin/test/MGLCoordinateFormatterTests.m; sourceTree = "<group>"; };
- DA35A2AF1CCA141D00E826B2 /* MGLDirectionFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MGLDirectionFormatter.h; path = include/MGLDirectionFormatter.h; sourceTree = "<group>"; };
- DA35A2B01CCA141D00E826B2 /* MGLDirectionFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLDirectionFormatter.m; path = src/MGLDirectionFormatter.m; sourceTree = "<group>"; };
+ DA35A2AF1CCA141D00E826B2 /* MGLCompassDirectionFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MGLCompassDirectionFormatter.h; path = include/MGLCompassDirectionFormatter.h; sourceTree = "<group>"; };
+ DA35A2B01CCA141D00E826B2 /* MGLCompassDirectionFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLCompassDirectionFormatter.m; path = src/MGLCompassDirectionFormatter.m; sourceTree = "<group>"; };
+ DA35A2B71CCA9A5D00E826B2 /* MGLClockDirectionFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLClockDirectionFormatter.m; path = src/MGLClockDirectionFormatter.m; sourceTree = "<group>"; };
+ DA35A2BA1CCA9A6900E826B2 /* MGLClockDirectionFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MGLClockDirectionFormatter.h; path = include/MGLClockDirectionFormatter.h; sourceTree = "<group>"; };
+ DA35A2C31CCA9F8300E826B2 /* MGLClockDirectionFormatterTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLClockDirectionFormatterTests.m; path = ../../darwin/test/MGLClockDirectionFormatterTests.m; sourceTree = "<group>"; };
+ DA35A2C41CCA9F8300E826B2 /* MGLCompassDirectionFormatterTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLCompassDirectionFormatterTests.m; path = ../../darwin/test/MGLCompassDirectionFormatterTests.m; sourceTree = "<group>"; };
DA4A26961CB6E795000B7809 /* Mapbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Mapbox.framework; sourceTree = BUILT_PRODUCTS_DIR; };
DA8847D21CBAF91600AB86E3 /* Mapbox.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Mapbox.framework; sourceTree = BUILT_PRODUCTS_DIR; };
DA8847D61CBAF91600AB86E3 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
@@ -517,6 +527,8 @@
DA2E88521CC036F400F24E7B /* SDK Tests */ = {
isa = PBXGroup;
children = (
+ DA35A2C31CCA9F8300E826B2 /* MGLClockDirectionFormatterTests.m */,
+ DA35A2C41CCA9F8300E826B2 /* MGLCompassDirectionFormatterTests.m */,
DA35A2A91CCA058D00E826B2 /* MGLCoordinateFormatterTests.m */,
DA2E885C1CC0382C00F24E7B /* MGLGeometryTests.mm */,
DA2E885D1CC0382C00F24E7B /* MGLOfflinePackTests.m */,
@@ -549,10 +561,12 @@
DA8847FF1CBAFA6200AB86E3 /* MGLAccountManager_Private.h */,
DA8848001CBAFA6200AB86E3 /* MGLAccountManager.m */,
DA8847E01CBAFA5100AB86E3 /* MGLAnnotation.h */,
+ DA35A2BA1CCA9A6900E826B2 /* MGLClockDirectionFormatter.h */,
+ DA35A2B71CCA9A5D00E826B2 /* MGLClockDirectionFormatter.m */,
+ DA35A2AF1CCA141D00E826B2 /* MGLCompassDirectionFormatter.h */,
+ DA35A2B01CCA141D00E826B2 /* MGLCompassDirectionFormatter.m */,
DA35A29D1CC9E94C00E826B2 /* MGLCoordinateFormatter.h */,
DA35A2A01CC9E95F00E826B2 /* MGLCoordinateFormatter.m */,
- DA35A2AF1CCA141D00E826B2 /* MGLDirectionFormatter.h */,
- DA35A2B01CCA141D00E826B2 /* MGLDirectionFormatter.m */,
DA8847E11CBAFA5100AB86E3 /* MGLGeometry.h */,
DA8848011CBAFA6200AB86E3 /* MGLGeometry_Private.h */,
DA8848021CBAFA6200AB86E3 /* MGLGeometry.mm */,
@@ -735,6 +749,7 @@
buildActionMask = 2147483647;
files = (
DA88483A1CBAFB8500AB86E3 /* MGLAnnotationImage.h in Headers */,
+ DA35A2BB1CCA9A6900E826B2 /* MGLClockDirectionFormatter.h in Headers */,
DA8848861CBB033F00AB86E3 /* Fabric+FABKits.h in Headers */,
DA8848201CBAFA6200AB86E3 /* MGLOfflinePack_Private.h in Headers */,
DA8847FA1CBAFA5100AB86E3 /* MGLPolyline.h in Headers */,
@@ -762,7 +777,7 @@
DA88481E1CBAFA6200AB86E3 /* MGLMultiPoint_Private.h in Headers */,
DA35A29E1CC9E94C00E826B2 /* MGLCoordinateFormatter.h in Headers */,
DA8847F71CBAFA5100AB86E3 /* MGLOverlay.h in Headers */,
- DA35A2B11CCA141D00E826B2 /* MGLDirectionFormatter.h in Headers */,
+ DA35A2B11CCA141D00E826B2 /* MGLCompassDirectionFormatter.h in Headers */,
DA88488B1CBB037E00AB86E3 /* SMCalloutView.h in Headers */,
DA8847FE1CBAFA5100AB86E3 /* MGLTypes.h in Headers */,
DA8847F11CBAFA5100AB86E3 /* MGLGeometry.h in Headers */,
@@ -808,11 +823,12 @@
DABFB8681CBE99E500D62B32 /* MGLPolyline.h in Headers */,
DABFB86F1CBE9A0F00D62B32 /* MGLMapView.h in Headers */,
DABFB8631CBE99E500D62B32 /* MGLOfflineRegion.h in Headers */,
- DA35A2B21CCA141D00E826B2 /* MGLDirectionFormatter.h in Headers */,
+ DA35A2B21CCA141D00E826B2 /* MGLCompassDirectionFormatter.h in Headers */,
DABFB8731CBE9A9900D62B32 /* Mapbox.h in Headers */,
DABFB86B1CBE99E500D62B32 /* MGLTilePyramidOfflineRegion.h in Headers */,
DABFB85F1CBE99E500D62B32 /* MGLGeometry.h in Headers */,
DABFB85D1CBE99E500D62B32 /* MGLAccountManager.h in Headers */,
+ DA35A2BC1CCA9A6900E826B2 /* MGLClockDirectionFormatter.h in Headers */,
DABFB86E1CBE9A0F00D62B32 /* MGLCalloutView.h in Headers */,
DABFB8601CBE99E500D62B32 /* MGLMapCamera.h in Headers */,
DABFB86A1CBE99E500D62B32 /* MGLStyle.h in Headers */,
@@ -1041,6 +1057,8 @@
DA2E88651CC0382C00F24E7B /* MGLStyleTests.mm in Sources */,
DA2E88611CC0382C00F24E7B /* MGLGeometryTests.mm in Sources */,
DA2E88641CC0382C00F24E7B /* MGLOfflineStorageTests.m in Sources */,
+ DA35A2C61CCA9F8300E826B2 /* MGLCompassDirectionFormatterTests.m in Sources */,
+ DA35A2C51CCA9F8300E826B2 /* MGLClockDirectionFormatterTests.m in Sources */,
DA2E88621CC0382C00F24E7B /* MGLOfflinePackTests.m in Sources */,
DA35A2AA1CCA058D00E826B2 /* MGLCoordinateFormatterTests.m in Sources */,
);
@@ -1056,12 +1074,13 @@
DA88482D1CBAFA6200AB86E3 /* NSBundle+MGLAdditions.m in Sources */,
DA88485B1CBAFB9800AB86E3 /* MGLUserLocation.m in Sources */,
DA88488C1CBB037E00AB86E3 /* SMCalloutView.m in Sources */,
+ DA35A2B81CCA9A5D00E826B2 /* MGLClockDirectionFormatter.m in Sources */,
DA8848901CBB048E00AB86E3 /* reachability.m in Sources */,
DA8848211CBAFA6200AB86E3 /* MGLOfflinePack.mm in Sources */,
DA8848591CBAFB9800AB86E3 /* MGLMapView.mm in Sources */,
DA8848501CBAFB9800AB86E3 /* MGLAnnotationImage.m in Sources */,
DA8848281CBAFA6200AB86E3 /* MGLShape.m in Sources */,
- DA35A2B31CCA141D00E826B2 /* MGLDirectionFormatter.m in Sources */,
+ DA35A2B31CCA141D00E826B2 /* MGLCompassDirectionFormatter.m in Sources */,
DA8848321CBAFA6200AB86E3 /* NSString+MGLAdditions.m in Sources */,
DA35A2A11CC9E95F00E826B2 /* MGLCoordinateFormatter.m in Sources */,
DA8848291CBAFA6200AB86E3 /* MGLStyle.mm in Sources */,
@@ -1091,12 +1110,13 @@
DAA4E4201CBB730400178DFB /* MGLOfflinePack.mm in Sources */,
DAA4E4331CBB730400178DFB /* MGLUserLocation.m in Sources */,
DAA4E4351CBB730400178DFB /* SMCalloutView.m in Sources */,
+ DA35A2B91CCA9A5D00E826B2 /* MGLClockDirectionFormatter.m in Sources */,
DAA4E4251CBB730400178DFB /* MGLShape.m in Sources */,
DAA4E42B1CBB730400178DFB /* NSString+MGLAdditions.m in Sources */,
DAA4E4261CBB730400178DFB /* MGLStyle.mm in Sources */,
DAA4E41D1CBB730400178DFB /* MGLGeometry.mm in Sources */,
DAA4E41F1CBB730400178DFB /* MGLMultiPoint.mm in Sources */,
- DA35A2B41CCA141D00E826B2 /* MGLDirectionFormatter.m in Sources */,
+ DA35A2B41CCA141D00E826B2 /* MGLCompassDirectionFormatter.m in Sources */,
DAA4E4281CBB730400178DFB /* MGLTypes.m in Sources */,
DA35A2A21CC9E95F00E826B2 /* MGLCoordinateFormatter.m in Sources */,
DAA4E42D1CBB730400178DFB /* MGLAnnotationImage.m in Sources */,
diff --git a/platform/osx/osx.xcodeproj/project.pbxproj b/platform/osx/osx.xcodeproj/project.pbxproj
index f31d5f6e55..fe93d425aa 100644
--- a/platform/osx/osx.xcodeproj/project.pbxproj
+++ b/platform/osx/osx.xcodeproj/project.pbxproj
@@ -11,9 +11,12 @@
DA35A2A41CC9EB1A00E826B2 /* MGLCoordinateFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = DA35A2A31CC9EB1A00E826B2 /* MGLCoordinateFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; };
DA35A2A61CC9EB2700E826B2 /* MGLCoordinateFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2A51CC9EB2700E826B2 /* MGLCoordinateFormatter.m */; };
DA35A2A81CC9F41600E826B2 /* MGLCoordinateFormatterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2A71CC9F41600E826B2 /* MGLCoordinateFormatterTests.m */; };
- DA35A2AD1CCA091800E826B2 /* MGLDirectionFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = DA35A2AB1CCA091800E826B2 /* MGLDirectionFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; };
- DA35A2AE1CCA091800E826B2 /* MGLDirectionFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2AC1CCA091800E826B2 /* MGLDirectionFormatter.m */; };
- DA35A2B61CCA14D700E826B2 /* MGLDirectionFormatterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2B51CCA14D700E826B2 /* MGLDirectionFormatterTests.m */; };
+ DA35A2AD1CCA091800E826B2 /* MGLCompassDirectionFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = DA35A2AB1CCA091800E826B2 /* MGLCompassDirectionFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ DA35A2AE1CCA091800E826B2 /* MGLCompassDirectionFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2AC1CCA091800E826B2 /* MGLCompassDirectionFormatter.m */; };
+ DA35A2B61CCA14D700E826B2 /* MGLCompassDirectionFormatterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2B51CCA14D700E826B2 /* MGLCompassDirectionFormatterTests.m */; };
+ DA35A2BF1CCA9B1A00E826B2 /* MGLClockDirectionFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = DA35A2BD1CCA9B1A00E826B2 /* MGLClockDirectionFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ DA35A2C01CCA9B1A00E826B2 /* MGLClockDirectionFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2BE1CCA9B1A00E826B2 /* MGLClockDirectionFormatter.m */; };
+ DA35A2C21CCA9F4A00E826B2 /* MGLClockDirectionFormatterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2C11CCA9F4A00E826B2 /* MGLClockDirectionFormatterTests.m */; };
DA839E971CC2E3400062CAFB /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DA839E961CC2E3400062CAFB /* AppDelegate.m */; };
DA839E9A1CC2E3400062CAFB /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DA839E991CC2E3400062CAFB /* main.m */; };
DA839E9D1CC2E3400062CAFB /* MapDocument.m in Sources */ = {isa = PBXBuildFile; fileRef = DA839E9C1CC2E3400062CAFB /* MapDocument.m */; };
@@ -142,9 +145,12 @@
DA35A2A31CC9EB1A00E826B2 /* MGLCoordinateFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MGLCoordinateFormatter.h; path = include/MGLCoordinateFormatter.h; sourceTree = "<group>"; };
DA35A2A51CC9EB2700E826B2 /* MGLCoordinateFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLCoordinateFormatter.m; path = src/MGLCoordinateFormatter.m; sourceTree = "<group>"; };
DA35A2A71CC9F41600E826B2 /* MGLCoordinateFormatterTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLCoordinateFormatterTests.m; path = ../../darwin/test/MGLCoordinateFormatterTests.m; sourceTree = "<group>"; };
- DA35A2AB1CCA091800E826B2 /* MGLDirectionFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MGLDirectionFormatter.h; path = include/MGLDirectionFormatter.h; sourceTree = "<group>"; };
- DA35A2AC1CCA091800E826B2 /* MGLDirectionFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLDirectionFormatter.m; path = src/MGLDirectionFormatter.m; sourceTree = "<group>"; };
- DA35A2B51CCA14D700E826B2 /* MGLDirectionFormatterTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLDirectionFormatterTests.m; path = ../../darwin/test/MGLDirectionFormatterTests.m; sourceTree = "<group>"; };
+ DA35A2AB1CCA091800E826B2 /* MGLCompassDirectionFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MGLCompassDirectionFormatter.h; path = include/MGLCompassDirectionFormatter.h; sourceTree = "<group>"; };
+ DA35A2AC1CCA091800E826B2 /* MGLCompassDirectionFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLCompassDirectionFormatter.m; path = src/MGLCompassDirectionFormatter.m; sourceTree = "<group>"; };
+ DA35A2B51CCA14D700E826B2 /* MGLCompassDirectionFormatterTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLCompassDirectionFormatterTests.m; path = ../../darwin/test/MGLCompassDirectionFormatterTests.m; sourceTree = "<group>"; };
+ DA35A2BD1CCA9B1A00E826B2 /* MGLClockDirectionFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MGLClockDirectionFormatter.h; path = include/MGLClockDirectionFormatter.h; sourceTree = "<group>"; };
+ DA35A2BE1CCA9B1A00E826B2 /* MGLClockDirectionFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLClockDirectionFormatter.m; path = src/MGLClockDirectionFormatter.m; sourceTree = "<group>"; };
+ DA35A2C11CCA9F4A00E826B2 /* MGLClockDirectionFormatterTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLClockDirectionFormatterTests.m; path = ../../darwin/test/MGLClockDirectionFormatterTests.m; sourceTree = "<group>"; };
DA839E921CC2E3400062CAFB /* Mapbox GL.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Mapbox GL.app"; sourceTree = BUILT_PRODUCTS_DIR; };
DA839E951CC2E3400062CAFB /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
DA839E961CC2E3400062CAFB /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
@@ -357,8 +363,9 @@
DAE6C3371CC30DB200DB3429 /* SDK Tests */ = {
isa = PBXGroup;
children = (
+ DA35A2C11CCA9F4A00E826B2 /* MGLClockDirectionFormatterTests.m */,
+ DA35A2B51CCA14D700E826B2 /* MGLCompassDirectionFormatterTests.m */,
DA35A2A71CC9F41600E826B2 /* MGLCoordinateFormatterTests.m */,
- DA35A2B51CCA14D700E826B2 /* MGLDirectionFormatterTests.m */,
DAE6C3C81CC34BD800DB3429 /* MGLGeometryTests.mm */,
DAE6C3C91CC34BD800DB3429 /* MGLOfflinePackTests.m */,
DAE6C3CA1CC34BD800DB3429 /* MGLOfflineRegionTests.m */,
@@ -377,10 +384,12 @@
DAE6C36A1CC31E2A00DB3429 /* MGLAccountManager_Private.h */,
DAE6C36B1CC31E2A00DB3429 /* MGLAccountManager.m */,
DAE6C34B1CC31E0400DB3429 /* MGLAnnotation.h */,
+ DA35A2BD1CCA9B1A00E826B2 /* MGLClockDirectionFormatter.h */,
+ DA35A2BE1CCA9B1A00E826B2 /* MGLClockDirectionFormatter.m */,
+ DA35A2AB1CCA091800E826B2 /* MGLCompassDirectionFormatter.h */,
+ DA35A2AC1CCA091800E826B2 /* MGLCompassDirectionFormatter.m */,
DA35A2A31CC9EB1A00E826B2 /* MGLCoordinateFormatter.h */,
DA35A2A51CC9EB2700E826B2 /* MGLCoordinateFormatter.m */,
- DA35A2AB1CCA091800E826B2 /* MGLDirectionFormatter.h */,
- DA35A2AC1CCA091800E826B2 /* MGLDirectionFormatter.m */,
DAE6C34C1CC31E0400DB3429 /* MGLGeometry.h */,
DAE6C36C1CC31E2A00DB3429 /* MGLGeometry_Private.h */,
DAE6C36D1CC31E2A00DB3429 /* MGLGeometry.mm */,
@@ -488,6 +497,7 @@
DAE6C3661CC31E0400DB3429 /* MGLShape.h in Headers */,
DAE6C3C21CC31F4500DB3429 /* Mapbox.h in Headers */,
DAE6C3641CC31E0400DB3429 /* MGLPolygon.h in Headers */,
+ DA35A2BF1CCA9B1A00E826B2 /* MGLClockDirectionFormatter.h in Headers */,
DA35A2A41CC9EB1A00E826B2 /* MGLCoordinateFormatter.h in Headers */,
DAE6C3621CC31E0400DB3429 /* MGLOverlay.h in Headers */,
DAE6C3651CC31E0400DB3429 /* MGLPolyline.h in Headers */,
@@ -504,7 +514,7 @@
DAE6C3B91CC31EF300DB3429 /* MGLOpenGLLayer.h in Headers */,
DAE6C3891CC31E2A00DB3429 /* MGLMultiPoint_Private.h in Headers */,
DAE6C3A51CC31E9400DB3429 /* MGLMapView+IBAdditions.h in Headers */,
- DA35A2AD1CCA091800E826B2 /* MGLDirectionFormatter.h in Headers */,
+ DA35A2AD1CCA091800E826B2 /* MGLCompassDirectionFormatter.h in Headers */,
DAE6C3671CC31E0400DB3429 /* MGLStyle.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -670,6 +680,7 @@
DAE6C3941CC31E2A00DB3429 /* MGLStyle.mm in Sources */,
DAE6C3871CC31E2A00DB3429 /* MGLGeometry.mm in Sources */,
DAE6C3B81CC31EF300DB3429 /* MGLMapView+IBAdditions.m in Sources */,
+ DA35A2C01CCA9B1A00E826B2 /* MGLClockDirectionFormatter.m in Sources */,
DAE6C3BA1CC31EF300DB3429 /* MGLOpenGLLayer.mm in Sources */,
DAE6C38A1CC31E2A00DB3429 /* MGLMultiPoint.mm in Sources */,
DAE6C3961CC31E2A00DB3429 /* MGLTypes.m in Sources */,
@@ -682,7 +693,7 @@
DAE6C3851CC31E2A00DB3429 /* MGLAccountManager.m in Sources */,
DAE6C3921CC31E2A00DB3429 /* MGLPolyline.mm in Sources */,
DAE6C3B51CC31EF300DB3429 /* MGLCompassCell.m in Sources */,
- DA35A2AE1CCA091800E826B2 /* MGLDirectionFormatter.m in Sources */,
+ DA35A2AE1CCA091800E826B2 /* MGLCompassDirectionFormatter.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -690,9 +701,10 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
+ DA35A2C21CCA9F4A00E826B2 /* MGLClockDirectionFormatterTests.m in Sources */,
DAE6C3D41CC34C9900DB3429 /* MGLOfflineRegionTests.m in Sources */,
DAE6C3D61CC34C9900DB3429 /* MGLStyleTests.mm in Sources */,
- DA35A2B61CCA14D700E826B2 /* MGLDirectionFormatterTests.m in Sources */,
+ DA35A2B61CCA14D700E826B2 /* MGLCompassDirectionFormatterTests.m in Sources */,
DAE6C3D21CC34C9900DB3429 /* MGLGeometryTests.mm in Sources */,
DAE6C3D51CC34C9900DB3429 /* MGLOfflineStorageTests.m in Sources */,
DAE6C3D31CC34C9900DB3429 /* MGLOfflinePackTests.m in Sources */,
diff --git a/platform/osx/sdk/Mapbox.h b/platform/osx/sdk/Mapbox.h
index 4fc2e129c2..c7c030dbc2 100644
--- a/platform/osx/sdk/Mapbox.h
+++ b/platform/osx/sdk/Mapbox.h
@@ -9,7 +9,8 @@ FOUNDATION_EXPORT const unsigned char MapboxVersionString[];
#import <Mapbox/MGLAccountManager.h>
#import <Mapbox/MGLAnnotation.h>
#import <Mapbox/MGLAnnotationImage.h>
-#import <Mapbox/MGLDirectionFormatter.h>
+#import <Mapbox/MGLClockDirectionFormatter.h>
+#import <Mapbox/MGLCompassDirectionFormatter.h>
#import <Mapbox/MGLCoordinateFormatter.h>
#import <Mapbox/MGLGeometry.h>
#import <Mapbox/MGLMapCamera.h>