我是android开发的初学者。我在我的应用程序中使用 Google Maps API V2。我想自动显示当前位置的街道名称、邮政编码/邮政编码、城市。目前我只是显示当前位置的经度和纬度,但也不知道如何获取这些信息。谁能告诉我正确的方法,我如何从地图 api v2 中获取这些信息(街道名称、邮政编码/邮政编码、城市)。
问问题
5059 次
2 回答
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);
于 2013-10-30T04:45:37.887 回答
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() 并找到地址详细信息。
于 2013-10-30T04:35:29.403 回答