Android Studio Geocoder RPC non riuscita con stato 102

voti
0

Lavorare su un progetto che ottiene l'indirizzo da un database.

Da quegli indirizzi ottengo il LatLng e li pin su una Google mappe Activity.

Io uso questo metodo per ottenere LatLng dall'indirizzo:

     public LatLng getLocationFromAddress(Context context, String inputtedAddress) {

    Geocoder coder = new Geocoder(context);
    List<Address> address;
    LatLng resLatLng = null;

    try {
        // May throw an IOException
        address = coder.getFromLocationName(inputtedAddress, 5);
        if (address == null) {
            return null;
        }

        if (address.size() == 0) {
            return null;
        }

        Address location = address.get(0);
        location.getLatitude();
        location.getLongitude();

        resLatLng = new LatLng(location.getLatitude(), location.getLongitude());

    } catch (IOException ex) {

        ex.printStackTrace();

    }

    return resLatLng;

Fino a 2 giorni fa, mi ha dato 164 coordenates corretti da 285 indirizzi. Alcuni degli indirizzi ha dato nulla LatLng per qualche motivo.

Senza modificare il codice, ora ottengo il seguente errore per i primi 8-10 chiamate al geocoder:

    W/System.err: java.io.IOException: Timed out waiting for response from server
    W/System.err:     at android.location.Geocoder.getFromLocationName(Geocoder.java:178)

Dopo di che, il resto dà questo errore:

W/System.err: java.io.IOException: RPC failed with status 102
              at android.location.Geocoder.getFromLocationName(Geocoder.java:178)

La linea esatto che dà l'errore è:

    address = coder.getFromLocationName(inputtedAddress, 5);

MODIFICARE:

Dopo un po 'di indagini ho scoperto che la classe Geocoder.java ha errori, mancano alcuni metodi:

entrare

Sarebbe reinstallare Android Studio lavoro?

È pubblicato 29/03/2018 alle 10:15
fonte dall'utente
In altre lingue...                            


2 risposte

voti
0

Questo problema è stato risolto in https://stackoverflow.com/a/46256093/20394

La soluzione è di aggiornare Google Play Services a revisione 44+

Risposto il 29/03/2018 a 10:20
fonte dall'utente

voti
0

Sembra che l'emulatore non ha ancora hanno una connessione internet. Il passaggio da Ethernet a una rete WiFi ha risolto il problema. Mentre su Ethernet, il DNS è stato il dominio uno, in modo che couldnt connettersi a Internet per qualche motivo.

Risposto il 03/04/2018 a 11:27
fonte dall'utente

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more