Как получить название дороги из моего местоположения, используя карту Google, а не адрес местоположения - PullRequest
0 голосов
/ 14 мая 2019

Я хочу получить название дороги на карте Google, когда я за рулем автомобиля на дороге, используя мое текущее местоположение, я искал больше об этом, но не могу найти решение. Я использую геокодер, чтобы получить название своего местоположения, но он возвращает адрес местоположения, а не дорогу, по которой я езжу на нем. Т.е., строка адреса возврата goecoder в качестве примера (5- улица, местность, страна) Когда я еду по дороге на 10 метров, адрес меняется на (6- улица, местность, страна) Но я хочу только длинное название дороги только как (улица 5) Я пытался использовать имя функции для любого ключа в геокодере, но он возвращает адрес как (5-стрит 5) Кто-нибудь может мне помочь, пожалуйста?

Ответы [ 2 ]

1 голос
/ 14 мая 2019

вы можете использовать этот фрагмент кода, который я использую

   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;
}
1 голос
/ 14 мая 2019

Когда вы получаете адресную строку от геокодера, вы можете позвонить, чтобы получить строку, используя getThoroughfare, это даст вам уличный адрес, такой как «1600 Ampitheater Parkway», затем вы можете позвонить, чтобы получитьстрока, использующая getSubThoroughfare, которая, если не нулевая, может возвращать адресную часть Thoroughfare, такую ​​как «1600» в приведенном выше примере.Затем вы можете заменить строку в строке Thoroughfare, заменив Sub-Thoroughfare на "", чтобы убрать число.

...