2016-04-06 3 views
0

У меня есть PlaceAutoComplete, через который я выбираю первый результат в скриншоте ниже:PlaceAutoComplete не transalating точно в адрес

enter image description here

Тогда я перевожу его в адрес через следующий код:

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(); 
    } 

Смотрите результаты на экране:

enter image description here

Адрес плохо переведенный - достаточно справедливый, о котором вы можете думать. Но в некоторых случаях существует огромная разница.

Например, поиск "L & T Южной City Apartments" (в Бангалоре) показывает адрес как 8B Cross Road, Arekere в AutoPlaceComplete, но в результате транзакция является "270, 8В Cross Road, Santrupthi Нагар, JP Нагар" - на нескольких улицах.

Проблема не очень с точки зрения точности, а с точки зрения удобства пользователя. Они видят что-то еще из того, что они выбрали на экране.

Как преодолеть это? Есть ли способ получить то, что показано на автозагрузке на экране, чтобы показать пользователю?

ответ

0

PlaceAutoComplete api возвращает место для каждого места. Вы можете использовать этот placeid для получения точной информации о месте с помощью google api ниже

https://maps.googleapis.com/maps/api/place/details