Im создает небольшое приложение, которое считывает некоторые данные с веб-сервера, и это работает finde. Затем я сделал метод, который является недействительным, и только получает широту и долготу от некоторого адреса.Объект C метод geoLocation не возвращает двойное значение автоматически
-(void)getLocation{
if (!self.geocoder) {
self.geocoder = [[CLGeocoder alloc] init];
}
NSString *address = self.label1.text;
[self.geocoder geocodeAddressString:address completionHandler:^(NSArray *placemarks, NSError *error) {
if ([placemarks count] > 0) {
CLPlacemark *placemark = [placemarks objectAtIndex:0];
CLLocation *location = placemark.location;
CLLocationCoordinate2D coordinate = location.coordinate;
latitude1 = coordinate.latitude;
longitude1 = coordinate.longitude;
}
}];
}
в файле .h я объявил их к переменным (не в интерфейсе):
@property double latitude1;
@property double longitude1;
я тогда называю это с помощью кнопки:
- (IBAction)find:(id)sender{
NSLog(@"Latitude1: %f og Longitude1: %f", latitude1, longitude1);
float spanX = 0.00725;
float spanY = 0.00725;
MKCoordinateRegion region;
region.center.latitude = self.latitude1;
region.center.longitude = self.longitude1;
region.span = MKCoordinateSpanMake(spanX, spanY);
[self.mapView setRegion:region animated:YES];
}
Это отлично работает мелкий ....
, но я просто не могу назвать это:
NSLog(@"Latitude: %f and %f",latitude1, longitude1);
с точки зренияDidLoad метод.
Его как я должен использовать его в IBaction, и что я не могу использовать latitude1 и longitude1 любым другим способом. Мне нужно принять широту и долготу и иметь возможность использовать значения, как я хочу, а не только нажатием кнопки.
Это просто не имеет смысла, что он работает, если я вручную нажимаю кнопку обновления, тогда он показывает вещи на карте и отображает широту и долготу, но когда я использую его в методе viewdidload, он просто отображает 0.00000 ,
еще одна вещь, о которой я думал, - это как вернуть несколько значений из одного метода, например, я хочу вернуть latitude1 и longitude1 из моего метода getLocation. nsdictionary или array или struct?
это то, что возвращается: latitude1 \t \t двойного 0 longitude1 \t \t двойного 0 \t – uba2012
0, так что кажется, что в точке разрыва блок ничего от Геокодера – uba2012