【问题标题】:Android how to get the street name from an address returned by GeocoderAndroid如何从Geocoder返回的地址中获取街道名称
【发布时间】:2012-09-14 05:47:22
【问题描述】:

我以相反的方式使用Geocoder 从给定的纬度和经度获取地址。

你知道如何从Address获得只有街道名称吗?

    Geocoder geocoder = new Geocoder(AutoFinderMapActivity.this);
    try {
        List<Address> addressList = geocoder.getFromLocation(latitude, longitude, 1);
        if (addressList != null && addressList.size() > 0) {
            // Help here to get only the street name
            String adress = addressList.get(0).get...;
        }
    } catch (IOException e) {
        e.printStackTrace();
    }

提前致谢,

【问题讨论】:

标签: android reverse-geocoding


【解决方案1】:

我正在寻找同样的东西。我不同意标记为正确的答案。我可能是错的,但似乎“Thoroughfare”(多么古朴的英文术语!)是提供街道名称的字段。比如:

获取地址:

    List<Address> addresses = null;
    addresses = geocoder.getFromLocation(latitude, longitude,1);
    if(addresses != null && addresses.size() > 0 ){
       Address address = addresses.get(0);
       // Thoroughfare seems to be the street name without numbers
            String street = address.getThoroughfare();
    }

【讨论】:

    【解决方案2】:

    而您可能从中获取门牌号的函数是getSubThoroughfare().

    【讨论】:

      【解决方案3】:

      这是我的代码示例,显示地址、城市等。希望对你有所帮助。

      try {
              List<Address> addresses;
              Geocoder geocoder= new Geocoder(MyactivityName.this);
              addresses = geocoder.getFromLocation(Marker.getPosition().latitude,Marker.getPosition().longitude,1);
              if(addresses != null && addresses.size() > 0 ){
                  Address address = addresses.get(0);
                  String province = addresses.get(0).getAdminArea();
                  Marker.setSnippet(address.getThoroughfare()+", "+province);
              }
      } catch (IOException e) {
          e.printStackTrace();
      }
      Marker.showInfoWindow();
      

      //get current Street name
              String address = addresses.get(0).getAddressLine(0);
      
              //get current province/City
              String province = addresses.get(0).getAdminArea();
      
              //get country
              String country = addresses.get(0).getCountryName();
      
              //get postal code
              String postalCode = addresses.get(0).getPostalCode();
      
              //get place Name
              String knownName = addresses.get(0).getFeatureName(); // Only if available else return NULL
      
              System.out.println("Street: " + address + "\n" + "City/Province: " + province + "\nCountry: " + country
                      + "\nPostal CODE: " + postalCode + "\n" + "Place Name: " + knownName);
      

      如果您查看更多信息或示例,请查看Link

      【讨论】:

        【解决方案4】:

        看一下 Address 类。

        Android Developer: Address

        【讨论】:

        • 如上所说,我想从Address中获取地址名。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-05-14
        • 1970-01-01
        • 1970-01-01
        • 2016-08-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多