web-dev-qa-db-fra.com

Service non disponible - Geocoder Android

J'ai un petit problème avec le géocodeur pour obtenir la latitude et la longitude d'une adresse:

Ceci est mon code:

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'erreur est: 

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)

Merci et salutations, Anass

45
Anass

Il y a eu récemment un problème avec les appareils Android et le géocodeur qui ne fonctionnait pas: http://code.google.com/p/Android/issues/detail?id=38009

Un redémarrage semble résoudre le problème

99
Somatik

Vous obtiendrez parfois cette erreur en cas d'échec du fournisseur de géocodage et s'il est impossible de géocoder votre emplacement.

Voir ces messages pertinents:

Geocoder.getFromLocation lève une exception

Geocoder.getFromLocation lève l'IOException sur l'émulateur Android

Si ce n'est pas le cas, assurez-vous de disposer de la permission Internet dans votre manifeste:

<uses-permission Android:name="Android.permission.INTERNET" />
13
hooked82

Essayez de mettre à jour l'emplacement en premier. Comme ci-dessous

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

se référer à ici .

0
pretty angela