从邮政编码获取CLLocationCoordinate?

时间:2011-10-06 19:17:37

标签: iphone ios ipad latitude-longitude

你会怎么做呢? iOS API是否提供从邮政编码中检索一组坐标的任何函数?

反向地理编码器给我一个坐标设置的邮政编码,但是我能在另一个地方做到吗?

2 个答案:

答案 0 :(得分:2)

您可以使用Apple的CLGeocoder类将字符串地理编码为一组匹配的CLPlacemarks,每个匹配的CLGeocoder *geocoder = [[CLGeocoder alloc] init]; [geocoder geocodeAddressString:@"94107" completionHandler:^(NSArray *placemarks, NSError *error) { NSLog(@"Received placemarks: %@", placemarks); }]; 包含其位置的坐标对。例如:

geocodeAddressDictionary:

或者,您可以尝试使用CLGeocoder *geocoder = [[CLGeocoder alloc] init]; NSDictionary *locationDictionary = [NSDictionary dictionaryWithObjectsAndKeys:@"94107", kABPersonAddressZIPKey, nil]; [geocoder geocodeAddressDictionary:locationDictionary completionHandler:^(NSArray *placemarks, NSError *error) { NSLog(@"Received placemarks: %@", placemarks); }]; 方法,这可能会产生更准确/可靠的结果(尽管我还没有亲自测试过):

{{1}}

此处有更多信息:https://developer.apple.com/library/ios/documentation/CoreLocation/Reference/CLGeocoder_class/Reference/Reference.html#//apple_ref/occ/cl/CLGeocoder

答案 1 :(得分:1)

iOS API目前仅提供反向地理编码意味着您只能通过CLLocation获取地址,而不是相反。如果您想要进行转发地理编码,则应使用google web api,因为您可以在此处阅读 http://blog.sallarp.com/ipad-iphone-forward-geocoding-api-google/