Как получить координаты с заданного адреса из API OpenStreetMaps - PullRequest
1 голос
/ 19 мая 2019

Так что этот Вопрос может показаться очень простым для некоторых из вас, но потерпите меня, пожалуйста, я новичок в этом. Я пытаюсь создать настольное приложение, использующее Java, которое получает все виды геоинформации из API, которые (насколько мне известно) все происходят от разработчиков OpenStreetMaps. На первом этапе моего рабочего процесса я хочу создать своего рода «навигационную» логику. Мне нужно расстояние между двумя адресами, и я знаю, как получить это расстояние, но для того, чтобы это работало, мне нужно сначала преобразовать эти адреса в longlat координаты. Теперь код:

public static String getLongLat(String address) {
    String temp = "";

    JSONObject longlat = makeRequest("http://nominatim.openstreetmap.org/search?q="+address+"&format=json&polygon=1&addressdetails=1","get");
    String lon = longlat.getString("lon");
    String lat = longlat.getString("lat");

    System.out.println(lon);
    System.out.println(lat);

    return temp;
} 

Я пока ничего не делаю с возвращенной информацией, потому что ее нет. Теперь, если я пойду и введу этот точный URL-адрес в панель браузера, это даст мне хорошо отформатированное представление JSON, и я смогу увидеть все детали, которые мне нужны, включая координаты и границы. Но если я выполню этот небольшой фрагмент кода, он вернется с сообщением «301 - перемещен навсегда», и я не пойму, почему или как это исправить, чтобы мое Java-приложение получило правильный результат JSON.

1 Ответ

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

Да, запрос GET для этого URL возвращает ответ 301 Moved Permanently, который указывает на

https://nominatim.openstreetmap.org/search?q=Berlin&format=json&polygon=1&addressdetails=1

Обратите внимание на использование https вместо http.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...