2014-10-29 1 views
0

У меня есть простой код для возврата адреса из координат широты/долготы. Вчера он работал нормально, ничего не изменилось, но сегодня он возвращает город вместо адреса улицы.Android Geocoder * вдруг * не возвращается адрес улицы, только город

Я знаю, что могу углубиться в класс Address и явно позвонить getThoroughfare(), но это просто вернет null.

Geocoder geocoder = new Geocoder(MainActivity.this, Locale.getDefault()); 
try { 
    List<Address> addresses = geocoder.getFromLocation(lat, lon, 1); 
    return addresses.get(0).getAddressLine(0); 
} 

Нет эмуляторы, Nexus 5.

Update: это волшебство, сегодня Геокодер работает нормально снова! Обратите внимание, что координаты долготы/широты остались неизменными все это время. Возможно, я буду полагаться на getThroughfare(), чтобы получить адрес улицы, но учтите, что он может не вернуть мне значение.

+0

Если геокодер не может точно определить адрес улицы, он вернется только в город. –

ответ

2

Это связано с проблемой надежности в службе геокодирования. Координаты долготы/широты остались неизменными в моих модульных тестах, и время от времени вместо полного адреса возвращается город.

Не полагайтесь на службу геокодера, чтобы всегда возвращать полный адрес!

 Смежные вопросы

  • Нет связанных вопросов^_^