2011-08-18 22 views
44

Ho un piccolo problema con il geocoder per ottenere la latitudine e lontitude da un indirizzo:Servizio non disponibile - Geocoder Android

Questo è il mio codice:

for (Garage g : XMLGarage) { 
List<Address> address; 
address = coder.getFromLocationName(
g.getAddress(), 5); 
if (address != null) { 
Address location = address.get(0); 
g.setLatitude(location.getLatitude()); 
g.setLongitude(location.getLongitude()); 
... 

L'errore è:

08-18 14:28:56.026: WARN/System.err(359): java.io.IOException: Service not Available 
08-18 14:28:56.026: WARN/System.err(359):  at 
android.location.Geocoder.getFromLocationName(Geocoder.java:178) 
08-18 14:28:56.026: WARN/System.err(359):  at 
com.amt.android.garage.Garage.postData(Garage.java:269) 
08-18 14:28:56.026: WARN/System.err(359):  at 
com.amt.android.garage.GarageForm$2.onClick(GarageForm.java:86) 
08-18 14:28:56.026: WARN/System.err(359):  at 
android.view.View.performClick(View.java:2485) 
08-18 14:28:56.026: WARN/System.err(359):  at 
android.view.View$PerformClick.run(View.java:9080) 
08-18 14:28:56.036: WARN/System.err(359):  at 
android.os.Handler.handleCallback(Handler.java:587) 
08-18 14:28:56.036: WARN/System.err(359):  at 
android.os.Handler.dispatchMessage(Handler.java:92) 
08-18 14:28:56.036: WARN/System.err(359):  at 
android.os.Looper.loop(Looper.java:130) 
08-18 14:28:56.036: WARN/System.err(359):  at 
android.app.ActivityThread.main(ActivityThread.java:3683) 
08-18 14:28:56.036: WARN/System.err(359):  at 
java.lang.reflect.Method.invokeNative(Native Method) 
08-18 14:28:56.036: WARN/System.err(359):  at 
java.lang.reflect.Method.invoke(Method.java:507) 
08-18 14:28:56.036: WARN/System.err(359):  at 
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
08-18 14:28:56.046: WARN/System.err(359):  at 
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
08-18 14:28:56.046: WARN/System.err(359):  at dalvik.system.NativeStart.main(Native  
Method) 

Grazie e saluti, Anass

+0

Vorrei sottolineare che anche se questa domanda è contrassegnata come duplicata (che è corretta), la risposta più alta fornita in questa domanda è una soluzione valida e valida che l'altra domanda non offre. – d60402

risposta

13

Si otterrà occasionalmente questo errore se GeoCoding provi der fallisce e non è in grado di geocodificare la tua posizione.

vedere questi messaggi rilevanti:

Geocoder.getFromLocation throws Exception

Geocoder.getFromLocation throws IOException on Android emulator

Se questo non è il caso, assicurarsi di avere il permesso di Internet nel vostro manifesto:

<uses-permission android:name="android.permission.INTERNET" /> 
+0

Servizio non disponibile - Geocoder Android quando ottengo questo errore in alcune rom cucinate ho scritto questa libreria spero possa essere utile. https://github.com/dnocode/gapis – dnocode

98

C'è un problema recente con dispositivi Android e il geocoder non funziona: http://code.google.com/p/android/issues/detail?id=38009

Un riavvio sembra risolvere il problema

+87

suggerendo che il riavvio è una soluzione terribile. Ancora più terribile di una soluzione quando è quella giusta. Ha funzionato per me – djunod

+0

Abbiamo avuto questo su 4 dispositivi con diverse versioni di Android. Non ho mai visto questo problema in seguito. (probabilmente correlato all'aggiornamento dei servizi di gioco di google) – Somatik

+0

Wowwww !!! Lavora anche per me ... Quindi, come funziona senza il dispositivo "Riavvia"? – HATCHA

0

provare ad aggiornare Posizione prima. Come sotto

locationManager.requestLocationUpdates(bestProvider, 20000, 1, this); 

fare riferimento a here.

Problemi correlati