Я создаю приложение с картой в приложении и кнопкой, чтобы перейти на google.Map-приложение.
Код моей позиции:
-(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation {
float avgAccuracy = (newLocation.verticalAccuracy + newLocation.horizontalAccuracy)/2.0;
if (avgAccuracy < 500) {
[locationManager stopUpdatingLocation];
locationManager.delegate = nil;
}
storedLocation = [newLocation coordinate];
Коддля вида:
- (void)viewDidLoad {
[super viewDidLoad];
UIImage *image = [UIImage imageNamed: @"LogoNavBar.png"];
UIImageView *imageview = [[UIImageView alloc] initWithImage: image];
UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithCustomView: imageview];
self.navigationItem.rightBarButtonItem = button;
[imageview release];
[button release];
locationManager=[[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
locationManager.distanceFilter = kCLDistanceFilterNone;
[locationManager startUpdatingLocation];
mapView.showsUserLocation = YES;
NSLog(@"storedLocation-latitude für MKregion: %f", storedLocation.latitude);
MKCoordinateRegion region;
region.center.latitude = (storedLocation.latitude + 45.58058)/2.0;
region.center.longitude = (storedLocation.longitude - 0.546835)/2.0;
region.span.latitudeDelta = ABS(storedLocation.latitude - 45.58058);
region.span.longitudeDelta = ABS(storedLocation.longitude + 0.546835);
[mapView setRegion:region animated:TRUE];
MKCoordinateRegion hotel;
hotel.center.latitude = 45.58058;
hotel.center.longitude = -0.546835;
HotelPositionMarker* marker = [[HotelPositionMarker alloc] initWithCoordinate:hotel.center];
[mapView addAnnotation:marker];
[marker release];
}
Моя проблема: когда «viewDidLoad» запускается, «хранится» все равно 0,0000, требуется немного больше времени, чтобы получить собственную позицию, чем для начала просмотра.Журнал для «сохраненного местоположения» в разделе «viewDidLoad» равен 0, в то время как журнал для «сохраненного местоположения» в «- (IBAction)», когда карта видима, содержит правильные значения.
Как можноУ меня получилось, чтобы мои координаты были перед загрузкой вида?Мне нужно, чтобы они центрировали мнение относительно собственной позиции и позиции, данной мной.
MKCoordinateRegion region;
region.center.latitude = (storedLocation.latitude + 45.58058)/2.0;
region.center.longitude = (storedLocation.longitude - 0.546835)/2.0;
region.span.latitudeDelta = ABS(storedLocation.latitude - 45.58058);
region.span.longitudeDelta = ABS(storedLocation.longitude + 0.546835);
[mapView setRegion:region animated:TRUE];