How to add Google map Direction One Place to Another
Google Maps Directions Service receives direction requests and returns computed results.
This service can return multi-part directions using a series of waypoints.
index.html
<!DOCTYPE html>
<html>
<head>
<title>Google Map Add Directions service from one place to another</title>
<style>
html, body {
height: 100%;
margin: 0;
padding: 0;
}
#mapId {
height: 99%;
width: 99%;
}
#main_section {
position: absolute;
top: 0px;
left: 25%;
z-index: 5;
padding: 0px;
padding-left: 10px;
text-align: center;
background-color: #FFF;
border: 1px solid #000;
}
</style>
</head>
<body>
<div id="main_section">
<b>Source: </b>
<select id="Source">
<option value="Mumbai, in">Mumbai</option>
<option value="Kolkata, in">Kolkata</option>
<option value="Chennai, in">Chennai</option>
<option value="Hyderabad, in">Hyderabad</option>
<option value="Ahemdabad, in">Ahemdabad</option>
<option value="Pune, in">Pune</option>
<option value="Jaipur, in">Jaipur</option>
</select>
<b>Destination: </b>
<select id="Destination">
<option value="Mumbai, in">Mumbai</option>
<option value="Kolkata, in">Kolkata</option>
<option value="Chennai, in">Chennai</option>
<option value="Ahemdabad, in">Ahemdabad</option>
<option value="Jaipur, in">Jaipur</option>
<option value="Hyderabad, in">Hyderabad</option>
<option value="Pune, in">Pune</option>
</select>
</div>
<div id="mapId"></div>
<script src="https://maps.googleapis.com/maps/api/js?signed_in=true&callback=initMap&key={key}" async defer></script>
<script>
function initMap() {
var lat_lng = {lat: 22.08672, lng: 79.42444};
var directionsService = new google.maps.DirectionsService;
var directionsDisplay = new google.maps.DirectionsRenderer;
var map = new google.maps.Map(document.getElementById('mapId'), {
zoom: 6,
center: lat_lng
});
directionsDisplay.setMap(map);
var onChangeHandler = function() {
calculateAndDisplayRoute(directionsService, directionsDisplay);
};
document.getElementById('Source').addEventListener('change', onChangeHandler);
document.getElementById('Destination').addEventListener('change', onChangeHandler);
}
function calculateAndDisplayRoute(directionsService, directionsDisplay) {
directionsService.route({
origin: document.getElementById('Source').value,
destination: document.getElementById('Destination').value,
travelMode: google.maps.TravelMode.DRIVING
}, function(response, status) {
if (status === google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
} else {
window.alert('Sorry failed due to ' + status);
}
});
}
</script>
</body>
</html>