![](/img/trans.png)
[英]Convert address to latitude and longitude in java for distance based suggestion
[英]Java Geocoding - convert latitude and longitude into an address
對於我的Android應用程序,我需要當前汽車所在城市的名稱。
我具有經度和緯度,並希望將其與地址解析器一起轉換,並希望獲得城市。
我閱讀了一些文章,但是由於我是新來的,所以我不知道任何線索。
請誰能幫我怎么做?
編輯:
我不在我的應用程序中使用此地理編碼。 我想在Java Web服務中使用它,我想必須通過HTTPRequest使用它,對嗎? 以及google api url。
您正在尋找的是Reverse Geocoding
。
Geocoder
類應該可以幫助您完成所需的工作(從此處獲取 ):
public static void getAddressFromLocation(
final Location location, final Context context, final Handler handler) {
Thread thread = new Thread() {
@Override public void run() {
Geocoder geocoder = new Geocoder(context, Locale.getDefault());
String result = null;
try {
List<Address> list = geocoder.getFromLocation(
location.getLatitude(), location.getLongitude(), 1);
if (list != null && list.size() > 0) {
Address address = list.get(0);
// sending back first address line and locality
result = address.getAddressLine(0) + ", " + address.getLocality();
}
} catch (IOException e) {
Log.e(TAG, "Impossible to connect to Geocoder", e);
} finally {
Message msg = Message.obtain();
msg.setTarget(handler);
if (result != null) {
msg.what = 1;
Bundle bundle = new Bundle();
bundle.putString("address", result);
msg.setData(bundle);
} else
msg.what = 0;
msg.sendToTarget();
}
}
};
thread.start();
}
編輯:根據您的評論,然后,不,您不能在常規Java Web服務上使用Geocoder
類。 話雖這么說,但還有其他選擇。 谷歌地理編碼API通常是一個不錯的起點,也就是說,它們似乎有局限性 。
另外,您可以看一下Nominatim ,它是一種開源的反向地理編碼服務,盡管與Google的服務相比似乎有所限制。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.