服务不可用 - Geocoder Android

Ana*_*ass 45 android google-geocoder

我对地理编码器有一点问题是从地址获取纬度和纬度:

这是我的代码:

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());
...
Run Code Online (Sandbox Code Playgroud)

错误是:

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)
Run Code Online (Sandbox Code Playgroud)

谢谢和问候,阿纳斯

Som*_*tik 100

Android设备和地理编码器最近出现问题:http://code.google.com/p/android/issues/detail? id = 38009

重启似乎解决了这个问题

  • 建议重启是一个可怕的解决方案.当它是正确的解决方案时,更可怕的解决方案.为我工作. (89认同)
  • 好的..我只是尝试编辑帖子,但我的编辑被拒绝了.我只想分享我的经验:重新启动修复问题只是..临时.这个错误又回来了.作为替代方案,可以使用Google Map API.我在这里提供了一个完整的工作示例:http://stackoverflow.com/questions/9272918/service-not-available-in-geocoder/15853124#15853124 (8认同)
  • 有2片这个问题.使用Google Play服务和Geocoder升级后无效.重新启动修复了这个问题.加油谷歌...... (2认同)
  • 我认为这是一个愚蠢的解决方案,但它是有效的! (2认同)
  • @RichardLeMesurier 2017在这里......它仍然可以通过API 25目标实现 (2认同)

hoo*_*d82 13

如果GeoCoding提供程序失败并且无法对您的位置进行地理编码,则偶尔会出现此错误.

查看这些相关帖子:

Geocoder.getFromLocation抛出异常

Geocoder.getFromLocation在Android模拟器上抛出IOException

如果不是这种情况,请确保您在Manifest中拥有Internet权限:

<uses-permission android:name="android.permission.INTERNET" />
Run Code Online (Sandbox Code Playgroud)