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

Commit 5130752

Browse files
committedJan 27, 2017
[ios, macos] added a distance formatter
1 parent 164d156 commit 5130752

File tree

10 files changed

+122
-0
lines changed

10 files changed

+122
-0
lines changed
 
+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#import <Foundation/Foundation.h>
2+
#import <CoreLocation/CoreLocation.h>
3+
4+
#import "MGLFoundation.h"
5+
6+
NS_ASSUME_NONNULL_BEGIN
7+
8+
/**
9+
`MGLDistanceFormatter` implements a formatter object meant to be used for
10+
geographic distances. The user’s current locale will be used by default
11+
but it can be overriden by changing the locale property of the numberFormatter.
12+
*/
13+
MGL_EXPORT
14+
@interface MGLDistanceFormatter : NSLengthFormatter
15+
16+
/**
17+
Returns a localized formatted string for the provided distance.
18+
19+
@param distance The distance, measured in meters.
20+
@return A localized formatted distance string including units.
21+
*/
22+
- (NSString *)stringFromDistance:(CLLocationDistance)distance;
23+
24+
@end
25+
26+
NS_ASSUME_NONNULL_END
+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#import "MGLDistanceFormatter.h"
2+
3+
@interface MGLDistanceFormatter()
4+
@end
5+
6+
@implementation MGLDistanceFormatter
7+
8+
static const CLLocationDistance METERS_PER_MILE = 1609.344;
9+
static const double YARDS_PER_MILE = 1760.0;
10+
static const double FEET_PER_MILE = YARDS_PER_MILE * 3.0;
11+
12+
- (NSString *)stringFromDistance:(CLLocationDistance)distance {
13+
double miles = distance / METERS_PER_MILE;
14+
double feet = miles * FEET_PER_MILE;
15+
16+
NSLengthFormatterUnit unit = NSLengthFormatterUnitMillimeter;
17+
[self unitStringFromMeters:distance usedUnit:&unit];
18+
19+
self.numberFormatter.roundingIncrement = @0.25;
20+
21+
if (unit == NSLengthFormatterUnitYard) {
22+
if (miles > 0.2) {
23+
unit = NSLengthFormatterUnitMile;
24+
return [self stringFromValue:miles unit:unit];
25+
} else {
26+
unit = NSLengthFormatterUnitFoot;
27+
self.numberFormatter.roundingIncrement = @50;
28+
return [self stringFromValue:feet unit:unit];
29+
}
30+
} else {
31+
return [self stringFromMeters:distance];
32+
}
33+
}
34+
35+
@end
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
#import <Mapbox/Mapbox.h>
2+
#import <XCTest/XCTest.h>
3+
4+
@interface MGLDistanceFormatterTests : XCTestCase
5+
6+
@end
7+
8+
@implementation MGLDistanceFormatterTests
9+
10+
- (void)testAbbreviatedMetricUnits {
11+
MGLDistanceFormatter *formatter = [[MGLDistanceFormatter alloc] init];
12+
formatter.numberFormatter.locale = [NSLocale localeWithLocaleIdentifier:@"en_CA"];
13+
for (CLLocationDistance distance=0; distance <= 10000; distance+=5) {
14+
NSString *unit = [[formatter stringFromDistance:distance] componentsSeparatedByString:@" "][1];
15+
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF IN %@", @[@"mm", @"cm", @"m", @"km"]];
16+
XCTAssert([predicate evaluateWithObject:unit], @"Should only contain metric units");
17+
}
18+
}
19+
20+
- (void)testAbbreviatedImperialUnits {
21+
MGLDistanceFormatter *formatter = [[MGLDistanceFormatter alloc] init];
22+
formatter.numberFormatter.locale = [NSLocale localeWithLocaleIdentifier:@"en_US"];
23+
for (CLLocationDistance distance=0; distance <= 10000; distance+=5) {
24+
NSString *unit = [[formatter stringFromDistance:distance] componentsSeparatedByString:@" "][1];
25+
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF IN %@", @[@"ft", @"mi"]];
26+
XCTAssert([predicate evaluateWithObject:unit], @"Should only contain imperial units");
27+
}
28+
}
29+
30+
@end

‎platform/ios/CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ Mapbox welcomes participation and contributions from everyone. Please read [CONT
2727
* Fixed an issue where translucent, non-view-backed point annotations along tile boundaries would be drawn darker than expected. ([#6832](https://github.com/mapbox/mapbox-gl-native/pull/6832))
2828
* Fixed flickering that occurred when panning past the antimeridian. ([#7574](https://github.com/mapbox/mapbox-gl-native/pull/7574))
2929
* Fixed an issue that could prevent a cached style from appearing while the device is offline. ([#7770](https://github.com/mapbox/mapbox-gl-native/pull/7770))
30+
* Added `MGLDistanceFormatter` which can be used to format geographic distances. ([#7888](https://github.com/mapbox/mapbox-gl-native/pull/7888))
3031

3132
## 3.4.0
3233

‎platform/ios/ios.xcodeproj/project.pbxproj

+14
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,8 @@
7474
354B83981D2E873E005D9406 /* MGLUserLocationAnnotationView.m in Sources */ = {isa = PBXBuildFile; fileRef = 354B83951D2E873E005D9406 /* MGLUserLocationAnnotationView.m */; };
7575
354B83991D2E873E005D9406 /* MGLUserLocationAnnotationView.m in Sources */ = {isa = PBXBuildFile; fileRef = 354B83951D2E873E005D9406 /* MGLUserLocationAnnotationView.m */; };
7676
354B839C1D2E9B48005D9406 /* MBXUserLocationAnnotationView.m in Sources */ = {isa = PBXBuildFile; fileRef = 354B839B1D2E9B48005D9406 /* MBXUserLocationAnnotationView.m */; };
77+
3557F7B01E1D27D300CCA5E6 /* MGLDistanceFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = 3557F7AE1E1D27D300CCA5E6 /* MGLDistanceFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; };
78+
3557F7B21E1D27D300CCA5E6 /* MGLDistanceFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 3557F7AF1E1D27D300CCA5E6 /* MGLDistanceFormatter.m */; };
7779
35599DED1D46F14E0048254D /* MGLStyleValue.mm in Sources */ = {isa = PBXBuildFile; fileRef = 35599DEA1D46F14E0048254D /* MGLStyleValue.mm */; };
7880
35599DEE1D46F14E0048254D /* MGLStyleValue.mm in Sources */ = {isa = PBXBuildFile; fileRef = 35599DEA1D46F14E0048254D /* MGLStyleValue.mm */; };
7981
3566C7661D4A77BA008152BC /* MGLShapeSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 3566C7641D4A77BA008152BC /* MGLShapeSource.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -96,6 +98,7 @@
9698
357FE2DE1E02D2B20068B753 /* NSCoder+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 357FE2DB1E02D2B20068B753 /* NSCoder+MGLAdditions.h */; };
9799
357FE2DF1E02D2B20068B753 /* NSCoder+MGLAdditions.mm in Sources */ = {isa = PBXBuildFile; fileRef = 357FE2DC1E02D2B20068B753 /* NSCoder+MGLAdditions.mm */; };
98100
357FE2E01E02D2B20068B753 /* NSCoder+MGLAdditions.mm in Sources */ = {isa = PBXBuildFile; fileRef = 357FE2DC1E02D2B20068B753 /* NSCoder+MGLAdditions.mm */; };
101+
3598544D1E1D38AA00B29F84 /* MGLDistanceFormatterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3598544C1E1D38AA00B29F84 /* MGLDistanceFormatterTests.m */; };
99102
3599A3E61DF708BC00E77FB2 /* MGLStyleValueTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3599A3E51DF708BC00E77FB2 /* MGLStyleValueTests.m */; };
100103
359F57461D2FDDA6005217F1 /* MGLUserLocationAnnotationView_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 359F57451D2FDBD5005217F1 /* MGLUserLocationAnnotationView_Private.h */; };
101104
35B82BF81D6C5F8400B1B721 /* NSPredicate+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 35B82BF61D6C5F8400B1B721 /* NSPredicate+MGLAdditions.h */; };
@@ -552,6 +555,8 @@
552555
354B83951D2E873E005D9406 /* MGLUserLocationAnnotationView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGLUserLocationAnnotationView.m; sourceTree = "<group>"; };
553556
354B839A1D2E9B48005D9406 /* MBXUserLocationAnnotationView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MBXUserLocationAnnotationView.h; sourceTree = "<group>"; };
554557
354B839B1D2E9B48005D9406 /* MBXUserLocationAnnotationView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MBXUserLocationAnnotationView.m; sourceTree = "<group>"; };
558+
3557F7AE1E1D27D300CCA5E6 /* MGLDistanceFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLDistanceFormatter.h; sourceTree = "<group>"; };
559+
3557F7AF1E1D27D300CCA5E6 /* MGLDistanceFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGLDistanceFormatter.m; sourceTree = "<group>"; };
555560
35599DEA1D46F14E0048254D /* MGLStyleValue.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MGLStyleValue.mm; sourceTree = "<group>"; };
556561
3566C7641D4A77BA008152BC /* MGLShapeSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLShapeSource.h; sourceTree = "<group>"; };
557562
3566C7651D4A77BA008152BC /* MGLShapeSource.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MGLShapeSource.mm; sourceTree = "<group>"; };
@@ -567,6 +572,7 @@
567572
357F09091DF84F3800941873 /* MGLStyleValueTests.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MGLStyleValueTests.h; path = ../../darwin/test/MGLStyleValueTests.h; sourceTree = "<group>"; };
568573
357FE2DB1E02D2B20068B753 /* NSCoder+MGLAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSCoder+MGLAdditions.h"; path = "../../darwin/src/NSCoder+MGLAdditions.h"; sourceTree = "<group>"; };
569574
357FE2DC1E02D2B20068B753 /* NSCoder+MGLAdditions.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = "NSCoder+MGLAdditions.mm"; path = "../../darwin/src/NSCoder+MGLAdditions.mm"; sourceTree = "<group>"; };
575+
3598544C1E1D38AA00B29F84 /* MGLDistanceFormatterTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLDistanceFormatterTests.m; path = ../../darwin/test/MGLDistanceFormatterTests.m; sourceTree = "<group>"; };
570576
3599A3E51DF708BC00E77FB2 /* MGLStyleValueTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLStyleValueTests.m; path = ../../darwin/test/MGLStyleValueTests.m; sourceTree = "<group>"; };
571577
359F57451D2FDBD5005217F1 /* MGLUserLocationAnnotationView_Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MGLUserLocationAnnotationView_Private.h; sourceTree = "<group>"; };
572578
35B82BF61D6C5F8400B1B721 /* NSPredicate+MGLAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSPredicate+MGLAdditions.h"; sourceTree = "<group>"; };
@@ -1099,6 +1105,7 @@
10991105
DA35A2A91CCA058D00E826B2 /* MGLCoordinateFormatterTests.m */,
11001106
6407D66F1E0085FD00F6A9C3 /* MGLDocumentationExampleTests.swift */,
11011107
DD58A4C51D822BD000E1F038 /* MGLExpressionTests.mm */,
1108+
3598544C1E1D38AA00B29F84 /* MGLDistanceFormatterTests.m */,
11021109
DA0CD58F1CF56F6A00A5F5A5 /* MGLFeatureTests.mm */,
11031110
DA2E885C1CC0382C00F24E7B /* MGLGeometryTests.mm */,
11041111
35E208A61D24210F00EC9A46 /* MGLNSDataAdditionsTests.m */,
@@ -1316,6 +1323,8 @@
13161323
DA35A2B01CCA141D00E826B2 /* MGLCompassDirectionFormatter.m */,
13171324
DA35A29D1CC9E94C00E826B2 /* MGLCoordinateFormatter.h */,
13181325
DA35A2A01CC9E95F00E826B2 /* MGLCoordinateFormatter.m */,
1326+
3557F7AE1E1D27D300CCA5E6 /* MGLDistanceFormatter.h */,
1327+
3557F7AF1E1D27D300CCA5E6 /* MGLDistanceFormatter.m */,
13191328
);
13201329
name = Formatters;
13211330
sourceTree = "<group>";
@@ -1545,6 +1554,7 @@
15451554
DA8848851CBB033F00AB86E3 /* FABKitProtocol.h in Headers */,
15461555
DA88481B1CBAFA6200AB86E3 /* MGLGeometry_Private.h in Headers */,
15471556
3510FFF91D6DCC4700F413B2 /* NSCompoundPredicate+MGLAdditions.h in Headers */,
1557+
3557F7B01E1D27D300CCA5E6 /* MGLDistanceFormatter.h in Headers */,
15481558
DA72620B1DEEE3480043BB89 /* MGLOpenGLStyleLayer.h in Headers */,
15491559
404C26E71D89C55D000AA13D /* MGLTileSource_Private.h in Headers */,
15501560
DA88485C1CBAFB9800AB86E3 /* MGLFaux3DUserLocationAnnotationView.h in Headers */,
@@ -1625,6 +1635,7 @@
16251635
354B83971D2E873E005D9406 /* MGLUserLocationAnnotationView.h in Headers */,
16261636
DAF0D8111DFE0EA000B28378 /* MGLRasterSource_Private.h in Headers */,
16271637
DABFB86B1CBE99E500D62B32 /* MGLTilePyramidOfflineRegion.h in Headers */,
1638+
3557F7B11E1D27D300CCA5E6 /* MGLDistanceFormatter.h in Headers */,
16281639
4018B1CB1CDC288E00F666AF /* MGLAnnotationView.h in Headers */,
16291640
DABFB85F1CBE99E500D62B32 /* MGLGeometry.h in Headers */,
16301641
7E016D851D9E890300A29A21 /* MGLPolygon+MGLAdditions.h in Headers */,
@@ -1961,6 +1972,7 @@
19611972
DA2E88611CC0382C00F24E7B /* MGLGeometryTests.mm in Sources */,
19621973
357579801D501E09000B822E /* MGLFillStyleLayerTests.mm in Sources */,
19631974
35D9DDE21DA25EEC00DAAD69 /* MGLCodingTests.m in Sources */,
1975+
3598544D1E1D38AA00B29F84 /* MGLDistanceFormatterTests.m in Sources */,
19641976
DA2E88641CC0382C00F24E7B /* MGLOfflineStorageTests.m in Sources */,
19651977
DA2DBBCE1D51E80400D38FF9 /* MGLStyleLayerTests.m in Sources */,
19661978
DA35A2C61CCA9F8300E826B2 /* MGLCompassDirectionFormatterTests.m in Sources */,
@@ -2020,6 +2032,7 @@
20202032
35136D451D42275100C20EFD /* MGLSymbolStyleLayer.mm in Sources */,
20212033
35599DED1D46F14E0048254D /* MGLStyleValue.mm in Sources */,
20222034
DA8848211CBAFA6200AB86E3 /* MGLOfflinePack.mm in Sources */,
2035+
3557F7B21E1D27D300CCA5E6 /* MGLDistanceFormatter.m in Sources */,
20232036
DA8848591CBAFB9800AB86E3 /* MGLMapView.mm in Sources */,
20242037
DA8848501CBAFB9800AB86E3 /* MGLAnnotationImage.m in Sources */,
20252038
DA8848281CBAFA6200AB86E3 /* MGLShape.mm in Sources */,
@@ -2095,6 +2108,7 @@
20952108
DAA4E4251CBB730400178DFB /* MGLShape.mm in Sources */,
20962109
35136D461D42275100C20EFD /* MGLSymbolStyleLayer.mm in Sources */,
20972110
35599DEE1D46F14E0048254D /* MGLStyleValue.mm in Sources */,
2111+
3557F7B31E1D27D300CCA5E6 /* MGLDistanceFormatter.m in Sources */,
20982112
DAA4E42B1CBB730400178DFB /* NSString+MGLAdditions.m in Sources */,
20992113
DAA4E4261CBB730400178DFB /* MGLStyle.mm in Sources */,
21002114
DAA4E41D1CBB730400178DFB /* MGLGeometry.mm in Sources */,

‎platform/ios/jazzy.yml

+1
Original file line numberDiff line numberDiff line change
@@ -115,3 +115,4 @@ custom_categories:
115115
- MGLClockDirectionFormatter
116116
- MGLCompassDirectionFormatter
117117
- MGLCoordinateFormatter
118+
- MGLDistanceFormatter

‎platform/ios/src/Mapbox.h

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ FOUNDATION_EXPORT MGL_EXPORT const unsigned char MapboxVersionString[];
1616
#import "MGLClockDirectionFormatter.h"
1717
#import "MGLCompassDirectionFormatter.h"
1818
#import "MGLCoordinateFormatter.h"
19+
#import "MGLDistanceFormatter.h"
1920
#import "MGLFeature.h"
2021
#import "MGLGeometry.h"
2122
#import "MGLMapCamera.h"

‎platform/macos/jazzy.yml

+1
Original file line numberDiff line numberDiff line change
@@ -103,3 +103,4 @@ custom_categories:
103103
- MGLClockDirectionFormatter
104104
- MGLCompassDirectionFormatter
105105
- MGLCoordinateFormatter
106+
- MGLDistanceFormatter

‎platform/macos/macos.xcodeproj/project.pbxproj

+12
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,9 @@
4242
35C5D8481D6DD66D00E95907 /* NSComparisonPredicate+MGLAdditions.mm in Sources */ = {isa = PBXBuildFile; fileRef = 35C5D8441D6DD66D00E95907 /* NSComparisonPredicate+MGLAdditions.mm */; };
4343
35C5D8491D6DD66D00E95907 /* NSCompoundPredicate+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 35C5D8451D6DD66D00E95907 /* NSCompoundPredicate+MGLAdditions.h */; };
4444
35C5D84A1D6DD66D00E95907 /* NSCompoundPredicate+MGLAdditions.mm in Sources */ = {isa = PBXBuildFile; fileRef = 35C5D8461D6DD66D00E95907 /* NSCompoundPredicate+MGLAdditions.mm */; };
45+
35C6DF841E214C0400ACA483 /* MGLDistanceFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = 35C6DF821E214C0400ACA483 /* MGLDistanceFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; };
46+
35C6DF851E214C0400ACA483 /* MGLDistanceFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 35C6DF831E214C0400ACA483 /* MGLDistanceFormatter.m */; };
47+
35C6DF871E214C1800ACA483 /* MGLDistanceFormatterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 35C6DF861E214C1800ACA483 /* MGLDistanceFormatterTests.m */; };
4548
35D65C5A1D65AD5500722C23 /* NSDate+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 35D65C581D65AD5500722C23 /* NSDate+MGLAdditions.h */; };
4649
35D65C5B1D65AD5500722C23 /* NSDate+MGLAdditions.mm in Sources */ = {isa = PBXBuildFile; fileRef = 35D65C591D65AD5500722C23 /* NSDate+MGLAdditions.mm */; };
4750
4049C2A51DB6CE7F00B3F799 /* MGLPointCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = 4049C2A11DB6CE7800B3F799 /* MGLPointCollection.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -291,6 +294,9 @@
291294
35C5D8451D6DD66D00E95907 /* NSCompoundPredicate+MGLAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSCompoundPredicate+MGLAdditions.h"; sourceTree = "<group>"; };
292295
35C5D8461D6DD66D00E95907 /* NSCompoundPredicate+MGLAdditions.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = "NSCompoundPredicate+MGLAdditions.mm"; sourceTree = "<group>"; };
293296
35C5D84B1D6DD75B00E95907 /* MGLPredicateTests.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = MGLPredicateTests.mm; path = ../../darwin/test/MGLPredicateTests.mm; sourceTree = "<group>"; };
297+
35C6DF821E214C0400ACA483 /* MGLDistanceFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLDistanceFormatter.h; sourceTree = "<group>"; };
298+
35C6DF831E214C0400ACA483 /* MGLDistanceFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGLDistanceFormatter.m; sourceTree = "<group>"; };
299+
35C6DF861E214C1800ACA483 /* MGLDistanceFormatterTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLDistanceFormatterTests.m; path = ../../darwin/test/MGLDistanceFormatterTests.m; sourceTree = "<group>"; };
294300
35D65C581D65AD5500722C23 /* NSDate+MGLAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSDate+MGLAdditions.h"; sourceTree = "<group>"; };
295301
35D65C591D65AD5500722C23 /* NSDate+MGLAdditions.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = "NSDate+MGLAdditions.mm"; sourceTree = "<group>"; };
296302
4049C2A11DB6CE7800B3F799 /* MGLPointCollection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLPointCollection.h; sourceTree = "<group>"; };
@@ -757,6 +763,8 @@
757763
DA35A2AC1CCA091800E826B2 /* MGLCompassDirectionFormatter.m */,
758764
DA35A2A31CC9EB1A00E826B2 /* MGLCoordinateFormatter.h */,
759765
DA35A2A51CC9EB2700E826B2 /* MGLCoordinateFormatter.m */,
766+
35C6DF821E214C0400ACA483 /* MGLDistanceFormatter.h */,
767+
35C6DF831E214C0400ACA483 /* MGLDistanceFormatter.m */,
760768
);
761769
name = Formatters;
762770
sourceTree = "<group>";
@@ -891,6 +899,7 @@
891899
DA35A2A71CC9F41600E826B2 /* MGLCoordinateFormatterTests.m */,
892900
DA2987591E1A4290002299F5 /* MGLDocumentationExampleTests.swift */,
893901
DD58A4C71D822C6200E1F038 /* MGLExpressionTests.mm */,
902+
35C6DF861E214C1800ACA483 /* MGLDistanceFormatterTests.m */,
894903
DA0CD58D1CF56F5800A5F5A5 /* MGLFeatureTests.mm */,
895904
DAE6C3C81CC34BD800DB3429 /* MGLGeometryTests.mm */,
896905
DAE7DEC31E24549F007505A6 /* MGLNSStringAdditionsTests.m */,
@@ -1031,6 +1040,7 @@
10311040
DAE6C3651CC31E0400DB3429 /* MGLPolyline.h in Headers */,
10321041
DAE6C39A1CC31E2A00DB3429 /* NSProcessInfo+MGLAdditions.h in Headers */,
10331042
DA8F258B1D51CA540010E6B5 /* MGLLineStyleLayer.h in Headers */,
1043+
35C6DF841E214C0400ACA483 /* MGLDistanceFormatter.h in Headers */,
10341044
DA8F25B21D51CB270010E6B5 /* NSValue+MGLStyleAttributeAdditions.h in Headers */,
10351045
359819591E02F611008FC139 /* NSCoder+MGLAdditions.h in Headers */,
10361046
DAE6C38E1CC31E2A00DB3429 /* MGLOfflineStorage_Private.h in Headers */,
@@ -1293,6 +1303,7 @@
12931303
DA6408D81DA4E5DA00908C90 /* MGLVectorStyleLayer.m in Sources */,
12941304
DA8F25B31D51CB270010E6B5 /* NSValue+MGLStyleAttributeAdditions.mm in Sources */,
12951305
DAE6C3911CC31E2A00DB3429 /* MGLPolygon.mm in Sources */,
1306+
35C6DF851E214C0400ACA483 /* MGLDistanceFormatter.m in Sources */,
12961307
DAE6C39B1CC31E2A00DB3429 /* NSProcessInfo+MGLAdditions.m in Sources */,
12971308
DAE6C38F1CC31E2A00DB3429 /* MGLOfflineStorage.mm in Sources */,
12981309
DAED38601D62CED700D7640F /* NSURL+MGLAdditions.m in Sources */,
@@ -1326,6 +1337,7 @@
13261337
DAE6C3D61CC34C9900DB3429 /* MGLStyleTests.mm in Sources */,
13271338
DAEDC4371D606291000224FF /* MGLAttributionButtonTests.m in Sources */,
13281339
DA35A2B61CCA14D700E826B2 /* MGLCompassDirectionFormatterTests.m in Sources */,
1340+
35C6DF871E214C1800ACA483 /* MGLDistanceFormatterTests.m in Sources */,
13291341
DAE6C3D21CC34C9900DB3429 /* MGLGeometryTests.mm in Sources */,
13301342
DA87A9A41DCACC5000810D09 /* MGLSymbolStyleLayerTests.mm in Sources */,
13311343
DAE6C3D51CC34C9900DB3429 /* MGLOfflineStorageTests.m in Sources */,

‎platform/macos/src/Mapbox.h

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ FOUNDATION_EXPORT MGL_EXPORT const unsigned char MapboxVersionString[];
1414
#import "MGLClockDirectionFormatter.h"
1515
#import "MGLCompassDirectionFormatter.h"
1616
#import "MGLCoordinateFormatter.h"
17+
#import "MGLDistanceFormatter.h"
1718
#import "MGLFeature.h"
1819
#import "MGLGeometry.h"
1920
#import "MGLMapCamera.h"

0 commit comments

Comments
 (0)