Android how to get the street name from an address returned by Geocoder

前端 未结 4 1519
予麋鹿
予麋鹿 2021-02-08 17:36

I\'m using Geocoder in reverse way to get an address from a given lat & lon.

Do you know how to get from Address only the street na

相关标签:
4条回答
  • 2021-02-08 18:10

    Take a look at the Address class.

    Android Developer: Address

    0 讨论(0)
  • 2021-02-08 18:21

    And the function you might get the street number from is getSubThoroughfare().

    0 讨论(0)
  • 2021-02-08 18:23

    I was searching up the very same thing. I disagree with the answer that was marked as correct. I could be wrong but it would appear that "Thoroughfare" (what a quaint old English term!) is the field that provides the street name. so for example:

    get the addresses:

        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();
        }
    
    0 讨论(0)
  • 2021-02-08 18:35

    This is an example of my code, and show addrees, city, etc.. I hope this help you..

    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);
    

    if you look more information or an example look this Link

    0 讨论(0)
提交回复
热议问题