Android Studio Geocoder RPC falló con el estado 102

votos
0

Trabajando en un proyecto que obtiene la dirección de una base de datos.

De esas direcciones consigo el LatLng y el pin en un Google mapas de actividad.

Yo uso este método para obtener LatLng de la dirección:

     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;

Hasta hace 2 días, me dio 164 S. coordenadas correctas de 285 direcciones. Algunas de las direcciones dio nula LatLng por alguna razón.

Sin cambiar ningún código, ahora me sale el siguiente error durante los primeros 8-10 llamadas al geocodificador:

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

Después de eso, el resto da este error:

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

La línea exacta que da el error es:

    address = coder.getFromLocationName(inputtedAddress, 5);

EDITAR:

Después de un poco más de investigación he descubierto que la clase Geocoder.java tiene errores, faltan algunos métodos:

introducir

Sería volver a instalar Android trabajo de estudio?

Publicado el 29/03/2018 a las 07:15
fuente por usuario
En otros idiomas...                            


2 respuestas

votos
0

Este problema se ha abordado en https://stackoverflow.com/a/46256093/20394

Solución es actualizar los servicios de Google Play a revisión 44+

Respondida el 29/03/2018 a las 07:20
fuente por usuario

votos
0

Parece que el emulador ni tienen una conexión a Internet. El cambio de Ethernet para conexión Wi-Fi resuelva el problema. Mientras que en Ethernet, el DNS del dominio uno, por lo que no podía conectarse a Internet por alguna razón.

Respondida el 03/04/2018 a las 08:27
fuente por usuario

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