Мне удалось получить функцию автозаполнения для ввода формы с помощью API Maptiler (OSMNames) (поскольку я считаю, что Google Maps API еще более запутывает).
Итак, возникает актуальная проблема, я хотел бы получить вождение расстояние между двумя местами, которые я ввел с помощью функций автозаполнения в двух созданных мной входах.
Я пытаюсь сделать это с OSRM (Маршрутизатор с открытым исходным кодом) 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
функция.
В настоящее время, когда пользователь нажимает на одно из предложенных мест в списке, просто name
элемент записывается в input
коробка. Вместо этого я хотел бы получить координаты GPS, а не name
, чтобы я мог использовать их для отправки HTTP-запроса (следующий шаг).
Что пишется, когда я нажимаю:
Что мне нужно для следующего шага:
Кстати, я видел некоторые ответы в других смежных вопросах, предлагающих использовать «Nominatim«Как я уже сказал, я сейчас использую»OSMNames«, есть какая-то разница? Должен ли я сменить геокодер?
затем, Мне также необходимо получить эти координаты в HTTP-запросе GET, как показано в коде.
И наконец, Я хотел бы получить только один из предметов из Ответ OSRM, Расстояние. Так как в противном случае я бы просто получил весь ответ.
Я буквально не знаю, как сделать какой-либо из указанных шагов, так как я студент, который еще только начинает работать в этой области.
Если бы ты только мог протянуть мне руку, это было бы отлично.
Я стараюсь избегать размещения всего кода здесь, потому что я нахожу его запутанным при чтении, но если вам понадобится остальная часть кода по любой причине, пожалуйста, дайте мне знать!
Спасибо за вашу помощь! 🙂
Задача ещё не решена.
Других решений пока нет …