我正在尝试使用 cllocationmanager 获取我当前的位置。
问题:
委托方法
-(void) locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
总是在 viewdidappear 之后运行。我在viewDidLoad 中startupdatingLocation。并在 viewdidLoad 的末尾调用方法 SetMapView 。
-(void)setMapView{
MKCoordinateRegion zoomIn = plotsMapView.region;
zoomIn.span.latitudeDelta = 0.2;
zoomIn.span.longitudeDelta = 0.2;
zoomIn.center.latitude = self.currentLocation.coordinate.latitude;//[[[m_CityMarkerArray objectAtIndex:0] valueForKey:@"lat"] doubleValue];
zoomIn.center.longitude = self.currentLocation.coordinate.longitude;//[[[m_CityMarkerArray objectAtIndex:0] valueForKey:@"lng"] doubleValue];
NSLog(@"%f LAT",self.currentLocation.coordinate.latitude);
[plotsMapView setRegion:zoomIn animated:YES];
}
LAT 返回 0.0000。
但是,如果我在 viewDidAppear 中调用相同的方法,它就可以正常工作。我在 viewdidload 中需要它,因为每次我回来查看时。如果我在 viewDidAppear 中调用该方法,我会将地图重新加载到基本位置。
请帮忙!谢谢!