Геокодер getFromLocationName не находит адрес - PullRequest
6 голосов
/ 20 июля 2010

Geocoder getFromLocationName ничего не возвращает, если я ищу рабочие места. Вот мой вывод:

  • продуктовые магазины, коммерческие здания -> без результата
  • школ -> поиск результатов, но только возвращение широты и долготы. Я должен выполнить обратное геокодирование, чтобы получить адрес на основе координат, но адрес не будет точным.
  • полный адрес -> то же, что и школа, только возвращаются широта и долгота
  • больница и аптека -> возвращающиеся широта и долгота

Я проверил это на устройствах 1.6, 2.1 и 2.2 с Google Maps.

Я пытаюсь выяснить, есть ли какое-либо ограничение, объясненное где-то в SDK, но его нет, кроме:

Количество деталей в реверсе геокодированное описание местоположения может варьироваться, например, один может содержать полный адрес ближайшего здание, в то время как другой может содержать только название города и почтовый индекс. Класс Geocoder требует бэкэнда услуга, которая не включена в ядро Android Framework. Геокодер методы запроса вернут пустое список, если нет никакого бэкэнда в Платформа (http://developer.android.com/reference/android/location/Geocoder.html)

[обновление] Так что после ночного исследования я не могу заставить его работать - Google просто не даст мне результат. Некоторое обсуждение андроид-разработчиков указывает на тот факт, что getFromBusinessName был опущен, когда вышла Google Navigation. Итак, я начинаю предполагать, что Google отбрасывает часть своего сервиса геокодирования.

Я всегда могу создать веб-страницу, которая использует Google Geocoder API, но она ограничена вызовом 2500 api - и я не думаю, что это будет законно (смеется). Каковы мои альтернативы здесь?

Ответы [ 3 ]

1 голос
/ 11 ноября 2010

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

Я реализовал прагматичное решение: 1. Вызовите API со строкой, включающей название компании / места проведения 2. Если произойдет сбой, позвоните еще раз без названия компании / места проведения, просто адрес

Мне еще не доводилось видеть случай, когда местоположение не возвращается, так что это кажется достойным компромиссом, поскольку это означает, что я, по крайней мере, получаю данные о местоположении, хотя иногда и менее точные, и стоимость второго вызова API уменьшается многопоточные вызовы.

0 голосов
/ 09 февраля 2012

Мне не удалось найти кнопку для ответа, но, как и все вы, я столкнулся с той же проблемой. Я еще не пробовал, но звучит довольно солидно. Потенциальный обходной путь находится здесь:

Использование API Карт Google для получения адреса компании

Удачного кодирования:)

Редактировать: Забудьте эту ссылку и проверьте ее: http://code.google.com/apis/maps/documentation/places/

0 голосов
/ 25 июля 2011

Попробуйте этот подход:

1) Используйте геокодер для преобразования широты и долготы в адрес2) Выполните вызов API для Whitepages (или аналогичного сервиса), в частности для метода reverse_address, который даст вам название вашей компании по указанному адресу.

...