如何使用maps api v2自动显示当前位置的街道名称,邮政编码/邮政编码,城市

时间:2013-10-30 04:28:30

标签: android location google-maps-android-api-2

我是android开发的初学者。我在我的应用程序中使用Google Maps API V2。我想自动显示当前位置的街道名称,邮政编码/邮政编码,城市。目前我只是显示当前位置的经度和纬度,但不知道如何获取此信息。任何人都可以告诉我正确的方法,如何从地图api v2获取这些信息(街道名称,邮政编码/邮政编码,城市)..

2 个答案:

答案 0 :(得分:2)

请参阅此链接 - http://developer.android.com/reference/android/location/Geocoder.html

反向地理编码是将(纬度,经度)坐标转换为(部分)地址的过程。反向地理编码位置描述中的详细信息量可能会有所不同,例如,一个可能包含最近建筑物的完整街道地址,而另一个可能只包含城市名称和邮政编码。 Geocoder类需要一个未包含在核心android框架中的后端服务。如果平台中没有后端服务,则Geocoder查询方法将返回空列表。使用isPresent()方法确定是否存在Geocoder实现。

实施例: -

   Geocoder geoCoder = new Geocoder(context);

   List<Address> matches = geoCoder.getFromLocation(latitude, longitude, 1);

   Address bestMatch = (matches.isEmpty() ? null : matches.get(0));

将当前位置坐标提供给函数geoCoder.getFromLocation()并查找地址详细信息。

答案 1 :(得分:2)

地理编码是查找给定地址或位置的地理坐标(纬度和经度)的过程。

您可能已经猜到了

反向地理编码,如果是地理编码则相反。在这种情况下,一对纬度和经度将转换为地址或位置。

Geocoder geocoder;
List<Address> addresses;
geocoder = new Geocoder(this, Locale.getDefault());
addresses = geocoder.getFromLocation(latitude, longitude, 1);

String address = addresses.get(0).getAddressLine(0);
String city = addresses.get(0).getAddressLine(1);
String country = addresses.get(0).getAddressLine(2);