Не разбирам защо сивата gps стрелка не изчезва след извикването на stopUpdatingLocation. Ето моят код:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
if (self.locationManager == nil)
{
self.locationManager = [[[CLLocationManager alloc] init]autorelease];
self.locationManager.desiredAccuracy = kCLLocationAccuracyBest;
self.locationManager.delegate = self;
}
CLLocation *location = [self.locationManager location];
CLLocationCoordinate2D coordinate = [location coordinate];
g_lat = coordinate.latitude;
g_lng = coordinate.longitude;
[self.locationManager startUpdatingLocation];
}
И ето моето didUpdateLocation:
- (void) locationManager:(CLLocationManager *)manager didUpdateToLocation: (CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
NSLog(@"Core location has a position.");
CLLocationCoordinate2D coordinate = [newLocation coordinate];
global_lat = coordinate.latitude;
global_lng = coordinate.longitude;
[self.locationManager stopUpdatingLocation];
}
- (void) locationManager:(CLLocationManager *)manager
didFailWithError:(NSError *)error
{
NSLog(@"Core location can't get a fix.");
}
Проверих също дали някое друго приложение използва GPS! След 20 минути стрелката все още е там... Благодаря за помощта!
РЕДАКТИРАНЕ:
Мисля, че пропуснах нещо много важно, при първия ми преглед след стартиране на приложението има Google Map! Това е моят код:
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:g_lat
longitude:g_lng
zoom:15];
self.mapView = [GMSMapView mapWithFrame:CGRectMake(1.0f, 160.0f, 320.0f, 100)
camera:camera];
self.mapView.delegate = self;
self.showsUserLocation = YES;
self.mapView.trafficEnabled = YES;
self.mapView.myLocationEnabled = YES;
self.mapView.settings.myLocationButton = YES;
self.mapView.settings.compassButton = YES;
[self.mapView setUserInteractionEnabled:YES];
[self.mapView setCamera:camera];
[self.containerView addSubview:self.mapView];
Възможно ли е картата на Google да се актуализира през цялото време? Ако да, как мога да спра това?
NSLog(@"%@", @"Core location can't get a fix.");
Можете просто да напишете:NSLog(@"Core location can't get a fix.");
Няма нужда от аргументи. - person allprog   schedule 28.08.2013myLocationEnabled
, когато натискате новия контролер за изглед? Ако не, тогава това може да поддържа работата на GPS. Можете да опитате, като не стартирате GPS на следващия контролер за преглед. Ако GPS остане включен, значи картата го задържа. - person allprog   schedule 28.08.2013