私が持っているもの:現在のところ、私のアプリは自分の現在地の座標だけを教えています。フェッチされた座標からロケーション名を取得
私が欲しいもの:座標がgpsによってフェッチされた位置の名前を取得します。その結果、正確な位置を知ることができます。 (所在地)
私が持っているもの:現在のところ、私のアプリは自分の現在地の座標だけを教えています。フェッチされた座標からロケーション名を取得
私が欲しいもの:座標がgpsによってフェッチされた位置の名前を取得します。その結果、正確な位置を知ることができます。 (所在地)
は長いフェッチからの完全なコードです - アドレス取得にLAT:
LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
String provider = locationManager.getBestProvider(new Criteria(), true);
Location locations = locationManager.getLastKnownLocation(provider);
List<String> providerList = locationManager.getAllProviders();
if(null!=locations && null!=providerList && providerList.size()>0){
double longitude = locations.getLongitude();
double latitude = locations.getLatitude();
Geocoder geocoder = new Geocoder(getApplicationContext(), Locale.getDefault());
try {
List<Address> listAddresses = geocoder.getFromLocation(latitude, longitude, 1);
if(null!=listAddresses&&listAddresses.size()>0){
String _Location = listAddresses.get(0).getAddressLine(0);
}
} catch (IOException e) {
e.printStackTrace();
}
}
ときどきこの逆ジオコーディング技術私は必要なときに毎回lat-longからアドレスを取得する方法はありますか? –
はい、いつかアドレスを返しません。このためには、アドレスを取得するためにアドレスを取得しなかった場合や、アドレスを取得するためにgoogle apiを使用できる場合など、バックアップメカニズムを実装することができます。 –
この許可を使用する:
GeoCoder
は、android.locationにあります。 Geocoder
パッケージ。 JavaDocsは完全な説明を提供します。あなたのための可能なサンプル。
List<Address> list = geoCoder.getFromLocation(location
.getLatitude(), location.getLongitude(), 1);
if (list != null & list.size() > 0) {
Address address = list.get(0);
result = address.getLocality();
return result;
result
は、場所の名前を返します。
ここでは、この関数で緯度と経度を渡しただけで、この緯度と経度に関連するすべての情報が得られます。
public void getAddress(double lat, double lng) {
Geocoder geocoder = new Geocoder(HomeActivity.mContext, Locale.getDefault());
try {
List<Address> addresses = geocoder.getFromLocation(lat, lng, 1);
Address obj = addresses.get(0);
String add = obj.getAddressLine(0);
GUIStatics.currentAddress = obj.getSubAdminArea() + ","
+ obj.getAdminArea();
GUIStatics.latitude = obj.getLatitude();
GUIStatics.longitude = obj.getLongitude();
GUIStatics.currentCity= obj.getSubAdminArea();
GUIStatics.currentState= obj.getAdminArea();
add = add + "\n" + obj.getCountryName();
add = add + "\n" + obj.getCountryCode();
add = add + "\n" + obj.getAdminArea();
add = add + "\n" + obj.getPostalCode();
add = add + "\n" + obj.getSubAdminArea();
add = add + "\n" + obj.getLocality();
add = add + "\n" + obj.getSubThoroughfare();
Log.v("IGA", "Address" + add);
// Toast.makeText(this, "Address=>" + add,
// Toast.LENGTH_SHORT).show();
// TennisAppActivity.showDialog(add);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Toast.makeText(this, e.getMessage(), Toast.LENGTH_SHORT).show();
}
}
私はあなたの答えに答えを得ることを望みます。ここで
あなたは「このために探しています[与えられた--緯度経度-GET--場所名]を[1 ]」 [1]:http://stackoverflow.com/questions/6172451/given-a-latitude-and-longitude-get-the-location-name – Samuel
を見てください[プログラムする方法Google Android](http://blogoscoped.com/archive/2008-12-15-n14.html) –
あなたの質問は、私が数か月前に投稿した質問と同じです。このリンクを確認してくださいhttp:///stackoverflow.com/questions/6172451/given-a-latitude-and-longitude-get-the-location-nameまたは下の自分の答えを確認してください... – Krishna