Почесывая голову на этом:
У меня есть viewController с представлением «loading ...», которое вызывается, когда я загружаю другой viewController с представлением MapKit, которое ищет местоположение.
В этом представлении «Загрузка ...» есть кнопка отмены, которая при нажатии переключает представление в начальный viewController.Происходит следующее: когда я переключаюсь в начальный вид, вид карты все еще в стеке и обновляется в фоновом режиме.Я попытался [locationmanager stopupdatinglocation] и не могу остановить его обновление.Все, что мне нужно, это полностью удалить вид карты из стека,
Кто-нибудь может помочь?
Спасибо
Это код кнопки возврата из представления загрузки ...:
-(void)back{
[UIApplication sharedApplication].networkActivityIndicatorVisible=NO;
Car_Park_AppViewController *appView = [[Car_Park_AppViewController alloc]initWithNibName:@"Car_Park_AppViewController" bundle:nil];
appView.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:appView animated:YES];
[appView release];
}
код карты
- (void)viewDidLoad
{
[super viewDidLoad];
mapView.mapType = MKMapTypeSatellite;
mapView.showsUserLocation=TRUE;
loading *loadingView = [[loading alloc] init];
[super.view addSubview:loadingView.view];
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate=self;
locationManager.distanceFilter = kCLDistanceFilterNone; locationManager.desiredAccuracy = kCLLocationAccuracyBest;
[locationManager startUpdatingLocation];
CLLocationCoordinate2D location;
location.latitude = mapView.userLocation.location.coordinate.latitude;
location.longitude = mapView.userLocation.location.coordinate.longitude;
}
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
MyManager *mng = [MyManager sharedManager];
mng.startLocation = newLocation;
MKCoordinateSpan span;
span.latitudeDelta=.00001;
span.longitudeDelta=.00001;
MKCoordinateRegion region;
region.center = newLocation.coordinate;
region.span=span;
[mapView setRegion:region animated:TRUE];
i++;
NSTimeInterval locationAge = -[mng.endLocation.timestamp timeIntervalSinceNow];
NSLog(@"Accuracy %f",newLocation.horizontalAccuracy);
if ((locationAge < 5.0) && (newLocation.horizontalAccuracy < 30.1)){
[self recLocation];
i=0;
}
haveAlreadyReceivedCoordinates = YES;
}