summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Guerra <fabian.guerra@mapbox.com>2018-05-08 09:30:44 -0400
committerFabian Guerra <fabian.guerra@mapbox.com>2018-05-11 17:48:18 -0400
commit020e416f7e7436a7b13d9b34aae6782732ff6f48 (patch)
treeb49bc54b77dac8e205d7bece7c8ae3d306f782a7
parente839bf52997249bdbe1373d4df6a257c7f779a5f (diff)
downloadqtlocation-mapboxgl-upstream/fabian-custom-lm-hd.tar.gz
[ios] Add MGLLocationManager.upstream/fabian-custom-lm-hd
-rw-r--r--platform/darwin/src/MGLLocationManager.h52
-rw-r--r--platform/darwin/src/MGLLocationManager.m88
-rw-r--r--platform/ios/app/MBXCustomLocationManager.h14
-rw-r--r--platform/ios/app/MBXCustomLocationManager.m96
-rw-r--r--platform/ios/app/MBXViewController.m17
-rw-r--r--platform/ios/app/coordinates.json276
-rw-r--r--platform/ios/app/white_house_lvl_0.geojson4747
-rw-r--r--platform/ios/ios.xcodeproj/project.pbxproj24
-rw-r--r--platform/ios/src/MGLMapView.h4
-rw-r--r--platform/ios/src/MGLMapView.mm23
-rw-r--r--platform/ios/src/Mapbox.h1
11 files changed, 5333 insertions, 9 deletions
diff --git a/platform/darwin/src/MGLLocationManager.h b/platform/darwin/src/MGLLocationManager.h
new file mode 100644
index 0000000000..665dc1adb4
--- /dev/null
+++ b/platform/darwin/src/MGLLocationManager.h
@@ -0,0 +1,52 @@
+//
+// MGLLocationManager.h
+// dynamic
+//
+// Created by Fabian Guerra Soto on 5/7/18.
+// Copyright © 2018 Mapbox. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <CoreLocation/CoreLocation.h>
+
+@protocol MGLLocationManagerDelegate;
+
+@protocol MGLLocationManager <NSObject>
+
+- (void)startUpdatingLocation;
+- (void)startUpdatingHeading;
+
+- (void)stopUpdatingLocation;
+- (void)stopUpdatingHeading;
+
+- (void)requestAlwaysAuthorization;
+- (void)requestWhenInUseAuthorization;
+
+- (void)setDelegate:(id<MGLLocationManagerDelegate>)delegate;
+
+- (void)setHeadingOrientation:(CLDeviceOrientation)headingOrientation;
+- (CLDeviceOrientation)headingOrientation;
+
+- (CLAuthorizationStatus)authorizationStatus;
+
+@optional
+@end
+
+@protocol MGLLocationManagerDelegate <NSObject>
+
+- (void)locationManager:(id<MGLLocationManager>)manager
+ didUpdateLocations:(NSArray<CLLocation *> *)locations;
+
+- (void)locationManager:(id<MGLLocationManager>)manager
+ didUpdateHeading:(CLHeading *)newHeading;
+
+@optional
+@end
+
+
+
+
+
+@interface MGLAppleLocationManager : NSObject<MGLLocationManager>
+
+@end
diff --git a/platform/darwin/src/MGLLocationManager.m b/platform/darwin/src/MGLLocationManager.m
new file mode 100644
index 0000000000..58c3ff7508
--- /dev/null
+++ b/platform/darwin/src/MGLLocationManager.m
@@ -0,0 +1,88 @@
+//
+// MGLLocationManager.m
+// dynamic
+//
+// Created by Fabian Guerra Soto on 5/7/18.
+// Copyright © 2018 Mapbox. All rights reserved.
+//
+
+#import "MGLLocationManager.h"
+
+@interface MGLAppleLocationManager()<CLLocationManagerDelegate>
+
+@property (nonatomic) CLLocationManager *locationManager;
+@property (nonatomic, weak) id<MGLLocationManagerDelegate> delegate;
+
+@end
+
+@implementation MGLAppleLocationManager
+
+- (instancetype)init
+{
+ if (self = [super init]) {
+ _locationManager = [[CLLocationManager alloc] init];
+ _locationManager.delegate = self;
+ }
+ return self;
+}
+
+- (void)startUpdatingLocation
+{
+ [self.locationManager startUpdatingLocation];
+}
+
+- (void)startUpdatingHeading
+{
+ [self.locationManager startUpdatingHeading];
+}
+
+- (void)stopUpdatingLocation
+{
+ [self.locationManager stopUpdatingLocation];
+}
+
+- (void)stopUpdatingHeading
+{
+ [self.locationManager stopUpdatingHeading];
+}
+
+- (void)requestAlwaysAuthorization
+{
+ [self.locationManager requestAlwaysAuthorization];
+}
+
+- (void)requestWhenInUseAuthorization
+{
+ [self.locationManager requestWhenInUseAuthorization];
+}
+
+- (void)setDelegate:(id<MGLLocationManagerDelegate>)delegate
+{
+ _delegate = delegate;
+}
+
+- (void)setHeadingOrientation:(CLDeviceOrientation)headingOrientation
+{
+ self.locationManager.headingOrientation = headingOrientation;
+}
+
+- (CLDeviceOrientation)headingOrientation
+{
+ return self.locationManager.headingOrientation;
+}
+
+- (CLAuthorizationStatus)authorizationStatus
+{
+ return [CLLocationManager authorizationStatus];
+}
+
+#pragma mark - User Location
+
+- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray<CLLocation *> *)locations
+{
+ if ([self.delegate respondsToSelector:@selector(locationManager:didUpdateLocations:)]) {
+ [self.delegate locationManager:self didUpdateLocations:locations];
+ }
+}
+
+@end
diff --git a/platform/ios/app/MBXCustomLocationManager.h b/platform/ios/app/MBXCustomLocationManager.h
new file mode 100644
index 0000000000..65ac078f71
--- /dev/null
+++ b/platform/ios/app/MBXCustomLocationManager.h
@@ -0,0 +1,14 @@
+//
+// MBXCustomLocationManager.h
+// iosapp
+//
+// Created by Fabian Guerra Soto on 5/11/18.
+// Copyright © 2018 Mapbox. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <Mapbox/Mapbox.h>
+
+@interface MBXCustomLocationManager : NSObject<MGLLocationManager>
+
+@end
diff --git a/platform/ios/app/MBXCustomLocationManager.m b/platform/ios/app/MBXCustomLocationManager.m
new file mode 100644
index 0000000000..0a5e31c494
--- /dev/null
+++ b/platform/ios/app/MBXCustomLocationManager.m
@@ -0,0 +1,96 @@
+//
+// MBXCustomLocationManager.m
+// iosapp
+//
+// Created by Fabian Guerra Soto on 5/11/18.
+// Copyright © 2018 Mapbox. All rights reserved.
+//
+
+#import "MBXCustomLocationManager.h"
+
+@interface MBXCustomLocationManager()
+@property (nonatomic) CLDeviceOrientation orientation;
+@property (nonatomic, weak) id<MGLLocationManagerDelegate>delegate;
+@property (nonatomic, strong) NSTimer *locationTimer;
+@property (nonatomic, strong) NSDictionary *coordiantes;
+@property (nonatomic) NSUInteger index;
+@end
+
+@implementation MBXCustomLocationManager
+
+- (instancetype)init
+{
+ if (self = [super init]) {
+ _coordiantes = [self JSONCoordinates];
+ _index = 0;
+ }
+ return self;
+}
+
+- (CLAuthorizationStatus)authorizationStatus {
+ return kCLAuthorizationStatusAuthorizedAlways;
+}
+
+- (CLDeviceOrientation)headingOrientation {
+ return _orientation;
+}
+
+- (void)requestAlwaysAuthorization {
+
+}
+
+- (void)requestWhenInUseAuthorization {
+
+}
+
+- (void)setDelegate:(id<MGLLocationManagerDelegate>)delegate {
+ _delegate = delegate;
+}
+
+- (void)setHeadingOrientation:(CLDeviceOrientation)headingOrientation {
+ _orientation = headingOrientation;
+}
+
+- (void)startUpdatingHeading {
+
+}
+
+- (void)startUpdatingLocation {
+ self.locationTimer = [NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(updateLocation) userInfo:nil repeats:YES];
+}
+
+- (void)stopUpdatingHeading {
+
+
+}
+
+- (void)stopUpdatingLocation {
+ [self.locationTimer invalidate];
+ self.locationTimer = nil;
+}
+
+- (void)updateLocation
+{
+ if ([self.delegate respondsToSelector:@selector(locationManager:didUpdateLocations:)]) {
+
+ NSArray *coors = [self.coordiantes objectForKey:@"coordinates"];
+ if (self.index >= [coors count] ) {
+ self.index = 0;
+ }
+ NSDictionary *loc = coors[self.index];
+ CLLocationDegrees latitude = [[loc objectForKey:@"latitude"] doubleValue];
+ CLLocationDegrees longitude = [[loc objectForKey:@"longitude"] doubleValue];
+ CLLocation *location = [[CLLocation alloc] initWithLatitude:latitude longitude:longitude];
+ self.index++;
+ [self.delegate locationManager:self didUpdateLocations:@[location]];
+ }
+}
+
+- (NSDictionary *)JSONCoordinates
+{
+ NSString *path = [[NSBundle mainBundle] pathForResource:@"coordinates" ofType:@"json"];
+ NSData *data = [NSData dataWithContentsOfFile:path];
+ return [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil];
+}
+
+@end
diff --git a/platform/ios/app/MBXViewController.m b/platform/ios/app/MBXViewController.m
index 80163c7d40..295aa6c847 100644
--- a/platform/ios/app/MBXViewController.m
+++ b/platform/ios/app/MBXViewController.m
@@ -6,6 +6,7 @@
#import "MBXAnnotationView.h"
#import "MBXUserLocationAnnotationView.h"
#import "MBXEmbeddedMapViewController.h"
+#import "MBXCustomLocationManager.h"
#import <Mapbox/Mapbox.h>
@@ -250,6 +251,9 @@ typedef NS_ENUM(NSInteger, MBXSettingsMiscellaneousRows) {
self.showZoomLevelEnabled = YES;
[self updateHUD];
}
+
+ self.mapView.locationManager = [[MBXCustomLocationManager alloc] init];
+ [self.mapView.locationManager startUpdatingLocation];
}
- (UIInterfaceOrientationMask)supportedInterfaceOrientations
@@ -1987,6 +1991,19 @@ typedef NS_ENUM(NSInteger, MBXSettingsMiscellaneousRows) {
// that a device with an English-language locale is already effectively
// using locale-based country labels.
_localizingLabels = [[self bestLanguageForUser] isEqualToString:@"en"];
+
+ NSString *filePath = [[NSBundle bundleForClass:self.class] pathForResource:@"white_house_lvl_0" ofType:@"geojson"];
+ NSURL *geoJSONURL = [NSURL fileURLWithPath:filePath];
+ MGLShapeSource *source = [[MGLShapeSource alloc] initWithIdentifier:@"white-house" URL:geoJSONURL options:nil];
+ [self.mapView.style addSource:source];
+
+ MGLFillStyleLayer *fillLayer = [[MGLFillStyleLayer alloc] initWithIdentifier:@"indoor-building-fil" source:source];
+ fillLayer.fillColor = [NSExpression expressionForConstantValue:[UIColor whiteColor]];
+ [self.mapView.style addLayer:fillLayer];
+
+ MGLLineStyleLayer *lineFillLayer = [[MGLLineStyleLayer alloc] initWithIdentifier:@"indoor-building-line" source:source];
+ lineFillLayer.lineColor = [NSExpression expressionForConstantValue:[UIColor blackColor]];
+ [self.mapView.style addLayer:lineFillLayer];
}
- (BOOL)mapView:(MGLMapView *)mapView shouldChangeFromCamera:(MGLMapCamera *)oldCamera toCamera:(MGLMapCamera *)newCamera {
diff --git a/platform/ios/app/coordinates.json b/platform/ios/app/coordinates.json
new file mode 100644
index 0000000000..32f5f7ff7d
--- /dev/null
+++ b/platform/ios/app/coordinates.json
@@ -0,0 +1,276 @@
+{
+ "coordinates":[
+ {
+ "latitude":38.8999341,
+ "longitude":-77.0336866
+ },
+ {
+ "latitude":38.8998548,
+ "longitude":-77.0336813
+ },
+ {
+ "latitude":38.8998005,
+ "longitude":-77.0336813
+ },
+ {
+ "latitude":38.8997337,
+ "longitude":-77.0336813
+ },
+ {
+ "latitude":38.8996711,
+ "longitude":-77.0336813
+ },
+ {
+ "latitude":38.8996001,
+ "longitude":-77.0336705
+ },
+ {
+ "latitude":38.8995250,
+ "longitude":-77.0336759
+ },
+ {
+ "latitude":38.8994498,
+ "longitude":-77.0336759
+ },
+ {
+ "latitude":38.8993538,
+ "longitude":-77.0336759
+ },
+ {
+ "latitude":38.8992787,
+ "longitude":-77.0336705
+ },
+ {
+ "latitude":38.8992077,
+ "longitude":-77.0336705
+ },
+ {
+ "latitude":38.8991200,
+ "longitude":-77.0336705
+ },
+ {
+ "latitude":38.8990282,
+ "longitude":-77.0336705
+ },
+ {
+ "latitude":38.8989447,
+ "longitude":-77.0336705
+ },
+ {
+ "latitude":38.8988403,
+ "longitude":-77.0336652
+ },
+ {
+ "latitude":38.8988069,
+ "longitude":-77.0338261
+ },
+ {
+ "latitude":38.8987860,
+ "longitude":-77.0339763
+ },
+ {
+ "latitude":38.8987735,
+ "longitude":-77.0341855
+ },
+ {
+ "latitude":38.8987735,
+ "longitude":-77.0342875
+ },
+ {
+ "latitude":38.8987735,
+ "longitude":-77.0344323
+ },
+ {
+ "latitude":38.8987735,
+ "longitude":-77.0345396
+ },
+ {
+ "latitude":38.8987735,
+ "longitude":-77.0346844
+ },
+ {
+ "latitude":38.8987735,
+ "longitude":-77.0348293
+ },
+ {
+ "latitude":38.8987735,
+ "longitude":-77.0349526
+ },
+ {
+ "latitude":38.8987735,
+ "longitude":-77.0350331
+ },
+ {
+ "latitude":38.8987735,
+ "longitude":-77.0351243
+ },
+ {
+ "latitude":38.8986900,
+ "longitude":-77.0351243
+ },
+ {
+ "latitude":38.8986357,
+ "longitude":-77.0351243
+ },
+ {
+ "latitude":38.8985815,
+ "longitude":-77.0351297
+ },
+ {
+ "latitude":38.8984896,
+ "longitude":-77.0351297
+ },
+ {
+ "latitude":38.8984312,
+ "longitude":-77.0351297
+ },
+ {
+ "latitude":38.8983727,
+ "longitude":-77.0351297
+ },
+ {
+ "latitude":38.8983059,
+ "longitude":-77.0351297
+ },
+ {
+ "latitude":38.8982266,
+ "longitude":-77.0351297
+ },
+ {
+ "latitude":38.8981556,
+ "longitude":-77.0351297
+ },
+ {
+ "latitude":38.8980846,
+ "longitude":-77.0351297
+ },
+ {
+ "latitude":38.8980220,
+ "longitude":-77.0351297
+ },
+ {
+ "latitude":38.8979510,
+ "longitude":-77.0351297
+ },
+ {
+ "latitude":38.8978842,
+ "longitude":-77.0351297
+ },
+ {
+ "latitude":38.8978759,
+ "longitude":-77.0351887
+ },
+ {
+ "latitude":38.8978759,
+ "longitude":-77.0352584
+ },
+ {
+ "latitude":38.8978675,
+ "longitude":-77.0353442
+ },
+ {
+ "latitude":38.8978634,
+ "longitude":-77.0354193
+ },
+ {
+ "latitude":38.8978508,
+ "longitude":-77.0354676
+ },
+ {
+ "latitude":38.8978341,
+ "longitude":-77.0355052
+ },
+ {
+ "latitude":38.8978007,
+ "longitude":-77.0355213
+ },
+ {
+ "latitude":38.8977673,
+ "longitude":-77.0355213
+ },
+ {
+ "latitude":38.8977256,
+ "longitude":-77.0355213
+ },
+ {
+ "latitude":38.8976755,
+ "longitude":-77.0355213
+ },
+ {
+ "latitude":38.8976254,
+ "longitude":-77.0355213
+ },
+ {
+ "latitude":38.8976212,
+ "longitude":-77.0356071
+ },
+ {
+ "latitude":38.8976212,
+ "longitude":-77.0356500
+ },
+ {
+ "latitude":38.8976212,
+ "longitude":-77.0357198
+ },
+ {
+ "latitude":38.8976170,
+ "longitude":-77.0357841
+ },
+ {
+ "latitude":38.8976337,
+ "longitude":-77.0358270
+ },
+ {
+ "latitude":38.8976421,
+ "longitude":-77.0358592
+ },
+ {
+ "latitude":38.8976463,
+ "longitude":-77.0359129
+ },
+ {
+ "latitude":38.8976463,
+ "longitude":-77.0359612
+ },
+ {
+ "latitude":38.8976463,
+ "longitude":-77.0360094
+ },
+ {
+ "latitude":38.8976463,
+ "longitude":-77.0360631
+ },
+ {
+ "latitude":38.8976463,
+ "longitude":-77.0361274
+ },
+ {
+ "latitude":38.8976421,
+ "longitude":-77.0361865
+ },
+ {
+ "latitude":38.8976421,
+ "longitude":-77.0362508
+ },
+ {
+ "latitude":38.8976421,
+ "longitude":-77.0362991
+ },
+ {
+ "latitude":38.8976421,
+ "longitude":-77.0363528
+ },
+ {
+ "latitude":38.8976463,
+ "longitude":-77.0364064
+ },
+ {
+ "latitude":38.8976463,
+ "longitude":-77.0364600
+ },
+ {
+ "latitude":38.8976797,
+ "longitude":-77.0365298
+ }
+ ]
+} \ No newline at end of file
diff --git a/platform/ios/app/white_house_lvl_0.geojson b/platform/ios/app/white_house_lvl_0.geojson
new file mode 100644
index 0000000000..deb2be2117
--- /dev/null
+++ b/platform/ios/app/white_house_lvl_0.geojson
@@ -0,0 +1,4747 @@
+{
+ "type": "FeatureCollection",
+ "features": [
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03751819528335,
+ 38.897399261725695
+ ],
+ [
+ -77.03749242985906,
+ 38.89739927665259
+ ],
+ [
+ -77.03748909188833,
+ 38.89739915565516
+ ],
+ [
+ -77.03748908456248,
+ 38.89738675560936
+ ],
+ [
+ -77.03748908350643,
+ 38.89738496808075
+ ],
+ [
+ -77.03751818679,
+ 38.897384957666226
+ ],
+ [
+ -77.03751819528335,
+ 38.897399261725695
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.0356628599211,
+ 38.89752427678342
+ ],
+ [
+ -77.03566324808605,
+ 38.897487641651075
+ ],
+ [
+ -77.03561744383563,
+ 38.89748728307421
+ ],
+ [
+ -77.03557319695129,
+ 38.897486998421535
+ ],
+ [
+ -77.03557285903454,
+ 38.897523681983074
+ ],
+ [
+ -77.0356628599211,
+ 38.89752427678342
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03678358115228,
+ 38.89764957286611
+ ],
+ [
+ -77.03678360162519,
+ 38.897628123025065
+ ],
+ [
+ -77.03685394944657,
+ 38.89762824111322
+ ],
+ [
+ -77.03685392062708,
+ 38.897649742921466
+ ],
+ [
+ -77.03678358115228,
+ 38.89764957286611
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03748909188833,
+ 38.89739915565516
+ ],
+ [
+ -77.0374565306735,
+ 38.89739921192618
+ ],
+ [
+ -77.03745892355825,
+ 38.897394704755634
+ ],
+ [
+ -77.03746101772985,
+ 38.897386575048756
+ ],
+ [
+ -77.03748908456248,
+ 38.89738675560936
+ ],
+ [
+ -77.03748909188833,
+ 38.89739915565516
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03566324808605,
+ 38.897487641651075
+ ],
+ [
+ -77.03566366824901,
+ 38.89744798651388
+ ],
+ [
+ -77.03561786839413,
+ 38.89744796201868
+ ],
+ [
+ -77.03561744383563,
+ 38.89748728307421
+ ],
+ [
+ -77.03566324808605,
+ 38.897487641651075
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03745729932719,
+ 38.89735249682294
+ ],
+ [
+ -77.03745729932719,
+ 38.89733339997339
+ ],
+ [
+ -77.03751834198142,
+ 38.897333589409016
+ ],
+ [
+ -77.03751822629172,
+ 38.897371882628725
+ ],
+ [
+ -77.0374621236535,
+ 38.89737152296883
+ ],
+ [
+ -77.03746169411053,
+ 38.8973662797251
+ ],
+ [
+ -77.03745876466279,
+ 38.8973569969156
+ ],
+ [
+ -77.03745729932719,
+ 38.89735249682294
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03561786839413,
+ 38.89744796201868
+ ],
+ [
+ -77.03557355958654,
+ 38.89744763144458
+ ],
+ [
+ -77.03557319695129,
+ 38.897486998421535
+ ],
+ [
+ -77.03561744383563,
+ 38.89748728307421
+ ],
+ [
+ -77.03561786839413,
+ 38.89744796201868
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03678360162519,
+ 38.897628123025065
+ ],
+ [
+ -77.03678357467031,
+ 38.89760582977174
+ ],
+ [
+ -77.03678378084892,
+ 38.89755790876986
+ ],
+ [
+ -77.03685400727859,
+ 38.897557949224044
+ ],
+ [
+ -77.03685399255902,
+ 38.897596075523055
+ ],
+ [
+ -77.03685394944657,
+ 38.89762824111322
+ ],
+ [
+ -77.03678360162519,
+ 38.897628123025065
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03751822629172,
+ 38.897371882628725
+ ],
+ [
+ -77.03751818679,
+ 38.897384957666226
+ ],
+ [
+ -77.03748908350643,
+ 38.89738496808075
+ ],
+ [
+ -77.03748908456248,
+ 38.89738675560936
+ ],
+ [
+ -77.03746101772985,
+ 38.897386575048756
+ ],
+ [
+ -77.03746238828211,
+ 38.897374753174816
+ ],
+ [
+ -77.0374621236535,
+ 38.89737152296883
+ ],
+ [
+ -77.03751822629172,
+ 38.897371882628725
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03743275267085,
+ 38.897439007993356
+ ],
+ [
+ -77.03743276965209,
+ 38.89745687129455
+ ],
+ [
+ -77.03741710894761,
+ 38.89745688031189
+ ],
+ [
+ -77.0374171162561,
+ 38.89746456837155
+ ],
+ [
+ -77.03738406237852,
+ 38.897464587403846
+ ],
+ [
+ -77.0373834915806,
+ 38.89742527697119
+ ],
+ [
+ -77.03739026957358,
+ 38.89742771879905
+ ],
+ [
+ -77.03740238153618,
+ 38.897430092249245
+ ],
+ [
+ -77.03741251711821,
+ 38.897429326634594
+ ],
+ [
+ -77.03741749932718,
+ 38.89742879997338
+ ],
+ [
+ -77.03742300546142,
+ 38.89742804382714
+ ],
+ [
+ -77.03743230713577,
+ 38.897423471911345
+ ],
+ [
+ -77.03743275267085,
+ 38.897439007993356
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03678358115228,
+ 38.89764957286611
+ ],
+ [
+ -77.03674399708453,
+ 38.8976495957241
+ ],
+ [
+ -77.03674412929708,
+ 38.89762803292509
+ ],
+ [
+ -77.03678360162519,
+ 38.897628123025065
+ ],
+ [
+ -77.03678358115228,
+ 38.89764957286611
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03782206747196,
+ 38.89743105521485
+ ],
+ [
+ -77.03779828286902,
+ 38.897431174806464
+ ],
+ [
+ -77.0377984763624,
+ 38.89745460202331
+ ],
+ [
+ -77.0378219355793,
+ 38.89745447655917
+ ],
+ [
+ -77.03782206747196,
+ 38.89743105521485
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03674412929708,
+ 38.89762803292509
+ ],
+ [
+ -77.03674428021733,
+ 38.897605560404095
+ ],
+ [
+ -77.03678357467031,
+ 38.89760582977174
+ ],
+ [
+ -77.03678360162519,
+ 38.897628123025065
+ ],
+ [
+ -77.03674412929708,
+ 38.89762803292509
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.0377984763624,
+ 38.89745460202331
+ ],
+ [
+ -77.03774328665504,
+ 38.897454461051474
+ ],
+ [
+ -77.03774337601037,
+ 38.89743950917589
+ ],
+ [
+ -77.03774333620927,
+ 38.897429200785574
+ ],
+ [
+ -77.03774338911107,
+ 38.89742034869453
+ ],
+ [
+ -77.03782212415496,
+ 38.897420549854964
+ ],
+ [
+ -77.03782206747196,
+ 38.89743105521485
+ ],
+ [
+ -77.03779828286902,
+ 38.897431174806464
+ ],
+ [
+ -77.0377984763624,
+ 38.89745460202331
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03674428021733,
+ 38.897605560404095
+ ],
+ [
+ -77.03674451811948,
+ 38.897557819650004
+ ],
+ [
+ -77.03678378084892,
+ 38.89755790876986
+ ],
+ [
+ -77.03678357467031,
+ 38.89760582977174
+ ],
+ [
+ -77.03674428021733,
+ 38.897605560404095
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03557355958654,
+ 38.89744763144458
+ ],
+ [
+ -77.03557380755844,
+ 38.89742071208779
+ ],
+ [
+ -77.03557412923122,
+ 38.89738579188495
+ ],
+ [
+ -77.0356181596354,
+ 38.89738603755532
+ ],
+ [
+ -77.0356179848805,
+ 38.897415387502384
+ ],
+ [
+ -77.03561786839413,
+ 38.89744796201868
+ ],
+ [
+ -77.03557355958654,
+ 38.89744763144458
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03736112599921,
+ 38.89740562991937
+ ],
+ [
+ -77.03736104079945,
+ 38.8974282777779
+ ],
+ [
+ -77.03732468820873,
+ 38.8974281949439
+ ],
+ [
+ -77.0373243162135,
+ 38.8974779834762
+ ],
+ [
+ -77.03741684195018,
+ 38.8974785827428
+ ],
+ [
+ -77.0374171162561,
+ 38.89746456837155
+ ],
+ [
+ -77.03738406237852,
+ 38.897464587403846
+ ],
+ [
+ -77.0373834915806,
+ 38.89742527697119
+ ],
+ [
+ -77.03737709319297,
+ 38.89742297189925
+ ],
+ [
+ -77.03736859902138,
+ 38.89741612499999
+ ],
+ [
+ -77.03736112599921,
+ 38.89740562991937
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03774328665504,
+ 38.897454461051474
+ ],
+ [
+ -77.03774321689156,
+ 38.89746613460469
+ ],
+ [
+ -77.03774242730863,
+ 38.89751970505121
+ ],
+ [
+ -77.0377424693756,
+ 38.89754171714957
+ ],
+ [
+ -77.03782145301793,
+ 38.89754214439088
+ ],
+ [
+ -77.0378219355793,
+ 38.89745447655917
+ ],
+ [
+ -77.0377984763624,
+ 38.89745460202331
+ ],
+ [
+ -77.03774328665504,
+ 38.897454461051474
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03566366824901,
+ 38.89744798651388
+ ],
+ [
+ -77.03566401287345,
+ 38.89741546071307
+ ],
+ [
+ -77.0356179848805,
+ 38.897415387502384
+ ],
+ [
+ -77.03561786839413,
+ 38.89744796201868
+ ],
+ [
+ -77.03566366824901,
+ 38.89744798651388
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03674428021733,
+ 38.897605560404095
+ ],
+ [
+ -77.03669907607481,
+ 38.89760542396934
+ ],
+ [
+ -77.0366989076499,
+ 38.897649554063
+ ],
+ [
+ -77.03674399708453,
+ 38.8976495957241
+ ],
+ [
+ -77.03674412929708,
+ 38.89762803292509
+ ],
+ [
+ -77.03674428021733,
+ 38.897605560404095
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.0377424693756,
+ 38.89754171714957
+ ],
+ [
+ -77.03774235211263,
+ 38.89757030970792
+ ],
+ [
+ -77.03774171577182,
+ 38.897606156838435
+ ],
+ [
+ -77.03782109932719,
+ 38.8976063999734
+ ],
+ [
+ -77.03782145301793,
+ 38.89754214439088
+ ],
+ [
+ -77.0377424693756,
+ 38.89754171714957
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03741684195018,
+ 38.8974785827428
+ ],
+ [
+ -77.03741638711098,
+ 38.897523495525526
+ ],
+ [
+ -77.03741550637595,
+ 38.89760110801017
+ ],
+ [
+ -77.03732282141236,
+ 38.897600470946045
+ ],
+ [
+ -77.0373243162135,
+ 38.8974779834762
+ ],
+ [
+ -77.03741684195018,
+ 38.8974785827428
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03566401287345,
+ 38.89741546071307
+ ],
+ [
+ -77.03574246582338,
+ 38.8974159642015
+ ],
+ [
+ -77.03574265616403,
+ 38.89738577735333
+ ],
+ [
+ -77.03574262934107,
+ 38.89738250333326
+ ],
+ [
+ -77.03561819858677,
+ 38.897381809064186
+ ],
+ [
+ -77.0356181596354,
+ 38.89738603755532
+ ],
+ [
+ -77.0356179848805,
+ 38.897415387502384
+ ],
+ [
+ -77.03566401287345,
+ 38.89741546071307
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03669907607481,
+ 38.89760542396934
+ ],
+ [
+ -77.03669925915283,
+ 38.89755745447133
+ ],
+ [
+ -77.03674451811948,
+ 38.897557819650004
+ ],
+ [
+ -77.03674428021733,
+ 38.897605560404095
+ ],
+ [
+ -77.03669907607481,
+ 38.89760542396934
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03774235211263,
+ 38.89757030970792
+ ],
+ [
+ -77.03770898827014,
+ 38.89757028411856
+ ],
+ [
+ -77.0377087304228,
+ 38.89760608360185
+ ],
+ [
+ -77.03774171577182,
+ 38.897606156838435
+ ],
+ [
+ -77.03774235211263,
+ 38.89757030970792
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03745667922286,
+ 38.897453028841966
+ ],
+ [
+ -77.03744986031123,
+ 38.89745459904312
+ ],
+ [
+ -77.0374424842365,
+ 38.897453816236016
+ ],
+ [
+ -77.03743644926617,
+ 38.897450685007485
+ ],
+ [
+ -77.037433347962,
+ 38.8974447487197
+ ],
+ [
+ -77.03743275267085,
+ 38.897439007993356
+ ],
+ [
+ -77.03743276965209,
+ 38.89745687129455
+ ],
+ [
+ -77.03741710894761,
+ 38.89745688031189
+ ],
+ [
+ -77.0374171162561,
+ 38.89746456837155
+ ],
+ [
+ -77.03741684195018,
+ 38.8974785827428
+ ],
+ [
+ -77.03741638711098,
+ 38.897523495525526
+ ],
+ [
+ -77.03745651459585,
+ 38.897523771339486
+ ],
+ [
+ -77.03745631268868,
+ 38.89751809443299
+ ],
+ [
+ -77.03745641726218,
+ 38.897495498164346
+ ],
+ [
+ -77.03745656131528,
+ 38.89747214413154
+ ],
+ [
+ -77.03745664965277,
+ 38.89746314468681
+ ],
+ [
+ -77.03745667922286,
+ 38.897453028841966
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03615419842413,
+ 38.897690227944395
+ ],
+ [
+ -77.03615420117035,
+ 38.89769596045014
+ ],
+ [
+ -77.03625283598619,
+ 38.897696210037196
+ ],
+ [
+ -77.0362530185113,
+ 38.89764922411891
+ ],
+ [
+ -77.03625299711953,
+ 38.89759788744124
+ ],
+ [
+ -77.03585891300384,
+ 38.89759651414509
+ ],
+ [
+ -77.0358588870548,
+ 38.897542347069944
+ ],
+ [
+ -77.03578208923254,
+ 38.89754236935408
+ ],
+ [
+ -77.03578212051596,
+ 38.89760767155229
+ ],
+ [
+ -77.03578213218975,
+ 38.89763203989219
+ ],
+ [
+ -77.03583406293478,
+ 38.89763202482366
+ ],
+ [
+ -77.03615417049708,
+ 38.897631931939415
+ ],
+ [
+ -77.03615419842413,
+ 38.897690227944395
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03770898827014,
+ 38.89757028411856
+ ],
+ [
+ -77.03766399136805,
+ 38.89757024960688
+ ],
+ [
+ -77.03766397252076,
+ 38.897605834736616
+ ],
+ [
+ -77.0376904992986,
+ 38.89760600393405
+ ],
+ [
+ -77.0377087304228,
+ 38.89760608360185
+ ],
+ [
+ -77.03770898827014,
+ 38.89757028411856
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03660777015914,
+ 38.89755724297624
+ ],
+ [
+ -77.03660741865625,
+ 38.897649342568194
+ ],
+ [
+ -77.0366989076499,
+ 38.897649554063
+ ],
+ [
+ -77.03669907607481,
+ 38.89760542396934
+ ],
+ [
+ -77.03669925915283,
+ 38.89755745447133
+ ],
+ [
+ -77.03665970023154,
+ 38.897557363022976
+ ],
+ [
+ -77.03660777015914,
+ 38.89755724297624
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03574246582338,
+ 38.8974159642015
+ ],
+ [
+ -77.03578416865525,
+ 38.89741620480225
+ ],
+ [
+ -77.03578438986949,
+ 38.8973860247361
+ ],
+ [
+ -77.03574265616403,
+ 38.89738577735333
+ ],
+ [
+ -77.03574246582338,
+ 38.8974159642015
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03766397252076,
+ 38.897605834736616
+ ],
+ [
+ -77.03762151939162,
+ 38.89760583196151
+ ],
+ [
+ -77.03762150300318,
+ 38.89756869890355
+ ],
+ [
+ -77.0376215443986,
+ 38.89755988318841
+ ],
+ [
+ -77.03762548619554,
+ 38.89755989439957
+ ],
+ [
+ -77.03765860051531,
+ 38.897559959357885
+ ],
+ [
+ -77.03766400442699,
+ 38.897559952111955
+ ],
+ [
+ -77.03766399136805,
+ 38.89757024960688
+ ],
+ [
+ -77.03766397252076,
+ 38.897605834736616
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03660777015914,
+ 38.89755724297624
+ ],
+ [
+ -77.03660240795237,
+ 38.89754713330609
+ ],
+ [
+ -77.03659570242982,
+ 38.8975413927279
+ ],
+ [
+ -77.03658530886992,
+ 38.89753356466602
+ ],
+ [
+ -77.03657290365321,
+ 38.897528085022124
+ ],
+ [
+ -77.03655982788428,
+ 38.89752469286142
+ ],
+ [
+ -77.03654842849595,
+ 38.897523910055135
+ ],
+ [
+ -77.03653669383151,
+ 38.897524170990565
+ ],
+ [
+ -77.03652361806257,
+ 38.897527563151264
+ ],
+ [
+ -77.03651456560716,
+ 38.8975319990535
+ ],
+ [
+ -77.03650995556039,
+ 38.89753467364149
+ ],
+ [
+ -77.03650492641847,
+ 38.8975381962694
+ ],
+ [
+ -77.03649914290531,
+ 38.89754315404169
+ ],
+ [
+ -77.03649310793502,
+ 38.89754922078897
+ ],
+ [
+ -77.03648847298408,
+ 38.89755730579546
+ ],
+ [
+ -77.03648818831891,
+ 38.89764960098017
+ ],
+ [
+ -77.03660741865625,
+ 38.897649342568194
+ ],
+ [
+ -77.03660777015914,
+ 38.89755724297624
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03625263113308,
+ 38.897756207456894
+ ],
+ [
+ -77.03631138385018,
+ 38.8977562442885
+ ],
+ [
+ -77.03631106079871,
+ 38.897795823000344
+ ],
+ [
+ -77.03625219932721,
+ 38.89779469997336
+ ],
+ [
+ -77.03625263113308,
+ 38.897756207456894
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03745651459585,
+ 38.897523771339486
+ ],
+ [
+ -77.03741638711098,
+ 38.897523495525526
+ ],
+ [
+ -77.03741550637595,
+ 38.89760110801017
+ ],
+ [
+ -77.03732282141236,
+ 38.897600470946045
+ ],
+ [
+ -77.0373227212202,
+ 38.897609300114965
+ ],
+ [
+ -77.03732253643419,
+ 38.897625582712976
+ ],
+ [
+ -77.03739796223361,
+ 38.897626082467895
+ ],
+ [
+ -77.03743606704064,
+ 38.89762642598428
+ ],
+ [
+ -77.03743649052979,
+ 38.897597500054445
+ ],
+ [
+ -77.03745567643679,
+ 38.89759763192756
+ ],
+ [
+ -77.03745622206026,
+ 38.897549550286
+ ],
+ [
+ -77.03745634873275,
+ 38.89753838759868
+ ],
+ [
+ -77.03745651459585,
+ 38.897523771339486
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03574246582338,
+ 38.8974159642015
+ ],
+ [
+ -77.03574210584037,
+ 38.89744993955133
+ ],
+ [
+ -77.03578383273519,
+ 38.89745026780629
+ ],
+ [
+ -77.03578416865525,
+ 38.89741620480225
+ ],
+ [
+ -77.03574246582338,
+ 38.8974159642015
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03631138385018,
+ 38.8977562442885
+ ],
+ [
+ -77.03631141820033,
+ 38.897738639076856
+ ],
+ [
+ -77.03625296640921,
+ 38.897738724836955
+ ],
+ [
+ -77.03625263113308,
+ 38.897756207456894
+ ],
+ [
+ -77.03631138385018,
+ 38.8977562442885
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03762150300318,
+ 38.89756869890355
+ ],
+ [
+ -77.03760413176437,
+ 38.897568716190676
+ ],
+ [
+ -77.03758591025813,
+ 38.89756864025133
+ ],
+ [
+ -77.03758571675016,
+ 38.89760568491696
+ ],
+ [
+ -77.0375907993272,
+ 38.897605699973376
+ ],
+ [
+ -77.03762151939162,
+ 38.89760583196151
+ ],
+ [
+ -77.03762150300318,
+ 38.89756869890355
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03574210584037,
+ 38.89744993955133
+ ],
+ [
+ -77.03569859801607,
+ 38.897449660330786
+ ],
+ [
+ -77.03569800324853,
+ 38.89750579470883
+ ],
+ [
+ -77.03578314936016,
+ 38.89750642224726
+ ],
+ [
+ -77.03578383273519,
+ 38.89745026780629
+ ],
+ [
+ -77.03574210584037,
+ 38.89744993955133
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03743542803652,
+ 38.89765390626939
+ ],
+ [
+ -77.03739766020212,
+ 38.89765369299223
+ ],
+ [
+ -77.03739796223361,
+ 38.897626082467895
+ ],
+ [
+ -77.03743606704064,
+ 38.89762642598428
+ ],
+ [
+ -77.03743542803652,
+ 38.89765390626939
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03631141820033,
+ 38.897738639076856
+ ],
+ [
+ -77.03631152214317,
+ 38.89770358668694
+ ],
+ [
+ -77.03625280786692,
+ 38.89770344853483
+ ],
+ [
+ -77.03625296640921,
+ 38.897738724836955
+ ],
+ [
+ -77.03631141820033,
+ 38.897738639076856
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03574210584037,
+ 38.89744993955133
+ ],
+ [
+ -77.03569859801607,
+ 38.897449660330786
+ ],
+ [
+ -77.03569800324853,
+ 38.89750579470883
+ ],
+ [
+ -77.03569761031001,
+ 38.89754288036004
+ ],
+ [
+ -77.03566266518436,
+ 38.89754265609266
+ ],
+ [
+ -77.0356628599211,
+ 38.89752427678342
+ ],
+ [
+ -77.03566324808605,
+ 38.897487641651075
+ ],
+ [
+ -77.03566366824901,
+ 38.89744798651388
+ ],
+ [
+ -77.03566401287345,
+ 38.89741546071307
+ ],
+ [
+ -77.03574246582338,
+ 38.8974159642015
+ ],
+ [
+ -77.03574210584037,
+ 38.89744993955133
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03758591025813,
+ 38.89756864025133
+ ],
+ [
+ -77.03755047350235,
+ 38.89756849256632
+ ],
+ [
+ -77.03755016496176,
+ 38.89760561192253
+ ],
+ [
+ -77.03758571675016,
+ 38.89760568491696
+ ],
+ [
+ -77.03758591025813,
+ 38.89756864025133
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03739766020212,
+ 38.89765369299223
+ ],
+ [
+ -77.03739206188246,
+ 38.897653655899035
+ ],
+ [
+ -77.03739200137744,
+ 38.89765918702502
+ ],
+ [
+ -77.03739185572802,
+ 38.89768927426565
+ ],
+ [
+ -77.0374350907632,
+ 38.89768965465643
+ ],
+ [
+ -77.03743542803652,
+ 38.89765390626939
+ ],
+ [
+ -77.03739766020212,
+ 38.89765369299223
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03648847298408,
+ 38.89755730579546
+ ],
+ [
+ -77.036447999234,
+ 38.897557230183764
+ ],
+ [
+ -77.03639833793211,
+ 38.89755717750558
+ ],
+ [
+ -77.03639784436801,
+ 38.8976495112781
+ ],
+ [
+ -77.03648818831891,
+ 38.89764960098017
+ ],
+ [
+ -77.03648847298408,
+ 38.89755730579546
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03631152214317,
+ 38.89770358668694
+ ],
+ [
+ -77.03639749504079,
+ 38.897703788977424
+ ],
+ [
+ -77.03639863633428,
+ 38.897795073364584
+ ],
+ [
+ -77.03631106079871,
+ 38.897795823000344
+ ],
+ [
+ -77.03631138385018,
+ 38.8977562442885
+ ],
+ [
+ -77.03631141820033,
+ 38.897738639076856
+ ],
+ [
+ -77.03631152214317,
+ 38.89770358668694
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03583386669877,
+ 38.89768952413397
+ ],
+ [
+ -77.03583396330619,
+ 38.897649299800825
+ ],
+ [
+ -77.03583406293478,
+ 38.89763202482366
+ ],
+ [
+ -77.03578213218975,
+ 38.89763203989219
+ ],
+ [
+ -77.0357820064609,
+ 38.89764788177072
+ ],
+ [
+ -77.03578195938897,
+ 38.897671543732564
+ ],
+ [
+ -77.03578191330874,
+ 38.897694707196194
+ ],
+ [
+ -77.03583385626328,
+ 38.89769476978506
+ ],
+ [
+ -77.03583386669877,
+ 38.89768952413397
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.0377424693756,
+ 38.89754171714957
+ ],
+ [
+ -77.03771419772218,
+ 38.89754169613175
+ ],
+ [
+ -77.03769919747957,
+ 38.89754164183368
+ ],
+ [
+ -77.03769924857713,
+ 38.897533091661764
+ ],
+ [
+ -77.03767899194105,
+ 38.89753298437497
+ ],
+ [
+ -77.03767905159553,
+ 38.897559931935795
+ ],
+ [
+ -77.03766400442699,
+ 38.897559952111955
+ ],
+ [
+ -77.03766399136805,
+ 38.89757024960688
+ ],
+ [
+ -77.03770898827014,
+ 38.89757028411856
+ ],
+ [
+ -77.03774235211263,
+ 38.89757030970792
+ ],
+ [
+ -77.0377424693756,
+ 38.89754171714957
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03739200137744,
+ 38.89765918702502
+ ],
+ [
+ -77.03735603885885,
+ 38.89765894874533
+ ],
+ [
+ -77.03735574968339,
+ 38.897689114418135
+ ],
+ [
+ -77.03739185572802,
+ 38.89768927426565
+ ],
+ [
+ -77.03739200137744,
+ 38.89765918702502
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03639749504079,
+ 38.897703788977424
+ ],
+ [
+ -77.0364637606203,
+ 38.89770383619139
+ ],
+ [
+ -77.03646401583393,
+ 38.897763437657446
+ ],
+ [
+ -77.03646362269089,
+ 38.89779510376502
+ ],
+ [
+ -77.03639863633428,
+ 38.897795073364584
+ ],
+ [
+ -77.03639749504079,
+ 38.897703788977424
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03639833793211,
+ 38.89755717750558
+ ],
+ [
+ -77.03631071136228,
+ 38.89755689379273
+ ],
+ [
+ -77.03631021779809,
+ 38.8976492275656
+ ],
+ [
+ -77.03639784436801,
+ 38.8976495112781
+ ],
+ [
+ -77.03639833793211,
+ 38.89755717750558
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03774242730863,
+ 38.89751970505121
+ ],
+ [
+ -77.03771433071972,
+ 38.89751944161239
+ ],
+ [
+ -77.03771419772218,
+ 38.89754169613175
+ ],
+ [
+ -77.0377424693756,
+ 38.89754171714957
+ ],
+ [
+ -77.03774242730863,
+ 38.89751970505121
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03583396330619,
+ 38.897649299800825
+ ],
+ [
+ -77.03586621985666,
+ 38.89764940979205
+ ],
+ [
+ -77.0358659955964,
+ 38.897689245399775
+ ],
+ [
+ -77.03583386669877,
+ 38.89768952413397
+ ],
+ [
+ -77.03583396330619,
+ 38.897649299800825
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03735603885885,
+ 38.89765894874533
+ ],
+ [
+ -77.03732884475306,
+ 38.89765876856313
+ ],
+ [
+ -77.03732843944556,
+ 38.89768162545501
+ ],
+ [
+ -77.03732836743096,
+ 38.89768882312813
+ ],
+ [
+ -77.03735574968339,
+ 38.897689114418135
+ ],
+ [
+ -77.03735603885885,
+ 38.89765894874533
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.0364637606203,
+ 38.89770383619139
+ ],
+ [
+ -77.03653165367496,
+ 38.897703756922745
+ ],
+ [
+ -77.03653158781924,
+ 38.89776355191558
+ ],
+ [
+ -77.03646401583393,
+ 38.897763437657446
+ ],
+ [
+ -77.0364637606203,
+ 38.89770383619139
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03631071136228,
+ 38.89755689379273
+ ],
+ [
+ -77.03625299932719,
+ 38.897556799973366
+ ],
+ [
+ -77.03625299711953,
+ 38.89759788744124
+ ],
+ [
+ -77.0362530185113,
+ 38.89764922411891
+ ],
+ [
+ -77.03631021779809,
+ 38.8976492275656
+ ],
+ [
+ -77.03631071136228,
+ 38.89755689379273
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03771433071972,
+ 38.89751944161239
+ ],
+ [
+ -77.03771464991101,
+ 38.897466031197446
+ ],
+ [
+ -77.03774321689156,
+ 38.89746613460469
+ ],
+ [
+ -77.03774242730863,
+ 38.89751970505121
+ ],
+ [
+ -77.03771433071972,
+ 38.89751944161239
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03583406293478,
+ 38.89763202482366
+ ],
+ [
+ -77.03615417049708,
+ 38.897631931939415
+ ],
+ [
+ -77.03615419842413,
+ 38.897690227944395
+ ],
+ [
+ -77.0358659955964,
+ 38.897689245399775
+ ],
+ [
+ -77.03586621985666,
+ 38.89764940979205
+ ],
+ [
+ -77.03583396330619,
+ 38.897649299800825
+ ],
+ [
+ -77.03583406293478,
+ 38.89763202482366
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03732843944556,
+ 38.89768162545501
+ ],
+ [
+ -77.03731443868115,
+ 38.897681540607515
+ ],
+ [
+ -77.03731487474741,
+ 38.897637956873695
+ ],
+ [
+ -77.03732907138367,
+ 38.89763805089542
+ ],
+ [
+ -77.03732884475306,
+ 38.89765876856313
+ ],
+ [
+ -77.03732843944556,
+ 38.89768162545501
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03646401583393,
+ 38.897763437657446
+ ],
+ [
+ -77.03653158781924,
+ 38.89776355191558
+ ],
+ [
+ -77.03656886659812,
+ 38.89776357701148
+ ],
+ [
+ -77.0365686411002,
+ 38.89779523681366
+ ],
+ [
+ -77.03646362269089,
+ 38.89779510376502
+ ],
+ [
+ -77.03646401583393,
+ 38.897763437657446
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03696205258261,
+ 38.897624174370016
+ ],
+ [
+ -77.03696209012664,
+ 38.89759616328111
+ ],
+ [
+ -77.03685399255902,
+ 38.897596075523055
+ ],
+ [
+ -77.03685394944657,
+ 38.89762824111322
+ ],
+ [
+ -77.03685392062708,
+ 38.897649742921466
+ ],
+ [
+ -77.03685387088443,
+ 38.89768685518885
+ ],
+ [
+ -77.0369317338318,
+ 38.89768691840108
+ ],
+ [
+ -77.03693181796235,
+ 38.89762414982432
+ ],
+ [
+ -77.03696205258261,
+ 38.897624174370016
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03769924857713,
+ 38.897533091661764
+ ],
+ [
+ -77.0376995702955,
+ 38.89747925840778
+ ],
+ [
+ -77.0376419642402,
+ 38.89747905479102
+ ],
+ [
+ -77.03759760920929,
+ 38.89747904728604
+ ],
+ [
+ -77.03759747168822,
+ 38.89749589356089
+ ],
+ [
+ -77.03759736711471,
+ 38.89751848982938
+ ],
+ [
+ -77.03759724492583,
+ 38.897532783003065
+ ],
+ [
+ -77.03760437879923,
+ 38.89753281273398
+ ],
+ [
+ -77.03762561306043,
+ 38.89753287680498
+ ],
+ [
+ -77.03765854086082,
+ 38.8975330117971
+ ],
+ [
+ -77.03767899194105,
+ 38.89753298437497
+ ],
+ [
+ -77.03769924857713,
+ 38.897533091661764
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03739200137744,
+ 38.89765918702502
+ ],
+ [
+ -77.03735603885885,
+ 38.89765894874533
+ ],
+ [
+ -77.03732884475306,
+ 38.89765876856313
+ ],
+ [
+ -77.03732907138367,
+ 38.89763805089542
+ ],
+ [
+ -77.03731487474741,
+ 38.897637956873695
+ ],
+ [
+ -77.03731499740934,
+ 38.897625697113696
+ ],
+ [
+ -77.03732253643419,
+ 38.897625582712976
+ ],
+ [
+ -77.03739796223361,
+ 38.897626082467895
+ ],
+ [
+ -77.03739766020212,
+ 38.89765369299223
+ ],
+ [
+ -77.03739206188246,
+ 38.897653655899035
+ ],
+ [
+ -77.03739200137744,
+ 38.89765918702502
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03656886659812,
+ 38.89776357701148
+ ],
+ [
+ -77.0365855673788,
+ 38.89776369970041
+ ],
+ [
+ -77.03664322888531,
+ 38.897763688511446
+ ],
+ [
+ -77.03664319932719,
+ 38.89779559997336
+ ],
+ [
+ -77.03663889932722,
+ 38.89779560539191
+ ],
+ [
+ -77.0365686411002,
+ 38.89779523681366
+ ],
+ [
+ -77.03656886659812,
+ 38.89776357701148
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03765860051531,
+ 38.897559959357885
+ ],
+ [
+ -77.03765854086082,
+ 38.8975330117971
+ ],
+ [
+ -77.03767899194105,
+ 38.89753298437497
+ ],
+ [
+ -77.03767905159553,
+ 38.897559931935795
+ ],
+ [
+ -77.03766400442699,
+ 38.897559952111955
+ ],
+ [
+ -77.03765860051531,
+ 38.897559959357885
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03731499740934,
+ 38.897625697113696
+ ],
+ [
+ -77.0371657773497,
+ 38.89762512198135
+ ],
+ [
+ -77.03716527270976,
+ 38.897672434197894
+ ],
+ [
+ -77.03716517119469,
+ 38.89768802902353
+ ],
+ [
+ -77.03729678635206,
+ 38.89768863174043
+ ],
+ [
+ -77.03732836743096,
+ 38.89768882312813
+ ],
+ [
+ -77.03732843944556,
+ 38.89768162545501
+ ],
+ [
+ -77.03731443868115,
+ 38.897681540607515
+ ],
+ [
+ -77.03731487474741,
+ 38.897637956873695
+ ],
+ [
+ -77.03731499740934,
+ 38.897625697113696
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.0365855673788,
+ 38.89776369970041
+ ],
+ [
+ -77.03658554796348,
+ 38.897703693998366
+ ],
+ [
+ -77.03653165367496,
+ 38.897703756922745
+ ],
+ [
+ -77.03653158781924,
+ 38.89776355191558
+ ],
+ [
+ -77.03656886659812,
+ 38.89776357701148
+ ],
+ [
+ -77.0365855673788,
+ 38.89776369970041
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03762548619554,
+ 38.89755989439957
+ ],
+ [
+ -77.03762561306043,
+ 38.89753287680498
+ ],
+ [
+ -77.03760437879923,
+ 38.89753281273398
+ ],
+ [
+ -77.03760413176437,
+ 38.897568716190676
+ ],
+ [
+ -77.03762150300318,
+ 38.89756869890355
+ ],
+ [
+ -77.0376215443986,
+ 38.89755988318841
+ ],
+ [
+ -77.03762548619554,
+ 38.89755989439957
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03658554796348,
+ 38.897703693998366
+ ],
+ [
+ -77.03664332743242,
+ 38.89770362653781
+ ],
+ [
+ -77.03664318923556,
+ 38.89773070832236
+ ],
+ [
+ -77.03664322888531,
+ 38.897763688511446
+ ],
+ [
+ -77.0365855673788,
+ 38.89776369970041
+ ],
+ [
+ -77.03658554796348,
+ 38.897703693998366
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03716527270976,
+ 38.897672434197894
+ ],
+ [
+ -77.03714948155496,
+ 38.89767237193593
+ ],
+ [
+ -77.03714959344696,
+ 38.897650657231765
+ ],
+ [
+ -77.0371500515027,
+ 38.8976247961259
+ ],
+ [
+ -77.0371657773497,
+ 38.89762512198135
+ ],
+ [
+ -77.03716527270976,
+ 38.897672434197894
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03765854086082,
+ 38.8975330117971
+ ],
+ [
+ -77.03762561306043,
+ 38.89753287680498
+ ],
+ [
+ -77.03762548619554,
+ 38.89755989439957
+ ],
+ [
+ -77.03765860051531,
+ 38.897559959357885
+ ],
+ [
+ -77.03765854086082,
+ 38.8975330117971
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03664332743242,
+ 38.89770362653781
+ ],
+ [
+ -77.03666248961544,
+ 38.897703604165024
+ ],
+ [
+ -77.03666252226041,
+ 38.89773069424425
+ ],
+ [
+ -77.03664318923556,
+ 38.89773070832236
+ ],
+ [
+ -77.03664332743242,
+ 38.89770362653781
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03714948155496,
+ 38.89767237193593
+ ],
+ [
+ -77.03712507513444,
+ 38.8976722757054
+ ],
+ [
+ -77.0371252175632,
+ 38.897650395674155
+ ],
+ [
+ -77.03714959344696,
+ 38.897650657231765
+ ],
+ [
+ -77.03714948155496,
+ 38.89767237193593
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.0376995702955,
+ 38.89747925840778
+ ],
+ [
+ -77.03769987739432,
+ 38.89742787140515
+ ],
+ [
+ -77.03768939067875,
+ 38.89742783344514
+ ],
+ [
+ -77.03768943711752,
+ 38.89742006281795
+ ],
+ [
+ -77.03764198103237,
+ 38.897419891035504
+ ],
+ [
+ -77.0376419642402,
+ 38.89747905479102
+ ],
+ [
+ -77.0376995702955,
+ 38.89747925840778
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.0371252175632,
+ 38.897650395674155
+ ],
+ [
+ -77.03712538375312,
+ 38.897624865414556
+ ],
+ [
+ -77.0371500515027,
+ 38.8976247961259
+ ],
+ [
+ -77.03714959344696,
+ 38.897650657231765
+ ],
+ [
+ -77.0371252175632,
+ 38.897650395674155
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03666248961544,
+ 38.897703604165024
+ ],
+ [
+ -77.03670258300679,
+ 38.8977035573539
+ ],
+ [
+ -77.03670278486749,
+ 38.89777153676942
+ ],
+ [
+ -77.03670254147833,
+ 38.89779635216258
+ ],
+ [
+ -77.03664319932719,
+ 38.89779559997336
+ ],
+ [
+ -77.03664322888531,
+ 38.897763688511446
+ ],
+ [
+ -77.03664318923556,
+ 38.89773070832236
+ ],
+ [
+ -77.03666252226041,
+ 38.89773069424425
+ ],
+ [
+ -77.03666248961544,
+ 38.897703604165024
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03764198103237,
+ 38.897419891035504
+ ],
+ [
+ -77.03759768204795,
+ 38.89741991239419
+ ],
+ [
+ -77.03759760920929,
+ 38.89747904728604
+ ],
+ [
+ -77.0376419642402,
+ 38.89747905479102
+ ],
+ [
+ -77.03764198103237,
+ 38.897419891035504
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03716517119469,
+ 38.89768802902353
+ ],
+ [
+ -77.03705108372742,
+ 38.897687579195335
+ ],
+ [
+ -77.0369317338318,
+ 38.89768691840108
+ ],
+ [
+ -77.03693181796235,
+ 38.89762414982432
+ ],
+ [
+ -77.03696205258261,
+ 38.897624174370016
+ ],
+ [
+ -77.03712538375312,
+ 38.897624865414556
+ ],
+ [
+ -77.0371252175632,
+ 38.897650395674155
+ ],
+ [
+ -77.03712507513444,
+ 38.8976722757054
+ ],
+ [
+ -77.03714948155496,
+ 38.89767237193593
+ ],
+ [
+ -77.03716527270976,
+ 38.897672434197894
+ ],
+ [
+ -77.03716517119469,
+ 38.89768802902353
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03670258300679,
+ 38.8977035573539
+ ],
+ [
+ -77.03678391028022,
+ 38.89770346240009
+ ],
+ [
+ -77.03678374243779,
+ 38.89771858650649
+ ],
+ [
+ -77.03679750305476,
+ 38.89771854892652
+ ],
+ [
+ -77.03679774079657,
+ 38.89777127744692
+ ],
+ [
+ -77.03670278486749,
+ 38.89777153676942
+ ],
+ [
+ -77.03670258300679,
+ 38.8977035573539
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03774337601037,
+ 38.89743950917589
+ ],
+ [
+ -77.03771939136696,
+ 38.897439422355845
+ ],
+ [
+ -77.03771945296972,
+ 38.89742911433259
+ ],
+ [
+ -77.03774333620927,
+ 38.897429200785574
+ ],
+ [
+ -77.03774337601037,
+ 38.89743950917589
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03670278486749,
+ 38.89777153676942
+ ],
+ [
+ -77.03670254147833,
+ 38.89779635216258
+ ],
+ [
+ -77.03685319932718,
+ 38.89779599997336
+ ],
+ [
+ -77.03685389485014,
+ 38.897703114204056
+ ],
+ [
+ -77.03678391028022,
+ 38.89770346240009
+ ],
+ [
+ -77.03678374243779,
+ 38.89771858650649
+ ],
+ [
+ -77.03679750305476,
+ 38.89771854892652
+ ],
+ [
+ -77.03679774079657,
+ 38.89777127744692
+ ],
+ [
+ -77.03670278486749,
+ 38.89777153676942
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03759768204795,
+ 38.89741991239419
+ ],
+ [
+ -77.03759766225218,
+ 38.897399215687315
+ ],
+ [
+ -77.03760618365789,
+ 38.897399363304075
+ ],
+ [
+ -77.03763287764137,
+ 38.897399459931485
+ ],
+ [
+ -77.03769266398403,
+ 38.897399676347256
+ ],
+ [
+ -77.03774351155307,
+ 38.89739986040634
+ ],
+ [
+ -77.03774338911107,
+ 38.89742034869453
+ ],
+ [
+ -77.03774333620927,
+ 38.897429200785574
+ ],
+ [
+ -77.03771945296972,
+ 38.89742911433259
+ ],
+ [
+ -77.03771939136696,
+ 38.897439422355845
+ ],
+ [
+ -77.03774337601037,
+ 38.89743950917589
+ ],
+ [
+ -77.03774328665504,
+ 38.897454461051474
+ ],
+ [
+ -77.03774321689156,
+ 38.89746613460469
+ ],
+ [
+ -77.03771464991101,
+ 38.897466031197446
+ ],
+ [
+ -77.03771433071972,
+ 38.89751944161239
+ ],
+ [
+ -77.03771419772218,
+ 38.89754169613175
+ ],
+ [
+ -77.03769919747957,
+ 38.89754164183368
+ ],
+ [
+ -77.03769924857713,
+ 38.897533091661764
+ ],
+ [
+ -77.0376995702955,
+ 38.89747925840778
+ ],
+ [
+ -77.03769987739432,
+ 38.89742787140515
+ ],
+ [
+ -77.03768939067875,
+ 38.89742783344514
+ ],
+ [
+ -77.03768943711752,
+ 38.89742006281795
+ ],
+ [
+ -77.03764198103237,
+ 38.897419891035504
+ ],
+ [
+ -77.03759768204795,
+ 38.89741991239419
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03705108372742,
+ 38.897687579195335
+ ],
+ [
+ -77.0370508232524,
+ 38.897718309320744
+ ],
+ [
+ -77.03702767601366,
+ 38.89772516408346
+ ],
+ [
+ -77.03701324697501,
+ 38.897731418666176
+ ],
+ [
+ -77.03699858184206,
+ 38.89774011716941
+ ],
+ [
+ -77.03697837825784,
+ 38.897752032503256
+ ],
+ [
+ -77.0369545122073,
+ 38.89775779361912
+ ],
+ [
+ -77.03693083552088,
+ 38.89775805305766
+ ],
+ [
+ -77.0369317338318,
+ 38.89768691840108
+ ],
+ [
+ -77.03705108372742,
+ 38.897687579195335
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03755047350235,
+ 38.89756849256632
+ ],
+ [
+ -77.03755053216085,
+ 38.8975599672803
+ ],
+ [
+ -77.03750649176602,
+ 38.89755980616672
+ ],
+ [
+ -77.03750655258793,
+ 38.897549760067456
+ ],
+ [
+ -77.03745622206026,
+ 38.897549550286
+ ],
+ [
+ -77.03745567643679,
+ 38.89759763192756
+ ],
+ [
+ -77.03745586413005,
+ 38.89760526734911
+ ],
+ [
+ -77.03755016496176,
+ 38.89760561192253
+ ],
+ [
+ -77.03755047350235,
+ 38.89756849256632
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03750655258793,
+ 38.897549760067456
+ ],
+ [
+ -77.03755060112881,
+ 38.89754994364271
+ ],
+ [
+ -77.03755053216085,
+ 38.8975599672803
+ ],
+ [
+ -77.03750649176602,
+ 38.89755980616672
+ ],
+ [
+ -77.03750655258793,
+ 38.897549760067456
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03752153795268,
+ 38.897538659169875
+ ],
+ [
+ -77.03752167820025,
+ 38.897518277662186
+ ],
+ [
+ -77.03749543792901,
+ 38.897518204106845
+ ],
+ [
+ -77.03749548018097,
+ 38.89753855057234
+ ],
+ [
+ -77.03752153795268,
+ 38.897538659169875
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03749548018097,
+ 38.89753855057234
+ ],
+ [
+ -77.03745634873275,
+ 38.89753838759868
+ ],
+ [
+ -77.03745651459585,
+ 38.897523771339486
+ ],
+ [
+ -77.03745631268868,
+ 38.89751809443299
+ ],
+ [
+ -77.03749543792901,
+ 38.897518204106845
+ ],
+ [
+ -77.03749548018097,
+ 38.89753855057234
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03574117545786,
+ 38.89776806448733
+ ],
+ [
+ -77.03574123252616,
+ 38.89776186928833
+ ],
+ [
+ -77.03574121892365,
+ 38.89772634893924
+ ],
+ [
+ -77.03570674167251,
+ 38.89772655067907
+ ],
+ [
+ -77.03566060733874,
+ 38.897726503962446
+ ],
+ [
+ -77.03566020095506,
+ 38.89776761268756
+ ],
+ [
+ -77.03574117545786,
+ 38.89776806448733
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03752167820025,
+ 38.897518277662186
+ ],
+ [
+ -77.03759736711471,
+ 38.89751848982938
+ ],
+ [
+ -77.03759724492583,
+ 38.897532783003065
+ ],
+ [
+ -77.03760437879923,
+ 38.89753281273398
+ ],
+ [
+ -77.03760413176437,
+ 38.897568716190676
+ ],
+ [
+ -77.03758591025813,
+ 38.89756864025133
+ ],
+ [
+ -77.03755047350235,
+ 38.89756849256632
+ ],
+ [
+ -77.03755053216085,
+ 38.8975599672803
+ ],
+ [
+ -77.03755060112881,
+ 38.89754994364271
+ ],
+ [
+ -77.03750655258793,
+ 38.897549760067456
+ ],
+ [
+ -77.03745622206026,
+ 38.897549550286
+ ],
+ [
+ -77.03745634873275,
+ 38.89753838759868
+ ],
+ [
+ -77.03749548018097,
+ 38.89753855057234
+ ],
+ [
+ -77.03752153795268,
+ 38.897538659169875
+ ],
+ [
+ -77.03752167820025,
+ 38.897518277662186
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03566020095506,
+ 38.89776761268756
+ ],
+ [
+ -77.03560974112769,
+ 38.89776733114542
+ ],
+ [
+ -77.03560978332409,
+ 38.89776275040822
+ ],
+ [
+ -77.0356098211602,
+ 38.8977264525353
+ ],
+ [
+ -77.03566060733874,
+ 38.897726503962446
+ ],
+ [
+ -77.03566020095506,
+ 38.89776761268756
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.0356098211602,
+ 38.8977264525353
+ ],
+ [
+ -77.03557099037758,
+ 38.89772653928624
+ ],
+ [
+ -77.03557065882256,
+ 38.8977625321118
+ ],
+ [
+ -77.03560978332409,
+ 38.89776275040822
+ ],
+ [
+ -77.0356098211602,
+ 38.8977264525353
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03759747168822,
+ 38.89749589356089
+ ],
+ [
+ -77.03750542868623,
+ 38.897495635550676
+ ],
+ [
+ -77.03745641726218,
+ 38.897495498164346
+ ],
+ [
+ -77.03745631268868,
+ 38.89751809443299
+ ],
+ [
+ -77.03749543792901,
+ 38.897518204106845
+ ],
+ [
+ -77.03752167820025,
+ 38.897518277662186
+ ],
+ [
+ -77.03759736711471,
+ 38.89751848982938
+ ],
+ [
+ -77.03759747168822,
+ 38.89749589356089
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03574121892365,
+ 38.89772634893924
+ ],
+ [
+ -77.03578124730468,
+ 38.89772623347407
+ ],
+ [
+ -77.03578091699866,
+ 38.897762090709065
+ ],
+ [
+ -77.03574123252616,
+ 38.89776186928833
+ ],
+ [
+ -77.03574121892365,
+ 38.89772634893924
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "name": "The Oval Office"
+ },
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03745729932719,
+ 38.89735249682294
+ ],
+ [
+ -77.03745876466279,
+ 38.8973569969156
+ ],
+ [
+ -77.03746169411053,
+ 38.8973662797251
+ ],
+ [
+ -77.0374621236535,
+ 38.89737152296883
+ ],
+ [
+ -77.03746238828211,
+ 38.897374753174816
+ ],
+ [
+ -77.03746101772985,
+ 38.897386575048756
+ ],
+ [
+ -77.03745892355825,
+ 38.897394704755634
+ ],
+ [
+ -77.0374565306735,
+ 38.89739921192618
+ ],
+ [
+ -77.03745381772985,
+ 38.89740432195022
+ ],
+ [
+ -77.03744889993888,
+ 38.89741147352971
+ ],
+ [
+ -77.03743872938665,
+ 38.897419543825265
+ ],
+ [
+ -77.03743413490918,
+ 38.89742257353262
+ ],
+ [
+ -77.03743230713577,
+ 38.897423471911345
+ ],
+ [
+ -77.03742300546142,
+ 38.89742804382714
+ ],
+ [
+ -77.03741251711821,
+ 38.897429326634594
+ ],
+ [
+ -77.03740238153618,
+ 38.897430092249245
+ ],
+ [
+ -77.03739026957358,
+ 38.89742771879905
+ ],
+ [
+ -77.0373834915806,
+ 38.89742527697119
+ ],
+ [
+ -77.03737709319297,
+ 38.89742297189925
+ ],
+ [
+ -77.03736859902138,
+ 38.89741612499999
+ ],
+ [
+ -77.03736112599921,
+ 38.89740562991937
+ ],
+ [
+ -77.03735610515557,
+ 38.897394621845216
+ ],
+ [
+ -77.03735284656591,
+ 38.89738379997339
+ ],
+ [
+ -77.03735377601366,
+ 38.89737267810133
+ ],
+ [
+ -77.03735677018528,
+ 38.89736139529315
+ ],
+ [
+ -77.03736099380467,
+ 38.89735165622904
+ ],
+ [
+ -77.03736652325242,
+ 38.89734377810117
+ ],
+ [
+ -77.03737718184205,
+ 38.897334224995156
+ ],
+ [
+ -77.03738699349881,
+ 38.89732870312258
+ ],
+ [
+ -77.0373986934988,
+ 38.897325146866976
+ ],
+ [
+ -77.03741289932721,
+ 38.897323768739234
+ ],
+ [
+ -77.03742804626008,
+ 38.8973276390372
+ ],
+ [
+ -77.03744034626008,
+ 38.89733469214328
+ ],
+ [
+ -77.0374495346033,
+ 38.89734269682355
+ ],
+ [
+ -77.03745729932719,
+ 38.89735249682294
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03759768204795,
+ 38.89741991239419
+ ],
+ [
+ -77.03750576698705,
+ 38.8974199656442
+ ],
+ [
+ -77.03749244965479,
+ 38.897419973359455
+ ],
+ [
+ -77.03749242985906,
+ 38.89739927665259
+ ],
+ [
+ -77.03751819528335,
+ 38.897399261725695
+ ],
+ [
+ -77.03758110027158,
+ 38.89739922528235
+ ],
+ [
+ -77.03759766225218,
+ 38.897399215687315
+ ],
+ [
+ -77.03759768204795,
+ 38.89741991239419
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03570673049497,
+ 38.89769843769159
+ ],
+ [
+ -77.03578191471405,
+ 38.89769871004924
+ ],
+ [
+ -77.03578124730468,
+ 38.89772623347407
+ ],
+ [
+ -77.03574121892365,
+ 38.89772634893924
+ ],
+ [
+ -77.03570674167251,
+ 38.89772655067907
+ ],
+ [
+ -77.03570673049497,
+ 38.89769843769159
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03749244965479,
+ 38.897419973359455
+ ],
+ [
+ -77.03750576698705,
+ 38.8974199656442
+ ],
+ [
+ -77.03750576760538,
+ 38.897432876142624
+ ],
+ [
+ -77.03749872680675,
+ 38.89743548550038
+ ],
+ [
+ -77.03749285947451,
+ 38.897439399536864
+ ],
+ [
+ -77.03748783033261,
+ 38.89744318310524
+ ],
+ [
+ -77.03748296882878,
+ 38.897447619012745
+ ],
+ [
+ -77.03748062189588,
+ 38.89745270725924
+ ],
+ [
+ -77.03748028661974,
+ 38.89745831737677
+ ],
+ [
+ -77.03748078953394,
+ 38.897464188429495
+ ],
+ [
+ -77.03748347174296,
+ 38.897470320417405
+ ],
+ [
+ -77.03748498338224,
+ 38.89747233021144
+ ],
+ [
+ -77.03746251698497,
+ 38.89747227743471
+ ],
+ [
+ -77.03746251698497,
+ 38.897463275154635
+ ],
+ [
+ -77.03745664965277,
+ 38.89746314468681
+ ],
+ [
+ -77.03745667922286,
+ 38.897453028841966
+ ],
+ [
+ -77.03744986031123,
+ 38.89745459904312
+ ],
+ [
+ -77.0374424842365,
+ 38.897453816236016
+ ],
+ [
+ -77.03743644926617,
+ 38.897450685007485
+ ],
+ [
+ -77.037433347962,
+ 38.8974447487197
+ ],
+ [
+ -77.03743275267085,
+ 38.897439007993356
+ ],
+ [
+ -77.03743230713577,
+ 38.897423471911345
+ ],
+ [
+ -77.03743413490918,
+ 38.89742257353262
+ ],
+ [
+ -77.03743872938665,
+ 38.897419543825265
+ ],
+ [
+ -77.03744889993888,
+ 38.89741147352971
+ ],
+ [
+ -77.03745381772985,
+ 38.89740432195022
+ ],
+ [
+ -77.0374565306735,
+ 38.89739921192618
+ ],
+ [
+ -77.03748909188833,
+ 38.89739915565516
+ ],
+ [
+ -77.03749242985906,
+ 38.89739927665259
+ ],
+ [
+ -77.03749244965479,
+ 38.897419973359455
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03557132741848,
+ 38.89768995090848
+ ],
+ [
+ -77.03562121688762,
+ 38.897690175586305
+ ],
+ [
+ -77.03562114373396,
+ 38.89770001565599
+ ],
+ [
+ -77.03566106782284,
+ 38.89770019543199
+ ],
+ [
+ -77.03566175839941,
+ 38.897607304305645
+ ],
+ [
+ -77.03559497216365,
+ 38.89760700357052
+ ],
+ [
+ -77.03559508658049,
+ 38.897591613075946
+ ],
+ [
+ -77.03557223422186,
+ 38.89759151034043
+ ],
+ [
+ -77.03557132741848,
+ 38.89768995090848
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.0357820064609,
+ 38.89764788177072
+ ],
+ [
+ -77.03572999197975,
+ 38.89764782773308
+ ],
+ [
+ -77.03573020884423,
+ 38.89761915798742
+ ],
+ [
+ -77.0357302884157,
+ 38.89760749541164
+ ],
+ [
+ -77.03578212051596,
+ 38.89760767155229
+ ],
+ [
+ -77.03578213218975,
+ 38.89763203989219
+ ],
+ [
+ -77.0357820064609,
+ 38.89764788177072
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03572999197975,
+ 38.89764782773308
+ ],
+ [
+ -77.03569602075653,
+ 38.89764779333308
+ ],
+ [
+ -77.03569606886623,
+ 38.89761901639156
+ ],
+ [
+ -77.03573020884423,
+ 38.89761915798742
+ ],
+ [
+ -77.03572999197975,
+ 38.89764782773308
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03782212415496,
+ 38.897420549854964
+ ],
+ [
+ -77.03774338911107,
+ 38.89742034869453
+ ],
+ [
+ -77.03774351155307,
+ 38.89739986040634
+ ],
+ [
+ -77.03774431787075,
+ 38.897334342394956
+ ],
+ [
+ -77.03782259932719,
+ 38.89733459997336
+ ],
+ [
+ -77.03782212415496,
+ 38.897420549854964
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03569606886623,
+ 38.89761901639156
+ ],
+ [
+ -77.03569608815222,
+ 38.89760738078148
+ ],
+ [
+ -77.0357302884157,
+ 38.89760749541164
+ ],
+ [
+ -77.03573020884423,
+ 38.89761915798742
+ ],
+ [
+ -77.03569606886623,
+ 38.89761901639156
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03750542868623,
+ 38.897495635550676
+ ],
+ [
+ -77.03750543232925,
+ 38.8974859765543
+ ],
+ [
+ -77.03749755334029,
+ 38.89748375860178
+ ],
+ [
+ -77.03749202128418,
+ 38.89748023597116
+ ],
+ [
+ -77.03748749505648,
+ 38.8974756695979
+ ],
+ [
+ -77.03748498338224,
+ 38.89747233021144
+ ],
+ [
+ -77.03748347174296,
+ 38.897470320417405
+ ],
+ [
+ -77.03748078953394,
+ 38.897464188429495
+ ],
+ [
+ -77.03748028661974,
+ 38.89745831737677
+ ],
+ [
+ -77.03748062189588,
+ 38.89745270725924
+ ],
+ [
+ -77.03748296882878,
+ 38.897447619012745
+ ],
+ [
+ -77.03748783033261,
+ 38.89744318310524
+ ],
+ [
+ -77.03749285947451,
+ 38.897439399536864
+ ],
+ [
+ -77.03749872680675,
+ 38.89743548550038
+ ],
+ [
+ -77.03750576760538,
+ 38.897432876142624
+ ],
+ [
+ -77.03750576698705,
+ 38.8974199656442
+ ],
+ [
+ -77.03759768204795,
+ 38.89741991239419
+ ],
+ [
+ -77.03759760920929,
+ 38.89747904728604
+ ],
+ [
+ -77.03759747168822,
+ 38.89749589356089
+ ],
+ [
+ -77.03750542868623,
+ 38.897495635550676
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03774351155307,
+ 38.89739986040634
+ ],
+ [
+ -77.03769266398403,
+ 38.897399676347256
+ ],
+ [
+ -77.03769287775671,
+ 38.897334192220164
+ ],
+ [
+ -77.03774431787075,
+ 38.897334342394956
+ ],
+ [
+ -77.03774351155307,
+ 38.89739986040634
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03578195938897,
+ 38.897671543732564
+ ],
+ [
+ -77.03570689296878,
+ 38.89767127146563
+ ],
+ [
+ -77.03570673049497,
+ 38.89769843769159
+ ],
+ [
+ -77.03578191471405,
+ 38.89769871004924
+ ],
+ [
+ -77.03578191330874,
+ 38.897694707196194
+ ],
+ [
+ -77.03578195938897,
+ 38.897671543732564
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03578195938897,
+ 38.897671543732564
+ ],
+ [
+ -77.03570689296878,
+ 38.89767127146563
+ ],
+ [
+ -77.03570673049497,
+ 38.89769843769159
+ ],
+ [
+ -77.03570674167251,
+ 38.89772655067907
+ ],
+ [
+ -77.03566060733874,
+ 38.897726503962446
+ ],
+ [
+ -77.0356098211602,
+ 38.8977264525353
+ ],
+ [
+ -77.03557099037758,
+ 38.89772653928624
+ ],
+ [
+ -77.03557132741848,
+ 38.89768995090848
+ ],
+ [
+ -77.03562121688762,
+ 38.897690175586305
+ ],
+ [
+ -77.03562114373396,
+ 38.89770001565599
+ ],
+ [
+ -77.03566106782284,
+ 38.89770019543199
+ ],
+ [
+ -77.03566175839941,
+ 38.897607304305645
+ ],
+ [
+ -77.03569608815222,
+ 38.89760738078148
+ ],
+ [
+ -77.03569606886623,
+ 38.89761901639156
+ ],
+ [
+ -77.03569602075653,
+ 38.89764779333308
+ ],
+ [
+ -77.03572999197975,
+ 38.89764782773308
+ ],
+ [
+ -77.0357820064609,
+ 38.89764788177072
+ ],
+ [
+ -77.03578195938897,
+ 38.897671543732564
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03769266398403,
+ 38.897399676347256
+ ],
+ [
+ -77.03763287764137,
+ 38.897399459931485
+ ],
+ [
+ -77.03763307459683,
+ 38.89737079061008
+ ],
+ [
+ -77.03763328924715,
+ 38.89733396801603
+ ],
+ [
+ -77.03769287775671,
+ 38.897334192220164
+ ],
+ [
+ -77.03769266398403,
+ 38.897399676347256
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03763287764137,
+ 38.897399459931485
+ ],
+ [
+ -77.03760618365789,
+ 38.897399363304075
+ ],
+ [
+ -77.03760635076607,
+ 38.89737069625206
+ ],
+ [
+ -77.03763307459683,
+ 38.89737079061008
+ ],
+ [
+ -77.03763287764137,
+ 38.897399459931485
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03748498338224,
+ 38.89747233021144
+ ],
+ [
+ -77.03746251698497,
+ 38.89747227743471
+ ],
+ [
+ -77.03745656131528,
+ 38.89747214413154
+ ],
+ [
+ -77.03745641726218,
+ 38.897495498164346
+ ],
+ [
+ -77.03750542868623,
+ 38.897495635550676
+ ],
+ [
+ -77.03750543232925,
+ 38.8974859765543
+ ],
+ [
+ -77.03749755334029,
+ 38.89748375860178
+ ],
+ [
+ -77.03749202128418,
+ 38.89748023597116
+ ],
+ [
+ -77.03748749505648,
+ 38.8974756695979
+ ],
+ [
+ -77.03748498338224,
+ 38.89747233021144
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03760618365789,
+ 38.897399363304075
+ ],
+ [
+ -77.03759766225218,
+ 38.897399215687315
+ ],
+ [
+ -77.03758110027158,
+ 38.89739922528235
+ ],
+ [
+ -77.03758148235589,
+ 38.89733378509326
+ ],
+ [
+ -77.03763328924715,
+ 38.89733396801603
+ ],
+ [
+ -77.03763307459683,
+ 38.89737079061008
+ ],
+ [
+ -77.03760635076607,
+ 38.89737069625206
+ ],
+ [
+ -77.03760618365789,
+ 38.897399363304075
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03578208923254,
+ 38.89754236935408
+ ],
+ [
+ -77.03569761031001,
+ 38.89754288036004
+ ],
+ [
+ -77.03566266518436,
+ 38.89754265609266
+ ],
+ [
+ -77.0355944045671,
+ 38.89754248051244
+ ],
+ [
+ -77.03559431325908,
+ 38.897558981115026
+ ],
+ [
+ -77.03557253454143,
+ 38.89755890828139
+ ],
+ [
+ -77.03557223422186,
+ 38.89759151034043
+ ],
+ [
+ -77.03559508658049,
+ 38.897591613075946
+ ],
+ [
+ -77.03559497216365,
+ 38.89760700357052
+ ],
+ [
+ -77.03566175839941,
+ 38.897607304305645
+ ],
+ [
+ -77.03569608815222,
+ 38.89760738078148
+ ],
+ [
+ -77.0357302884157,
+ 38.89760749541164
+ ],
+ [
+ -77.03578212051596,
+ 38.89760767155229
+ ],
+ [
+ -77.03578208923254,
+ 38.89754236935408
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03758110027158,
+ 38.89739922528235
+ ],
+ [
+ -77.03751819528335,
+ 38.897399261725695
+ ],
+ [
+ -77.03751818679,
+ 38.897384957666226
+ ],
+ [
+ -77.03751822629172,
+ 38.897371882628725
+ ],
+ [
+ -77.03751834198142,
+ 38.897333589409016
+ ],
+ [
+ -77.03758148235589,
+ 38.89733378509326
+ ],
+ [
+ -77.03758110027158,
+ 38.89739922528235
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03678391028022,
+ 38.89770346240009
+ ],
+ [
+ -77.03678358115228,
+ 38.89764957286611
+ ],
+ [
+ -77.03685392062708,
+ 38.897649742921466
+ ],
+ [
+ -77.03685387088443,
+ 38.89768685518885
+ ],
+ [
+ -77.03685389485014,
+ 38.897703114204056
+ ],
+ [
+ -77.03678391028022,
+ 38.89770346240009
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03578314936016,
+ 38.89750642224726
+ ],
+ [
+ -77.03569800324853,
+ 38.89750579470883
+ ],
+ [
+ -77.03569761031001,
+ 38.89754288036004
+ ],
+ [
+ -77.03578208923254,
+ 38.89754236935408
+ ],
+ [
+ -77.03578314936016,
+ 38.89750642224726
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03678358115228,
+ 38.89764957286611
+ ],
+ [
+ -77.03674399708453,
+ 38.8976495957241
+ ],
+ [
+ -77.0366989076499,
+ 38.897649554063
+ ],
+ [
+ -77.03660741865625,
+ 38.897649342568194
+ ],
+ [
+ -77.03648818831891,
+ 38.89764960098017
+ ],
+ [
+ -77.03639784436801,
+ 38.8976495112781
+ ],
+ [
+ -77.03639749504079,
+ 38.897703788977424
+ ],
+ [
+ -77.0364637606203,
+ 38.89770383619139
+ ],
+ [
+ -77.03653165367496,
+ 38.897703756922745
+ ],
+ [
+ -77.03658554796348,
+ 38.897703693998366
+ ],
+ [
+ -77.03664332743242,
+ 38.89770362653781
+ ],
+ [
+ -77.03666248961544,
+ 38.897703604165024
+ ],
+ [
+ -77.03670258300679,
+ 38.8977035573539
+ ],
+ [
+ -77.03678391028022,
+ 38.89770346240009
+ ],
+ [
+ -77.03678358115228,
+ 38.89764957286611
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03566266518436,
+ 38.89754265609266
+ ],
+ [
+ -77.0356628599211,
+ 38.89752427678342
+ ],
+ [
+ -77.03557285903454,
+ 38.897523681983074
+ ],
+ [
+ -77.03557253454143,
+ 38.89755890828139
+ ],
+ [
+ -77.03559431325908,
+ 38.897558981115026
+ ],
+ [
+ -77.0355944045671,
+ 38.89754248051244
+ ],
+ [
+ -77.03566266518436,
+ 38.89754265609266
+ ]
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {},
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ -77.03639749504079,
+ 38.897703788977424
+ ],
+ [
+ -77.03631152214317,
+ 38.89770358668694
+ ],
+ [
+ -77.03625280786692,
+ 38.89770344853483
+ ],
+ [
+ -77.03625283598619,
+ 38.897696210037196
+ ],
+ [
+ -77.0362530185113,
+ 38.89764922411891
+ ],
+ [
+ -77.03631021779809,
+ 38.8976492275656
+ ],
+ [
+ -77.03639784436801,
+ 38.8976495112781
+ ],
+ [
+ -77.03639749504079,
+ 38.897703788977424
+ ]
+ ]
+ }
+ }
+ ]
+}
diff --git a/platform/ios/ios.xcodeproj/project.pbxproj b/platform/ios/ios.xcodeproj/project.pbxproj
index cb5a5587a2..3b5c796f16 100644
--- a/platform/ios/ios.xcodeproj/project.pbxproj
+++ b/platform/ios/ios.xcodeproj/project.pbxproj
@@ -36,6 +36,12 @@
1F7454971ECD450D00021D39 /* MGLLight_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F7454941ECD450D00021D39 /* MGLLight_Private.h */; };
1F7454A91ED08AB400021D39 /* MGLLightTest.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1F7454A61ED08AB400021D39 /* MGLLightTest.mm */; };
1F95931D1E6DE2E900D5B294 /* MGLNSDateAdditionsTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1F95931C1E6DE2E900D5B294 /* MGLNSDateAdditionsTests.mm */; };
+ 1FFCB53E20A1015C003F9D50 /* MGLLocationManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 1FFCB53C20A1015C003F9D50 /* MGLLocationManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 1FFCB53F20A1015C003F9D50 /* MGLLocationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 1FFCB53D20A1015C003F9D50 /* MGLLocationManager.m */; };
+ 1FFDF91220A50B160063BB80 /* MGLLocationManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 1FFCB53C20A1015C003F9D50 /* MGLLocationManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 1FFDF91520A5E82E0063BB80 /* MBXCustomLocationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 1FFDF91420A5E82E0063BB80 /* MBXCustomLocationManager.m */; };
+ 1FFDF91720A637460063BB80 /* coordinates.json in Resources */ = {isa = PBXBuildFile; fileRef = 1FFDF91620A637460063BB80 /* coordinates.json */; };
+ 1FFDF91920A63C4A0063BB80 /* white_house_lvl_0.geojson in Resources */ = {isa = PBXBuildFile; fileRef = 1FFDF91820A63C4A0063BB80 /* white_house_lvl_0.geojson */; };
30E578171DAA85520050F07E /* UIImage+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 30E578111DAA7D690050F07E /* UIImage+MGLAdditions.h */; };
30E578181DAA85520050F07E /* UIImage+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 30E578111DAA7D690050F07E /* UIImage+MGLAdditions.h */; };
30E578191DAA855E0050F07E /* UIImage+MGLAdditions.mm in Sources */ = {isa = PBXBuildFile; fileRef = 30E578121DAA7D690050F07E /* UIImage+MGLAdditions.mm */; };
@@ -754,6 +760,12 @@
1F7454941ECD450D00021D39 /* MGLLight_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLLight_Private.h; sourceTree = "<group>"; };
1F7454A61ED08AB400021D39 /* MGLLightTest.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = MGLLightTest.mm; path = ../../darwin/test/MGLLightTest.mm; sourceTree = "<group>"; };
1F95931C1E6DE2E900D5B294 /* MGLNSDateAdditionsTests.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = MGLNSDateAdditionsTests.mm; path = ../../darwin/test/MGLNSDateAdditionsTests.mm; sourceTree = "<group>"; };
+ 1FFCB53C20A1015C003F9D50 /* MGLLocationManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MGLLocationManager.h; sourceTree = "<group>"; };
+ 1FFCB53D20A1015C003F9D50 /* MGLLocationManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MGLLocationManager.m; sourceTree = "<group>"; };
+ 1FFDF91320A5E82E0063BB80 /* MBXCustomLocationManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MBXCustomLocationManager.h; sourceTree = "<group>"; };
+ 1FFDF91420A5E82E0063BB80 /* MBXCustomLocationManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MBXCustomLocationManager.m; sourceTree = "<group>"; };
+ 1FFDF91620A637460063BB80 /* coordinates.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = coordinates.json; sourceTree = "<group>"; };
+ 1FFDF91820A63C4A0063BB80 /* white_house_lvl_0.geojson */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = white_house_lvl_0.geojson; sourceTree = "<group>"; };
20DABE861DF78148007AC5FF /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Foundation.strings"; sourceTree = "<group>"; };
20DABE881DF78148007AC5FF /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = "<group>"; };
20DABE8A1DF78149007AC5FF /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Root.strings"; sourceTree = "<group>"; };
@@ -1682,6 +1694,8 @@
DA1DC96C1CB6C6CE006E619F /* points.geojson */,
DA1DC96D1CB6C6CE006E619F /* polyline.geojson */,
DA1DC96F1CB6C6CE006E619F /* threestates.geojson */,
+ 1FFDF91820A63C4A0063BB80 /* white_house_lvl_0.geojson */,
+ 1FFDF91620A637460063BB80 /* coordinates.json */,
DD4823721D94AE6C00EB71B7 /* fill_filter_style.json */,
DD4823731D94AE6C00EB71B7 /* line_filter_style.json */,
DD4823741D94AE6C00EB71B7 /* numeric_filter_style.json */,
@@ -1747,6 +1761,8 @@
96E027251E57C76E004B8E66 /* Localizable.strings */,
9604FC341F313A5E003EEA02 /* Fixtures */,
DA1DC94D1CB6C1C2006E619F /* Supporting Files */,
+ 1FFDF91320A5E82E0063BB80 /* MBXCustomLocationManager.h */,
+ 1FFDF91420A5E82E0063BB80 /* MBXCustomLocationManager.m */,
);
name = "Demo App";
path = app;
@@ -1881,6 +1897,8 @@
DA8847EE1CBAFA5100AB86E3 /* MGLTypes.h */,
DA8848111CBAFA6200AB86E3 /* MGLTypes.m */,
35E1A4D71D74336F007AA97F /* MGLValueEvaluator.h */,
+ 1FFCB53C20A1015C003F9D50 /* MGLLocationManager.h */,
+ 1FFCB53D20A1015C003F9D50 /* MGLLocationManager.m */,
);
name = Foundation;
path = ../darwin/src;
@@ -2221,6 +2239,7 @@
0778DD431F67556700A73B34 /* MGLComputedShapeSource.h in Headers */,
DA8848311CBAFA6200AB86E3 /* NSString+MGLAdditions.h in Headers */,
DACA86262019218600E9693A /* MGLRasterDEMSource.h in Headers */,
+ 1FFCB53E20A1015C003F9D50 /* MGLLocationManager.h in Headers */,
353933F81D3FB79F003F57D7 /* MGLLineStyleLayer.h in Headers */,
92F2C3ED1F0E3C3A00268EC0 /* MGLRendererFrontend.h in Headers */,
DAAF722D1DA903C700312FA4 /* MGLStyleValue_Private.h in Headers */,
@@ -2404,6 +2423,7 @@
DABFB86B1CBE99E500D62B32 /* MGLTilePyramidOfflineRegion.h in Headers */,
968F36B51E4D128D003A5522 /* MGLDistanceFormatter.h in Headers */,
4018B1CB1CDC288E00F666AF /* MGLAnnotationView.h in Headers */,
+ 1FFDF91220A50B160063BB80 /* MGLLocationManager.h in Headers */,
DABFB85F1CBE99E500D62B32 /* MGLGeometry.h in Headers */,
96E516E02000550C00A02306 /* MGLFeature_Private.h in Headers */,
353933F61D3FB785003F57D7 /* MGLBackgroundStyleLayer.h in Headers */,
@@ -2723,8 +2743,10 @@
DA821D071CCC6D59007508D4 /* Main.storyboard in Resources */,
DA1DC9731CB6C6CE006E619F /* threestates.geojson in Resources */,
DA821D061CCC6D59007508D4 /* LaunchScreen.storyboard in Resources */,
+ 1FFDF91720A637460063BB80 /* coordinates.json in Resources */,
96E027231E57C76E004B8E66 /* Localizable.strings in Resources */,
DD4823751D94AE6C00EB71B7 /* fill_filter_style.json in Resources */,
+ 1FFDF91920A63C4A0063BB80 /* white_house_lvl_0.geojson in Resources */,
DA1DC99F1CB6E088006E619F /* Assets.xcassets in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -2820,6 +2842,7 @@
DA1DC99B1CB6E064006E619F /* MBXViewController.m in Sources */,
40FDA76B1CCAAA6800442548 /* MBXAnnotationView.m in Sources */,
632281DF1E6F855900D75A5D /* MBXEmbeddedMapViewController.m in Sources */,
+ 1FFDF91520A5E82E0063BB80 /* MBXCustomLocationManager.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -2981,6 +3004,7 @@
40834BED1FE05E1800C1BD0D /* MMEEventLogger.m in Sources */,
353AFA161D65AB17005A69F4 /* NSDate+MGLAdditions.mm in Sources */,
40834BF41FE05E1800C1BD0D /* MMETrustKitWrapper.m in Sources */,
+ 1FFCB53F20A1015C003F9D50 /* MGLLocationManager.m in Sources */,
40834BEF1FE05E1800C1BD0D /* MMEEventsManager.m in Sources */,
35D13AC51D3D19DD00AFB4E0 /* MGLFillStyleLayer.mm in Sources */,
DA8848241CBAFA6200AB86E3 /* MGLOfflineStorage.mm in Sources */,
diff --git a/platform/ios/src/MGLMapView.h b/platform/ios/src/MGLMapView.h
index bde8e6a71d..146c06917e 100644
--- a/platform/ios/src/MGLMapView.h
+++ b/platform/ios/src/MGLMapView.h
@@ -2,7 +2,7 @@
#import "MGLMapCamera.h"
#import <UIKit/UIKit.h>
-#import <CoreLocation/CoreLocation.h>
+#import "MGLLocationManager.h"
#import "MGLFoundation.h"
#import "MGLTypes.h"
@@ -296,6 +296,8 @@ MGL_EXPORT IB_DESIGNABLE
#pragma mark Displaying the User’s Location
+@property(nonatomic, strong, nullable) id<MGLLocationManager> locationManager;
+
/**
A Boolean value indicating whether the map may display the user location.
diff --git a/platform/ios/src/MGLMapView.mm b/platform/ios/src/MGLMapView.mm
index 978547b9c6..a26e8688c8 100644
--- a/platform/ios/src/MGLMapView.mm
+++ b/platform/ios/src/MGLMapView.mm
@@ -184,7 +184,7 @@ public:
@interface MGLMapView () <UIGestureRecognizerDelegate,
GLKViewDelegate,
- CLLocationManagerDelegate,
+ MGLLocationManagerDelegate,
MGLSMCalloutViewDelegate,
MGLCalloutViewDelegate,
MGLMultiPointDelegate,
@@ -225,7 +225,7 @@ public:
/// Indicates how thoroughly the map view is tracking the user location.
@property (nonatomic) MGLUserTrackingState userTrackingState;
-@property (nonatomic) CLLocationManager *locationManager;
+
@property (nonatomic) CGFloat scale;
@property (nonatomic) CGFloat angle;
@property (nonatomic) CGFloat quickZoomStart;
@@ -4653,13 +4653,20 @@ public:
#pragma mark - User Location -
+- (void)setLocationManager:(id<MGLLocationManager>)locationManager
+{
+ _locationManager = locationManager;
+ [_locationManager setDelegate:self];
+ [self validateLocationServices];
+}
+
- (void)validateLocationServices
{
BOOL shouldEnableLocationServices = self.showsUserLocation && !self.dormant;
if (shouldEnableLocationServices && ! self.locationManager)
{
- self.locationManager = [[CLLocationManager alloc] init];
+ self.locationManager = [[MGLAppleLocationManager alloc] init];
if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusNotDetermined)
{
@@ -4692,7 +4699,7 @@ public:
}
}
- self.locationManager.delegate = self;
+ [self.locationManager setDelegate:self];
[self.locationManager startUpdatingLocation];
[self validateUserHeadingUpdating];
@@ -4701,7 +4708,7 @@ public:
{
[self.locationManager stopUpdatingLocation];
[self.locationManager stopUpdatingHeading];
- self.locationManager.delegate = nil;
+ [self.locationManager setDelegate:nil];
self.locationManager = nil;
}
}
@@ -4932,12 +4939,12 @@ public:
}
}
-- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
+- (void)locationManager:(id<MGLLocationManager>)manager didUpdateLocations:(NSArray *)locations
{
[self locationManager:manager didUpdateLocations:locations animated:YES];
}
-- (void)locationManager:(__unused CLLocationManager *)manager didUpdateLocations:(NSArray *)locations animated:(BOOL)animated
+- (void)locationManager:(__unused id<MGLLocationManager>)manager didUpdateLocations:(NSArray *)locations animated:(BOOL)animated
{
CLLocation *oldLocation = self.userLocation.location;
CLLocation *newLocation = locations.lastObject;
@@ -5251,7 +5258,7 @@ public:
// loop... so don't do that. rdar://34059173
if (self.locationManager.headingOrientation != orientation)
{
- self.locationManager.headingOrientation = orientation;
+ [self.locationManager setHeadingOrientation:orientation];
}
}
}
diff --git a/platform/ios/src/Mapbox.h b/platform/ios/src/Mapbox.h
index 20417dbbd4..bcec7e8298 100644
--- a/platform/ios/src/Mapbox.h
+++ b/platform/ios/src/Mapbox.h
@@ -66,3 +66,4 @@ FOUNDATION_EXPORT MGL_EXPORT const unsigned char MapboxVersionString[];
#import "MGLAttributionInfo.h"
#import "MGLMapSnapshotter.h"
#import "NSExpression+MGLAdditions.h"
+#import "MGLLocationManager.h"