Поиск в MKMapview с использованием JSON имеет тенденцию не давать никаких результатов или дает неверный результат. - PullRequest
2 голосов
/ 25 марта 2012

У меня есть приложение для iphone (iOS 5), которое использует UISearchBar для поиска в MKMapView.Мы использовали JSON-запросы и использовали фантастические ответы на этот вопрос в качестве ссылки (наш код очень похож).Сам процесс теперь работает нормально, но мы, как правило, не получаем результатов от Google, когда запрашиваем их, или просто получаем очень далекие и неверные результаты.В большинстве случаев мы можем даже искать «Макдональдс» или «Метро», поскольку это не даст никаких результатов.В целом, это редко дает хороший результат, если мы не очень конкретны и включаем город и штат и все такое.

Есть ли еще лучший способ сделать это?Было ли что-то обновлено после того ответа, который мы теперь должны принять во внимание?Проблема, похоже, не в том, что код не работает, а в том, что Google просто плохо обрабатывает запросы так, как мы это делаем.Кажется, это довольно распространенное использование для MKMapview, поэтому я решил, что должно быть более простое и лучше работающее решение.

Любая помощь будет высоко ценится.

1 Ответ

0 голосов
/ 27 июля 2012

Вот очень полезный список параметров, которые поддерживает API Карт Google: http://querystring.org/google-maps-query-string-parameters/

У вас есть несколько вариантов:

1) Получить местоположение пользователя из приложения и передать его в поисковый запрос с параметром sll, например.

этот поиск не включает местоположение:
https://maps.google.com/?q=starbucks

но этот делает (я использовал Сан-Франциско в этом примере):
https://maps.google.com/?q=starbucks&sll=37.776414,-122.437477

Тогда вы получите результаты для фактического местоположения пользователя. Вам также нужно будет сделать что-то разумное, если пользователь не разрешит приложению получить доступ к своему местоположению (в этом случае вы можете отключить поиск).

2) Если ваше приложение предназначено для определенного места, то вы можете просто добавить это место в конец строки поиска. например мое приложение Domesday предназначено только для Англии, поэтому в конце всех моих поисковых запросов я добавляю ", Англия", и это прекрасно работает для меня.

...