这个问题一直困扰着我:我的地图,当我在我的iOS设备上运行时,每当我滚动查看我最近丢弃的不同引脚时,我已经开始'回旋镖'回到用户的位置。奇怪的是,它最近才开始这样做。
这是我的代码:
- (void)viewDidLoad
{
[super viewDidLoad];
self.searchBar.delegate = self;
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
if ([self.locationManager respondsToSelector:@selector
(requestWhenInUseAuthorization)]) {
[self.locationManager requestWhenInUseAuthorization];
mapView.showsUserLocation = YES;
}
[self.locationManager startUpdatingLocation];
}
#pragma mark cllocation delegate methods
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:
(NSArray *)locations
{
NSLog(@"location info object=%@",[locations lastObject]);
[self.locationManager stopUpdatingLocation];
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Location Success"
message:@"Location
received" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[alert show];
}
关于如何处理用户位置问题的任何想法?
答案 0 :(得分:0)
您的代码说:
mapView.showsUserLocation = YES;
这意味着地图视图跟踪用户位置。它想继续展示它。如果您希望地图视图停止这样做,请停止跟踪用户位置。
通常,您将调整MKUserTrackingMode。 以及让用户这样做的最简单方法是提供MKUserTrackingBarButtonItem。
另外,请确保您没有在其他地方设置地图区域。如果您不小心,设置地图区域可以防止滚动地图。