У меня есть PlaceAutoComplete, через который я выбираю первый результат в скриншоте ниже:PlaceAutoComplete не transalating точно в адрес
Тогда я перевожу его в адрес через следующий код:
Geocoder geocoder = new Geocoder(this, Locale.getDefault());
try {
List<Address> addressList = geocoder.getFromLocation(endLocation.getLatLng().latitude, endLocation.getLatLng().longitude, 1);
if (addressList != null && addressList.size() > 0) {
// TODO -=- Destination city check
Address address = addressList.get(0);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < address.getMaxAddressLineIndex(); i++) {
sb.append(address.getAddressLine(i)).append("\n");
}
// Update screen with Location
endLocationOnScreen.setText(sb.toString());
}
} catch (IOException e) {
e.printStackTrace();
}
Смотрите результаты на экране:
Адрес плохо переведенный - достаточно справедливый, о котором вы можете думать. Но в некоторых случаях существует огромная разница.
Например, поиск "L & T Южной City Apartments" (в Бангалоре) показывает адрес как 8B Cross Road, Arekere в AutoPlaceComplete, но в результате транзакция является "270, 8В Cross Road, Santrupthi Нагар, JP Нагар" - на нескольких улицах.
Проблема не очень с точки зрения точности, а с точки зрения удобства пользователя. Они видят что-то еще из того, что они выбрали на экране.
Как преодолеть это? Есть ли способ получить то, что показано на автозагрузке на экране, чтобы показать пользователю?