-3

以下のコードでは結果が得られません。

list_addr = gc.getFromLocation(latitude, longitude, 5); 

値を返さなくてもnull...

それは愚かなように振る舞います。

その解決策を教えてください。

4

2 に答える 2

1

Geocoder.getFromLocations(double, double, int)結果を返すか (null も結果です)、例外をスローします。

コードのどこかで一般的な例外を黙ってキャッチしていませんか?

アップデート:

このコードを使用してから、logcat を確認してください。これが機能しない理由がわかるはずです。

    Geocoder gc = new Geocoder(getApplicationContext(), Locale.getDefault());
    try {
        List<Address> list_addr = gc.getFromLocation(40.0d, 10.0d, 5);
    } catch (IllegalArgumentException iae) {
        Log.e("Geocoder IllegalArgumentException exception: ", iae.getMessage());
    } catch (IOException ioe) {
        Log.e("Geocoder IOException exception: ", ioe.getMessage());
    }

アップデート2:

これは、エミュレータ v2.2: Androidのバグであることが判明しました。Geocoder、「サービスが利用できません」と表示されるのはなぜですか?

于 2011-02-25T12:06:29.230 に答える
0

これを試して

List<Address> addresses = new Geocoder(MyActivity.this,Locale.getDefault()).getFromLocation(latitude, longitude, 1);
于 2011-02-25T12:02:49.620 に答える