@MrFox235
Начинающий веб-разработчик

Как получить маршрут Google Directions API?

Здравствуйте, у меня есть сайт на которм я хочу реализовать функцию рсчёта маршрута при помощи Google Directions API, мне нужно что бы пользователь вводил данные в "Пункт отправки:" и "Пункт прибытия" нажимал на кнопку и строился маршрут в реальном времени. В конце мне нужно получить расстояние и время в дороге, я это буду использовать в дальнейшем. Как можно реализовать такую функцию? Перерыл уже весь интернет но так и не нашел ответа(
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Maps Google</title>
    <link rel="stylesheet" href="/style.css">
</head>
<body>

    <div id="map"></div>

    <script>(g=>{var h,a,k,p="The Google Maps JavaScript API",c="google",l="importLibrary",q="__ib__",m=document,b=window;b=b[c]||(b[c]={});var d=b.maps||(b.maps={}),r=new Set,e=new URLSearchParams,u=()=>h||(h=new Promise(async(f,n)=>{await (a=m.createElement("script"));e.set("libraries",[...r]+"");for(k in g)e.set(k.replace(/[A-Z]/g,t=>"_"+t[0].toLowerCase()),g[k]);e.set("callback",c+".maps."+q);a.src=`https://maps.${c}apis.com/maps/api/js?`+e;d[q]=f;a.onerror=()=>h=n(Error(p+" could not load."));a.nonce=m.querySelector("script[nonce]")?.nonce||"";m.head.append(a)}));d[l]?console.warn(p+" only loads once. Ignoring:",g):d[l]=(f,...n)=>r.add(f)&&u().then(()=>d[l](f,...n))})
        ({key: "AIzaSyCUY3UM6R0OKx5hajf30r7y1cbQh0bvOkw", v: "beta"});</script>

    <script src="/list.js"></script>
</body>
</html>


* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

#map {
    width: 50%;
    height: 100vh;
}


// Initialize and add the map
let map;

async function initMap() {
  // The location of Uluru
  const position = { lat: -25.344, lng: 131.031 };
  // Request needed libraries.
  //@ts-ignore
  const { Map } = await google.maps.importLibrary("maps");
  const { AdvancedMarkerView } = await google.maps.importLibrary("marker");

  // The map, centered at Uluru
  map = new Map(document.getElementById("map"), {
    zoom: 4,
    center: position,
    disableDefaultUI: true,
  });

}

initMap();

const mapRun = document.getElementById("map");

const URL = "https://maps.googleapis.com/maps/api/directions/json";
const xhr = new XMLHttpRequest();

xhr.open("GET", URL);

xhr.responseType = "json";
xhr.send();

xhr.onload = function () {
    const otvet = xhr.response;
    mapMask(mapRun);
    mapMaskTwo();
};

function mapMask(jsonObj) {
  const mapRun = document.getElementById("map");
  mapRun.textContent = jsonObj["origin", "destination"];
  mapRun.appendChild(mapRun);
}
  • Вопрос задан
  • 46 просмотров
Решения вопроса 1
trapwalker
@trapwalker
Программист, энтузиаст
А что конкретно вам не понятно в официальной документации?
https://developers.google.com/maps/documentation/routes
Вопрос у вас звучит "не понимаю как сделать задачу" полностью, вообще. Тут нужно задавать конкретные вопросы, а не общие абастрактные. Иначе не понятно что вам требуется, курс по программированию, или сделать проект за вас.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы