This is the alternative route function, while when I redirect with other direction. It can not clear the previous route.
function initialize() {
// Create a new map with some default settings
var myLatlng = new google.maps.LatLng(-37.8602828,145.079616);
var myOptions = {
zoom:8,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
//click function call calculateAndDisplayRoute to ge the alternative routes
var directionsService = new google.maps.DirectionsService;
document.getElementById('submit').addEventListener('click', function() {
calculateAndDisplayRoute(directionsService, map);
});
//this function used to calculate the alternative route.
function calculateAndDisplayRoute(directionsService, map) {
//get the value from start and end input box
var start = document.getElementById('start').value;
var end =document.getElementById('end').value;
//property when dran on the map
var directionsRequest = {
//starting point
origin: start,
//destination
destination: end,
//multiple route
provideRouteAlternatives: true,
travelMode: google.maps.TravelMode.DRIVING
};
directionsService.route( directionsRequest, function(response, status) {
if (status === google.maps.DirectionsStatus.OK) {
//store the multiple routes in respones and display one by one
for (var i = 0, len = response.routes.length; i < len; i++) {
new google.maps.DirectionsRenderer({
map: map,
directions: response,
routeIndex: i
});
}
} else {
window.alert('Directions request failed due to ' + status);
}
});
}