Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android如何从Geocoder返回的地址获取街道名称_Android_Reverse Geocoding - Fatal编程技术网

Android如何从Geocoder返回的地址获取街道名称

Android如何从Geocoder返回的地址获取街道名称,android,reverse-geocoding,Android,Reverse Geocoding,我使用Geocoder以相反的方式从给定的lat&lon获取地址 您知道如何从地址获取街道名称吗 Geocoder geocoder = new Geocoder(AutoFinderMapActivity.this); try { List<Address> addressList = geocoder.getFromLocation(latitude, longitude, 1); if (addressList != null &

我使用
Geocoder
以相反的方式从给定的lat&lon获取地址

您知道如何从地址获取街道名称吗

    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();
    }
Geocoder-Geocoder=新的地理编码器(AutoFinderMapActivity.this);
试一试{
List addressList=geocoder.getFromLocation(纬度、经度,1);
if(addressList!=null&&addressList.size()>0){
//请在此帮助仅获取街道名称
字符串地址=addressList.get(0.get。。。;
}
}捕获(IOE异常){
e、 printStackTrace();
}

提前感谢,

请查看Address类


我在搜索同样的东西。我不同意被标记为正确的答案。我可能错了,但“Throughtree”(一个多么古怪的古英语术语!)似乎是提供街道名称的字段。例如:

获取地址:

    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();
    }
列表地址=null;
地址=地理编码器.getFromLocation(纬度,经度,1);
if(addresses!=null&&addresses.size()>0){
地址=地址。获取(0);
//大道似乎是没有编号的街道名称
String street=address.getthoroughway();
}

您可能从中获取街道号码的函数是
GetSubthoroughe()。
这是我的代码示例,显示地址树、城市等。。我希望这对你有帮助

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

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

参考此链接,我以前看到过该问题,但它没有明确的答案。正如我上面所说,我想从地址中获取de地址名称。
//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);