0

ユーザーの現在の都市を取得しようとしています(正確な住所ではなく、都市のみ)

国を取得するために、私はこのコードを使用しています:

  String locale = context.getResources().getConfiguration().locale.getCountry(); 

私は都市を取得するためにこのコードを試しました:

Geocoder gcd = new Geocoder(context, Locale.getDefault());
List<Address> addresses = gcd.getFromLocation(lat, lng, 1);
if (addresses.size() > 0) 
    System.out.println(addresses.get(0).getLocality());

ただし、空の文字列 "" が返されます

ps: 私は既にマニフェスト ファイルに ACCESS_FINE_LOCATION とインターネット アクセス許可を持っています。

どうもありがとう

4

1 に答える 1

0

まず第一に、あなたが国を取得している方法は、設定で定義された国をあなたに与えるだけです。したがって、これは多くの場合正しいかもしれませんが、設定で他の国を設定したユーザーには機能せず、実際には現在です。

Geocoder緯度と経度の組み合わせに対して結果が得られません。理由の1つは、ネットワーク接続がないか、APIで使用される基本サービスが欠落している可能性があります。

また、それがtrueを返すことを確認する必要がありGeocoder.isPresent()ます。そうでない場合は、どの場所でも機能しません。ジオコーダーのisPresent()メソッドは常にfalseを返します

于 2013-03-22T23:03:55.757 に答える