Java.io.IOException: No se puede analizar la respuesta del servidor en getFromLocationName ()
Sé que la pregunta se ha hecho con frecuencia antes, pero no puedo conseguir la solución de ninguna respuesta o resultados de la búsqueda. Tengo que resolver este problema lo antes posible .. Estoy tratando de obtener la latitud y la longitud de la dirección de entrar por el usuario, pero me siguen recibiendo:
java.io.IOException: Unable to parse response from server
Estoy usando este código:
- ¿Puedo cambiar las capturas de pantalla de la aplicación después de publicadas?
- ¿Por qué el método onResume se va a ejecutar dos veces si la aplicación sigue ejecutando el método onCreate?
- No se pudo encontrar la clase 'com.google.android.gms.location.internal.ParcelableGeofence', referenciada desde el método glt.a
- Uso de una API de Google Maps v2
- El mapa de Google se puede mostrar en el emulador pero no en el dispositivo Android
Geocoder geocoder = new Geocoder(this ,Locale.getDefault()); String newAddress = (String)saveas.getText().toString(); List<Address> addresses = geocoder.getFromLocationName(newAddress, 1);
He intentado mucho con diferentes formas posibles, pero nada funciona … La aplicación de mapa por defecto funciona bien, cuando el usuario introduzca la dirección que muestra con éxito esa dirección en el mapa .. ¿Cómo puedo hacer lo mismo ..?
He agregado todos los permisos requeridos y lo estoy probando en el dispositivo real (versión 2.3) …
- Custom OverlayItem sin dibujar
- Control del tamaño de OverlayItem
- Google Map API V2 - ¿Cómo puedo mantener un marcador en el centro de la pantalla mientras el usuario está desplazando el mapa?
- ¿Es posible eliminar la sombra de los iconos (elementos) en un googlemap?
- Cómo recuperar la ubicación del dispositivo actual y mostrarlo en el fragmento de mapa en un fragmento
- ¿Cómo aumentar la velocidad para cargar una actividad?
- Cómo saber si un dispositivo Android está cerca de una dirección google maps api
- ¿Cómo mostrar el mapa google nativo en la vista web en android?
¿Has probado una conexión 3G? He notado que si envía varias solicitudes de geolocalización inversa de wifi, parece que su IP está bloqueado después de un tiempo y la geolocalización inversa no responderá por un período de tiempo. Cambiar a 3G hizo que la solicitud funcionara para mí cuando tenía problemas similares.
Tuve el mismo problema con mi Samsung Galaxy Tab 10.1. Busco horas para una solución y nada me ayudó. Para solucionar problemas, intente lo siguiente:
Vaya a Ajustes de ubicación y active:
1.Use las redes sin hilos 2.Use los satélites del GPS
Esperar a que la ubicación GPS se corrija
Después de esto, el servidor del geocoder comienza a responder. Incluso cuando inhabilité la localización del GPS y de la radio el servidor sigue funcionando. Creo que sólo se puede utilizar el geocodificador si comparte su ubicación con Google.
Resolví el mismo problema cambiando el contexto.
Yo uso Fragmento, por lo que mi código es como este
public class SearchRoteFragment extends Fragment{ @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.teste_mapa, container, false); context = getActivity(); ... }
Y cuando llamo geocode hago esto
Geocoder geoCoder = new Geocoder(context, Locale.getDefault());
Puede ser útil si define el parámetro locale cuando crea Geocoder:
yourGeocoder = new Geocoder(this, Locale.CANADA);
Por favor reemplace el segundo parámetro con el mejor valor.
Supongo que el valor de configuración regional predeterminado puede no corresponder a la región de mapa que utiliza.
No sé si ayuda BTW a continuación es un fragmento de mi proyecto de trabajo bien modificarlo para satisfacer sus necesidades
String newAddress = saveas.getText().toString(); searchFromLocationName(newAddress); private void searchFromLocationName(String name){ try { List<Address> result = myGeocoder.getFromLocationName(name, MAX_RESULT); if ((result == null)||(result.isEmpty())){ Toast.makeText(AndroidgetFromLocationNameActivity.this, "No matches were found or there is no backend service!", Toast.LENGTH_LONG).show(); }else{ MyArrayAdapter adapter = new MyArrayAdapter(this, android.R.layout.simple_list_item_1, result); listviewResult.setAdapter(adapter); Toast.makeText(AndroidgetFromLocationNameActivity.this, "Finished!", Toast.LENGTH_LONG).show(); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); Toast.makeText(AndroidgetFromLocationNameActivity.this, "The network is unavailable or any other I/O problem occurs!", Toast.LENGTH_LONG).show(); } }
Probablemente su teléfono no está conectado y no puede recuperar una respuesta del servidor.
Como se explica aquí geocoder
throws IOException if the network is unavailable or any other I/O problem occurs
Estaba probando en Android 2.3.4 y recibí la excepción "No se pudo analizar la respuesta del servidor".
Asegúrese de que su mapa google está funcionando, la mía no funcionaba! Una vez que el mapa de google comenzó a trabajar Geocoder estaba bien.
Utilicé "Utilizar redes inalámbricas" y "Usar satélites GPS" en la configuración "Ubicación y seguridad".
- ¿Por qué estoy recibiendo: threadid = 3: reaccionar a la señal 3 y congelación de juego (AndEngine)?
- Recuperar la firma apk en tiempo de ejecución para Android