11

私は2つのデバイスを持っています。1 つはHTC WildFire Sで、もう 1 つはHTC 1Vです。アプリケーションでを使用しGeocoder.getFromLocationName()ました。HTC ワイルドファイア Sで正常に動作しています。しかし、HTC 1Vでは、次のエラーが発生しました。なぜそれが来たのですか?どうすればこれを解決できますか? 誰でも私を助けてください。

コード

Geocoder geoCoder = new Geocoder(getBaseContext(), Locale.getDefault()); 
//s is the address
List<Address> addresses = geoCoder.getFromLocationName(s, 5); //Here i got the following Exception.

エラー

06-18 16:28:17.933: W/System.err(4960): java.io.IOException: Service not Available
06-18 16:28:17.953: W/System.err(4960):at android.location.Geocoder.getFromLocationName(Geocoder.java:178)

ロケーションタブ

ここに画像の説明を入力

4

2 に答える 2

6

最後に答えを見つけました: https://code.google.com/p/android/issues/detail?id=38009

Geocoder が機能するようにデバイスを再起動します。それが誰かを助けることを願っています

注: Google API 16 を使用すると動作すると言う人もいます

于 2013-03-29T22:35:37.303 に答える
-2
  GeoPoint point = new GeoPoint(
                        (int) (LATITUDE * 1E6),
                        (int) (LONGITUDE * 1E6));

String n;

public void someRandomMethod() {
        n = convertPointToLocation(point);
}



public String convertPointToLocation(GeoPoint point) {
        String address = "";
        Geocoder geoCoder = new Geocoder(
                getBaseContext(), Locale.getDefault());
        try {
            List<Address> addresses = geoCoder.getFromLocation(
                    point.getLatitudeE6()  / 1E6,
                    point.getLongitudeE6() / 1E6, 1);

            if (addresses.size() > 0) {
                for (int index = 0; index < addresses.get(0).getMaxAddressLineIndex(); index++)
                    address += addresses.get(0).getAddressLine(index) + " ";
            }
        }
        catch (IOException e) {
            e.printStackTrace();
        }

        return address;
    }
于 2013-03-28T23:35:29.370 に答える