Javascript 方向服务谷歌API,可拖动来源

Javascript 方向服务谷歌API,可拖动来源,javascript,google-maps,Javascript,Google Maps,首先,我将输入起点和终点,它将显示从起点A到终点B的显示路线。但是,我希望将起点设为可拖动的,以便重新计算路线并显示给我 var directionsDisplay = new google.maps.DirectionsRenderer; var directionsService = new google.maps.DirectionsService; var map = new google.maps.Map(document.getElementById('map'),

首先,我将输入起点和终点,它将显示从起点A到终点B的显示路线。但是,我希望将起点设为可拖动的,以便重新计算路线并显示给我

 var directionsDisplay = new google.maps.DirectionsRenderer;
    var directionsService = new google.maps.DirectionsService;
    var map = new google.maps.Map(document.getElementById('map'), {
      mapTypeControl: false,
      center: {lat: 1.317206, lng: 103.772240},
      zoom: 13
    });

    new AutocompleteDirectionsHandler(map);
     directionsDisplay.setMap(map);
    directionsDisplay.setPanel(document.getElementById('right-panel'));

            var onChangeHandler = function() {
      calculateAndDisplayRoute(directionsService, directionsDisplay);
    };

    document.getElementById('destination-input').addEventListener('change', 
 onChangeHandler);
 }




  function calculateAndDisplayRoute(directionsService, 
 directionsDisplay) {
    var start = document.getElementById('origin-input').value;
    var end = document.getElementById('destination-input').value;


    directionsService.route({
      origin: start,

      destination: end,
      travelMode: 'DRIVING'
    }, function(response, status) {
      if (status === 'OK') {
        directionsDisplay.setDirections(response);
      }
    });

   }
下面提供了HTML代码

<body>

<input id="origin-input" class="controls" type="text" 
    placeholder="Enter an origin location">

<input id="destination-input" class="controls" type="text"
    placeholder="Enter a destination location">

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

下面是我当前项目的截图。 请尝试:

function initMap() {
    var map = new google.maps.Map(document.getElementById('map'), {
    zoom: 4,
    center: {lat: -24.345, lng: 134.46}  // Australia.
});

var directionsService = new google.maps.DirectionsService;
var directionsDisplay = new google.maps.DirectionsRenderer({
    draggable: true,
    map: map,
});

displayRoute('Perth, WA', 'Sydney, NSW', directionsService,
    directionsDisplay);
}

function displayRoute(origin, destination, service, display) {
    service.route({
        origin: origin,
        destination: destination,
        travelMode: 'DRIVING',
        avoidTolls: true
    }, function(response, status) {
        if (status === 'OK') {
            display.setDirections(response);
        } else {
            alert('Could not display directions due to: ' + status);
        }
    });
}