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