私は最後の2日間、IllegalArgumentException
エラーで私は外出しています。アドレスから座標を取得しようとしたときにAndroidコードで受け取るエラーが発生しました。また、逆の場合でも経度からアドレスを取得します。および緯度。これはコードですが、エラーは表示されません。 Google検索で簡単に見つかる標準のコードスニペットです。geocoder.getFromLocationNameはnullのみを返します
public GeoPoint determineLatLngFromAddress(Context appContext, String strAddress) {
Geocoder geocoder = new Geocoder(appContext, Locale.getDefault());
GeoPoint g = null;
try {
System.out.println("str addres: " + strAddress);
List<Address> addresses = geocoder.getFromLocationName(strAddress, 5);
if (addresses.size() > 0) {
g = new GeoPoint(
(int) (addresses.get(0).getLatitude() * 1E6),
(int) (addresses.get(0).getLongitude() * 1E6)
);
}
} catch (Exception e) {
throw new IllegalArgumentException("locationName == null");
}
return g;
}
これらのmanifest.xmlファイルからの許可されている:私は、GoogleのAPIキーがあまりにも宣言したん
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
:<uses-library android:name="com.google.android.maps" />
を上記のコードから、geocoder
は、null
ではありませんどちらもaddress
またはappContext
であり、私はここでつまずく:geocoder.getFromLocationName(strAddress, 5);
は、私はGoogleの検索の多くを行なったし、働いていた何も見つからなかった、と私が見つけた最も重要な情報はこれです:
ジオコーダクラスがコアアンドロイドフレームワークに含まれていないバックエンドサービスを必要とします。
Sooo、私は今混乱しています。どのようなコードを呼び出すか、インポートし、追加して、コード内で使用する必要がありますか? 私はGoogle API 2.2、APIレベル8を使用しています。 誰かがこれについての解決策、またはドキュメントのためのポインタを見つけた場合は、私が発見しなかったものをお知らせください。
Android2.0で試してみます。ありがとうございます。うまくいけばうまくいきます。そうなら、お知らせします。明けましておめでとうございます! – test
お誕生日おめでとう! – Sandy