ユーザーから 2 つの場所を取得する iPhone アプリを開発しています。ジオコードを 2 回繰り返し実行したいのですが、私のコードは最初のジオコードを実行しますが、2 番目のジオコードは実行しません。
今のところ for ループは使用していません。ジオコードを 2 回実行して、座標を 2 つの異なる UILabels に出力したいだけです。
私は何が欠けていますか?
- (IBAction)fetchCoordinates:(id)sender {
if (!self.geocoder) {
self.geocoder = [[CLGeocoder alloc] init];
}
NSString *address1 = [NSString stringWithFormat:@"%@", self.yourLocation.text];
NSString *address2 = [NSString stringWithFormat:@"%@", self.theirLocation.text];
[self.geocoder geocodeAddressString:address1 completionHandler:^(NSArray *placemarks, NSError *error) {
if ([placemarks count] > 0) {
CLPlacemark *placemark = [placemarks objectAtIndex:0];
CLLocation *location = placemark.location;
CLLocationCoordinate2D coordinate = location.coordinate;
self.coordinatesLabel1.text = [NSString stringWithFormat:@"%f, %f", coordinate.latitude, coordinate.longitude];
}
}];
[self.geocoder geocodeAddressString:address2 completionHandler:^(NSArray *placemarks, NSError *error) {
if ([placemarks count] > 0) {
CLPlacemark *placemark = [placemarks objectAtIndex:0];
CLLocation *location = placemark.location;
CLLocationCoordinate2D coordinate = location.coordinate;
self.coordinatesLabel2.text = [NSString stringWithFormat:@"%f, %f", coordinate.latitude, coordinate.longitude];
}
}];
}
@end