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
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
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" />
Essayez de mettre à jour l'emplacement en premier. Comme ci-dessous
locationManager.requestLocationUpdates(bestProvider, 20000, 1, this);
se référer à ici .