web-dev-qa-db-ja.com

サービスは利用できません-ジオコーダーAndroid

住所から緯度と経度を取得するジオコーダーに少し問題があります:

これは私のコードです:

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());
...

エラーは次のとおりです。

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)

よろしくお願いします、アナス

45
Anass

最近、Androidデバイスとジオコーダーが機能しない問題があります: http://code.google.com/p/Android/issues/detail?id=38009 =

再起動すると問題が解決するようです

99
Somatik

GeoCodingプロバイダーが失敗し、場所をジオコーディングできない場合、このエラーが時々発生します。

これらの関連記事を参照してください。

Geocoder.getFromLocationが例外をスローします

Geocoder.getFromLocationは、Android emulator でIOExceptionをスローします

そうでない場合は、マニフェストでインターネット権限を持っていることを確認してください。

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

最初に場所を更新してみてください。以下のように

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

here を参照してください。

0
pretty angela