android - 将地理编码器地址缩小到仅城市

标签 android reverse-geocoding

我有一个地理编码器、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/

相关文章:

java - Android 使用 2 个不同的 ArrayList 填充相同的自定义 ListView 布局

javascript - 如何使用 OSM 检索某个 GeoLocation 的自然特征?

android - 如何在android中创建弹出模式窗口

Android:如何找到 Marquee textview 滚动持续时间的持续时间

java - Android - runOnUIThread 什么时候发生?

java - 如何在 LatLng 的国家语言上获得 Geocoder 的结果?

android - 将纬度和经度值转换为 google map api v2 中的地址

Android Actionbar 向上按钮与系统返回按钮

openstreetmap - 获取 Nominatim 给定坐标处的城市

ios - 如何在 iOS 5 中创建位置自动完成输入字段?