Как получить несколько меток от CLGeocoder

Какой бы адрес я ни дал геокодеру ([geocoder geocodeAddressString:completionHandler:), он всегда помещает только один объект в массив меток.

Есть ли способ получить несколько результатов (например, в приложении «Карты»), из которых пользователь может выбрать один?


person johsem    schedule 02.05.2012    source источник


Ответы (2)


Я просмотрел пакеты, и оказалось, что CLGeocoder подключается не к службе геокодирования Google, а к службе Apple. Я также заметил, что каждый раз получаю только одну метку оттуда.

Если вы хотите что-то более сложное, вы должны использовать Google или другое геокодирование. Я использую https://github.com/samvermette/SVGeocoder, который имеет очень похожий API. в CLGeocoder.

person Maciej Trybiło    schedule 02.06.2012
comment
Почему это происходит? Из Apple Docs: в случае запросов прямого геокодирования могут быть возвращены несколько объектов меток, если предоставленная информация дает несколько возможных местоположений. - person prince; 05.07.2012
comment
Я полагаю, что служба геокодирования Apple на данный момент довольно ограничена. Я ожидаю, что это скоро изменится. Здесь видно, что Apple как раз торопится уйти от зависимости от Google. - person Maciej Trybiło; 05.07.2012
comment
Это интересно, так как все еще кажутся проблемы с множественными возвратами placemark из CLGeocoder, хотя встроенное решение для поиска карт iOS 6, кажется, реализует именно то, что все ищут. Интересно, какое решение Apple использует на данный момент? - person NSTJ; 28.09.2012
comment
SVGeocoder использует службу геокодирования Google, которую вы, кстати, не можете использовать без отображения результатов на карте Google. - person Matt Green; 04.10.2012