java - 地理编码器的 RPC 错误

标签 java android android-emulator

在了解了 Android 的工作原理几天后,我决定构建我的第一个应用程序:一个简单的应用程序,它通过一个简单的 EditText 小部件从用户提供的地址显示 GMap。
我使用 Geocoder 来做到这一点。

在使用 logcat 进行一些错误跟踪后,以下是 adb 返回的异常:

E/LocationMasfClient(   53): forwardGeocode(): RPC failed with status 1
W/System.err(  262): java.io.IOException: RPC failed with status 1
W/System.err(  262):    at   android.location.Geocoder.getFromLocationName(Geocoder.java:166)
W/System.err(  262):    at fr.meetopia.tinymap.MapViewActivity.testGeoCoder(MapViewActivity.java:104)
W/System.err(  262):    at fr.meetopia.tinymap.MapViewActivity.onCreate(MapViewActivity.java:38)
W/System.err(  262):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
W/System.err(  262):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)
W/System.err(  262):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
W/System.err(  262):    at android.app.ActivityThread.access$2200(ActivityThread.java:119)
W/System.err(  262):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)

现在这里是堆栈跟踪指向的代码:

Geocoder geoCoder = new Geocoder(this);
MapView mapView = (MapView) findViewById(R.id.mapview);
    MapController mc = mapView.getController();
    GeoPoint p;
    try {
        List<Address> addresses = geoCoder.getFromLocationName("paris france", 50);
        if (addresses.size() > 0) {
            p = new GeoPoint(
                    (int) (addresses.get(0).getLatitude() * 1E6), 
                    (int) (addresses.get(0).getLongitude() * 1E6));
            mc.animateTo(p);    
            mapView.invalidate();
        }
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

显然,这段代码是 MapActivity 实例化的一部分。

我使用不同版本的 Google APIS(8、7、4)和不同版本的 SDK平台(2.2、2.1、1.6),但没有运气。我刚刚注意到 Google API 8 包含一个已知错误并返回 Service Unavailable Exception 而不是 RPC Failed 1

另一方面,我尝试直接在我的设备 (HTC Desire 2.1) 上运行我的应用程序,但我注意到了相同的行为(也就是说:没有行为,中心是美国的 map )。

Android Manifest 的用户权限来了:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />

最佳答案

请访问我的帖子 Can't mark while showing the current location in 'mapview' 我认为通过事先修改,您可以做任何您想做的事情。

关于java - 地理编码器的 RPC 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4337013/

相关文章:

java - 在需要预处理的情况下,如何在 weka 中正确分类文本

java - 在java中将一本书的多个值添加到ArrayList中

android - grep 在显示请求的匹配数后不会终止

android - 如何调用 setInputView 方法来呈现不同的键盘

android - Oboe onAudioReady方法如何放大音频数据?

android - 是否可以为 ARM 运行 GoogleTV 模拟器?

java - getMinutes、getHour 和 getSeconds 被删除了吗?

java - 如何在所有 Android 版本中以编程方式获取当前 CPU 温度?

android-emulator - 钛应用程序与 Facebook 的集成

java - Android 应用程序中的相机控制