diff options
author | Nadia Barbosa <nadiabarbosa@me.com> | 2018-09-17 15:45:22 -0700 |
---|---|---|
committer | Nadia Barbosa <captainbarbosa@users.noreply.github.com> | 2018-10-02 18:28:53 -0400 |
commit | 7b243392e366907b35f819ac2d416475287d74ea (patch) | |
tree | 14d6ab0d322a9d33c51c903cbf0d1e90ac33ccd3 /platform/ios/Integration Tests/MGLTestLocationManager.m | |
parent | 41dd886ce5e0b20657d7b859b775949055129906 (diff) | |
download | qtlocation-mapboxgl-7b243392e366907b35f819ac2d416475287d74ea.tar.gz |
[ios] Add delegate method to specify the user location annotation’s position
Update method name
More API drafting
Add deprecation flag
Add Swift delegate integration test
Update method name and documentation
Update deprecation notices
Update method name
Offset anchor point relative to contentFrame
Update docs
Only run through switch statement if delegate is unimplemented
Account for content inset + refactor logic
Adjust edgePaddingForFollowing
Fix Swift delegate integration test
Set up integration test
Set up test location manager
.
Remove unused file reference from test
Return CGPoint value from delegate method within integration test setup
Test anchor points
Make updateUserLocationAnnotationView public
Refactor test
Update test location manager
Changelog entry
Doc fixes
Diffstat (limited to 'platform/ios/Integration Tests/MGLTestLocationManager.m')
-rw-r--r-- | platform/ios/Integration Tests/MGLTestLocationManager.m | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/platform/ios/Integration Tests/MGLTestLocationManager.m b/platform/ios/Integration Tests/MGLTestLocationManager.m new file mode 100644 index 0000000000..f9a5a8650f --- /dev/null +++ b/platform/ios/Integration Tests/MGLTestLocationManager.m @@ -0,0 +1,44 @@ +#import "MGLTestLocationManager.h" + +// Used to supply integration tests with a simulated location manager. +// Methods that are empty are not used within integration tests and are +// therefore unimplemented. + +@implementation MGLTestLocationManager + +@synthesize delegate; + +- (CLAuthorizationStatus)authorizationStatus { return kCLAuthorizationStatusAuthorizedAlways; } + +- (void)setHeadingOrientation:(CLDeviceOrientation)headingOrientation { } + +- (CLDeviceOrientation)headingOrientation { return 90; } + +- (void)requestAlwaysAuthorization { } + +- (void)requestWhenInUseAuthorization { } + +- (void)startUpdatingHeading { } + +// Simulate one location update +- (void)startUpdatingLocation +{ + if ([self.delegate respondsToSelector:@selector(locationManager:didUpdateLocations:)]) { + CLLocation *location = [[CLLocation alloc] initWithLatitude:37.787357 longitude:-122.39899]; + [self.delegate locationManager:self didUpdateLocations:@[location]]; + } +} + +- (void)stopUpdatingHeading { } + +- (void)stopUpdatingLocation { } + +- (void)dismissHeadingCalibrationDisplay { } + +- (void)dealloc { self.delegate = nil; } + +- (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading { } + +- (BOOL)locationManagerShouldDisplayHeadingCalibration:(CLLocationManager *)manager { return NO; } + +@end |