我正在尝试使用以下代码将地理编码 2 地名转发到坐标中:
CLGeocoder *geocoder = [[CLGeocoder alloc] init];
[geocoder geocodeAddressString:place inRegion:nil completionHandler:^(NSArray* placemarks, NSError* error){ NSLog(@"a"); NSLog(@"count %d", [placemarks count]); for (CLPlacemark* aPlacemark in placemarks) { CLLocationCoordinate2D coord = aPlacemark.location.coordinate; NSLog(@"%f, %f", coord.latitude, coord.longitude); } }]; [geocoder geocodeAddressString:place inRegion:nil completionHandler:^(NSArray* placemarks, NSError* error){ NSLog(@"b"); NSLog(@"count %d", [placemarks count]); for (CLPlacemark* aPlacemark in placemarks) { CLLocationCoordinate2D coord = aPlacemark.location.coordinate; NSLog(@"%f, %f", coord.latitude, coord.longitude); } }];
为了简化,我将一个地名转换了两次。当我运行代码时,只运行第一个地理编码完成处理程序。其余的地理编码完成处理程序将被忽略。
我想知道为什么会发生这种情况以及如何转换多个地方。