如何使用谷歌地图从我的位置获取道路名称而不是位置地址

时间:2019-05-13 22:46:52

标签: android google-maps directions

当我使用当前位置在道路上开车时,我想在Google地图中获得道路名称,我对此进行了更多搜索,但找不到解决方案。 我正在使用地址解析器来获取我的位置名称,但是它返回的是位置地址,而不是我在上面驾驶汽车的道路。 即,以goecoder返回地址行为例(5条街道,位置,国家/地区) 当我在公路上行驶10米时,地址更改为(6-街道,位置,国家/地区) 但是我只想要一条漫长的路名,例如(街道5) 我尝试使用地理编码器中的任何键来使用功能名称ot,但是它返回的地址是(5街5) 有人可以帮我吗?

2 个答案:

答案 0 :(得分:0)

当您从地址解析器获取地址行时,可以使用getThoroughfare进行调用以获取字符串,这将为您提供街道地址,例如“ 1600 Ampitheater Parkway”,然后您可以致电获取使用getSubThoroughfare的字符串,如果不为null,则可能返回Thoroughfare的地址部分,例如上述示例中的“ 1600”。然后,您可以在Thoroughfare字符串上执行字符串替换,用“”替换Sub-Thoroughfare以去除数字。

答案 1 :(得分:0)

您可以使用我正在使用的这段代码

   public String ReverseGeocodingStreet(Double lat,Double lng){
    String street= "";
    if(gc.isPresent()){
        List<Address> list = null;
        try {
            list = gc.getFromLocation(lat, lng,1);
        } catch (IOException e) {
            e.printStackTrace();
        }
        Address address = list.get(0);
        StringBuffer str = new StringBuffer();
        street = address.getThoroughfare();
    }
    return  street;
}