J’ai un petit problème avec le géocodeur pour obtenir la latitude et la lontitude d’une adresse:
Ceci est mon code:
for (Garage g : XMLGarage) { List 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
Il y a un problème récemment avec les appareils Android et le géocodeur ne fonctionne pas: http://code.google.com/p/android/issues/detail?id=38009
Un redémarrage semble résoudre le problème
Vous obtiendrez cette erreur de temps en temps si le fournisseur GeoCoding échoue et est incapable de géocoder votre position.
Voir ces articles pertinents:
Geocoder.getFromLocation déclenche une exception
Geocoder.getFromLocation lance une exception IOException sur un émulateur Android
Si ce n’est pas le cas, assurez-vous d’avoir la permission Internet dans votre manifeste:
Essayez d’abord de mettre à jour votre emplacement. Comme ci-dessous
locationManager.requestLocationUpdates(bestProvider, 20000, 1, this);
voir ici .