URL-адрес маршрута в API службы Google Maps Distance

Я звоню, чтобы получить несколько маршрутов из Google Maps API удаленного обслуживания, и я могу получить успешный ответ. Но я хочу получить URL-адрес маршрута (shortURL), поэтому, если клиент нажмет на ссылку, он будет перенаправлен на карты Google с указанием маршрута. Вот мой код:

var directionsService = new google.maps.DirectionsService;
    return directionsService.route({
        origin: origin,
        destination: destination,
        travelMode: 'DRIVING',
        provideRouteAlternatives: true,
        unitSystem: google.maps.UnitSystem.IMPERIAL,
    }, shortestRoute);

1 ответ

Если вы не пытаетесь использовать Службу маршрутов Google Maps для целей навигации, вместо этого вы можете динамически предоставлять (shortURL) на основе пользовательского ввода, предполагая, что вы прослушиваете пользовательский ввод на своей стороне приложения.

Одна из простых реализаций заключается в том, что вы предоставляете (shortURL) сразу, чтобы пользователи могли вводить информацию о Направлениях на самой странице Google Maps, а не на вашем сайте, предполагая, что вы не загружаете модальный и / или iframe, так как вы упомянули перенаправление.

Теперь, если вы не планируете перенаправление до того, как пользователь введет свои данные. Вы можете настроить что-то вроде:

Смотрите документацию.

var origin;

// This function gets called when you are ready to submit the user's input. 
function directionsOrigin(){ 
  var origin = document.getElementById('origin-input').value;
  placeholdDynamicInput(origin);
}

function placeholdDynamicInput(origin, dynamicUrl){
  // Following this
  // protocol-> https://www.google.com/maps/dir/?api=1&parameters

  var url = 'https://www.google.com/maps/dir/?api=1&origin=' + origin;

  // Dynamically create your placeholder URL using user input.
}

function dynamicUrl(){
  // Handle this function however makes sense with your application
}
Другие вопросы по тегам