iPhone反向地理编码:给所有可能的街道/郊区?

时间:2010-01-23 04:40:04

标签: iphone iphone-sdk-3.0 core-location reverse-geocoding

我知道Core Location在iPhone上并不准确。有没有办法使用位置(纬度/经度)和准确度,然后抓住该地区所有可能的郊区/街道?

所以不是使用反向地理编码并让它猜测'最好的郊区/街道,有没有办法让它给出一个可以考虑的所有可能的郊区/街道的数组(或其他格式) ?

谢谢!

1 个答案:

答案 0 :(得分:1)

因此,执行此操作的最佳方法是使用Google maps API。例如,看一下以下网址:http://maps.google.com/maps/geo?q=38.4417077,-90.7122047&output=xml

如您所见,对于此对(纬度,经度),您有10个可能的地标用于此坐标。

您可以在http://code.google.com/apis/maps/documentation/geocoding/index.html

找到相关文档

您可以看到以XML,JSON,CSV格式获取信息。

查看状态代码,验证请求是否成功非常重要(通常是200或200等)。

那么,如何使用VFN?

很简单。



double latitude = coordinate.latitude;
    double longitude = coordinate.longitude;

    NSString *urlString = [NSString stringWithFormat:@"http://maps.google.com/maps/geo?q=%f,%f&output=xml", latitude, longitude];   
    NSURL *url = [NSURL URLWithString:urlString];


    NSString *locationString = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];

on locationString是Google Geocoder的回复,现在您可以根据需要使用该信息。请记住首先检查状态代码,然后解析信息。如果您只想要Google Geocoder选择的第一个地标,我建议您使用CSV格式的输出,这很容易使用。

如果您有任何疑问,请与我们联系!

干杯,
VFN