Геокодер getFromLocationName ничего не возвращает, если я ищу бизнес-места. Вот мой вывод:
- продуктовые места, коммерческие здания -> нет результата
- школы -> поиск результатов, но возвращение только широты и долготы. Мне нужно выполнить обратное геокодирование, чтобы получить адрес на основе координат, но адрес не будет точным.
- полный адрес -> такой же, как у школы, только возвращаются широта и долгота
- больница и аптека -> возвращение широты и долготы
Я тестировал это на устройствах 1.6, 2.1 и 2.2 с Google Maps.
Я пытаюсь выяснить, есть ли ограничение где-нибудь в SDK, но его нет, кроме:
Количество деталей в описании местоположения с обратным геокодированием может варьироваться, например, одно может содержать полный адрес ближайшего здания, а другое может содержать только название города и почтовый индекс. Классу Geocoder требуется серверная служба, которая не включена в базовую структуру Android. Методы запроса геокодера вернут пустой список, если на платформе нет серверной службы (http://developer.android.com/reference/android/location/Geocoder.html)
[update] Итак, после нескольких ночей исследования я не могу заставить его работать - Google просто не даст мне результат. Некоторые обсуждения разработчиков Android указывают на тот факт, что getFromBusinessName был опущен при выходе Google Navigation. Итак, я начинаю предполагать, что Google отказывается от некоторых из своих служб геокодирования.
Я всегда могу создать веб-страницу, использующую Google Geocoder API, но она ограничена вызовом API 2500 - и я не думаю, что это будет законно (смеется). Итак, какие у меня здесь альтернативы?