我有一个地理编码器、gcd 和这行反向地理编码的代码
List<Address> addresses = gcd.getFromLocation(latitude, longitude, 1);
if(addresses != null) {
Address returnedAddress = addresses.get(0);
for(int i=0; i<returnedAddress.getMaxAddressLineIndex(); i++) {
strReturnedAddress = (returnedAddress.getAddressLine(i)).toString();
strReturnedAddress 返回类似的内容
10453 中央布朗克斯区,纽约市,纽约州
我只需要城市名称,即纽约市。
删除部分字符串将非常困难,因为地理编码的输出可能会发生变化。我只需要地理编码来给我城市。
我检查了http://developer.android.com/reference/android/location/Geocoder.html但找不到答案。
最佳答案
很高兴您自己找到了解决方案。
您可能希望使用下面的方法,它更简单,因为它使用 Location API 而不必遍历地址列表:
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);
即使这段代码is supplied by another user ,我自己实现了这种确切的方法并发现它很有用。
希望这对您有所帮助。
关于android - 将地理编码器地址缩小到仅城市,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17579617/