Расчет расстояния между местами - PullRequest
0 голосов
/ 28 декабря 2018

Мне удалось получить функцию автозаполнения для ввода формы с помощью API Maptiler (OSMNames) (поскольку я нахожу API Карт Google еще более запутанным).

Итак, возникает актуальная проблема, я хотел бы получить проезжая расстояние между двумя местами, которые я ввел с помощью функций автозаполнения в двух созданных мной входах.

Я пытаюсь сделать это с помощью OSRM (Open SourceRouting Machine) API

Вот мои текущие сценарии:

<!--AUTOCOMPLETE-->
<script>
    var autocomplete = new kt.OsmNamesAutocomplete(
    'search1', 'https://geocoder.tilehosting.com/', '#My_Maptiler_API_Code');
</script>
<script>
    var autocomplete = new kt.OsmNamesAutocomplete(
    'search2', 'https://geocoder.tilehosting.com/', '#My_Maptiler_API_Code');
</script>

<!--GET INFO-->
<script>
    function loadXMLDoc() {
    var xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
            document.getElementById("result").innerHTML =
            this.responseText;
        }

        if (this.readyState == 4 && this.status == 429) {
            document.getElementById("result").innerHTML =
            "Servidor sobrecargado, inténtelo más tarde."
        }
    };
    xhttp.open("GET", "http://router.project-osrm.org/table/v1/driving/{longitude1},{latitude1};{longitude2},{latitude2}", true);
    xhttp.send();
    }
</script>

Сначала , мне нужно получить координатыместа из inputs с помощью функции autocomplete.

В настоящее время, когда пользователь нажимает на одно из предложенных мест в списке, в * 1023 записывается только элемент name.* коробка.Вместо этого я хотел бы записать координаты GPS, а не name, чтобы я мог использовать их для отправки HTTP-запроса (следующий шаг).

Что пишется при нажатии:

What is being written when I click

Что мне нужно для следующего шага:

What I need for the next step

Кстати,Я видел некоторые ответы на другие связанные вопросы, предлагающие использовать « Nominatim ».Как я уже сказал, я сейчас использую " OSMNames ", есть ли разница?Должен ли я изменить свой геокодер?

Затем мне также необходимо получить эти координаты в HTTP-запросе GET, как показано в коде.

Инаконец, , я бы хотел получить только один из пунктов ответа OSRM , расстояние.Поскольку в противном случае я просто получил бы полный ответ.

Я буквально не знаю, как выполнить какой-либо из указанных шагов, так как я студент, который еще только начинает изучать эту область.

Если бы вы только могли протянуть мне руку помощи, это было бы замечательно.

Я стараюсь избегать размещения всего кода здесь, потому что я нахожу его непонятным при чтении, но остальная часть кода вам понадобится по любой причине,пожалуйста, дайте мне знать!

Спасибо за вашу помощь!:)

...