JAVA: получить местоположения из URL с помощью сопоставлений JSON - PullRequest
0 голосов
/ 19 марта 2019

Я хочу получить все местоположения (координаты широты и долготы) из поиска геокодирования, которые соответствуют станции метро в определенных границах.Допустим, я хочу узнать местонахождение всех станций метро в Вестминстере (район Лондона для тех, кто не из Лондона).Поэтому я думаю, мне нужно создать URL для всех возможных координат широты в этих границах (возможно, с помощью цикла или чего-то в этом роде), создать jsonObject, построенный на этом url.toString (), и проверить, есть ли у него train_stationвведите его адрес компонентов.Вопросов 2, и они идут в хронологическом порядке.1) Как я могу получить URL для всех координат широты в выбранных границах хорошим способом.2) Как проверить созданный из этого URL-адрес jsonObjected, содержит ли он тип train_station?Я хотел бы получить фрагмент метода, который может выполнить эту задачу, чтобы я мог поработать над этим ... Я совершенно новый сообразитель, jsonObjects и карты, извините, ребята: (.

А, кстати... в моем классе MapFunctionality у меня уже есть подобный метод для получения адреса из координат lat-lng, который использует объект json, построенный на URL-соединении.

 public String getAddressString(double lat, double lon){
    String address= null;
    try {
        URL url = new URL("https://maps.googleapis.com/maps/api/geocode/json?latlng="+lat+","+lon+"&key=AIzaSyBjcgL_1rQcwnlrJo80Fzz6Xvcq2yYSRxg");
        URLConnection con = url.openConnection();
        BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream()));
        StringBuilder sb = new StringBuilder();
        String line;
        while ((line = br.readLine()) != null) {
            sb.append(line);
        }
        JSONObject json = new JSONObject(sb.toString());
        System.out.println(json);
        String intermidiate = json.getString("results");
        intermidiate = intermidiate.substring(1, intermidiate.length()-1);
        json = new JSONObject(intermidiate);
        address = json.getString("formatted_address");
    } 
    catch (Exception e) {
        e.printStackTrace();
    }
    return address;
}

Надеюсь, я был достаточно ясен в публикациивопросы. В любом случае, если есть что-то, чего Вы не получили, просто укажите это, и я постараюсь отредактировать сообщение, чтобы сделать его более «понятным»: DD

...