iPhone обратное геокодирование: дать все возможные улицы / пригороды? - PullRequest
1 голос
/ 23 января 2010

Я знаю, что расположение ядра не всегда точно на iPhone. Есть ли способ использовать местоположение (широта / долгота) наряду с точностью, чтобы затем захватить все возможные пригороды / улицы в этой области?

Таким образом, вместо использования обратного геокодирования и определения «наилучшего возможного пригорода / улицы», есть способ заставить его дать массив (или в каком-либо другом формате) всех возможных пригородов / улиц, которые он мог бы рассмотреть

Спасибо !!

1 Ответ

1 голос
/ 23 января 2010

Итак, лучший подход для этого - использовать API карт Google. Например, посмотрите следующий URL: 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

...