[GIS] How to find direction points using Google Maps API 3

google mapsgoogle-maps-apijavascriptjquerymaps

I am drawing a route in Google Maps. I have passed the start point, way points and end points. My route is drawing correctly. I am using Google Maps API 3.

request = {
  origin: originAddress,
  destination: destinationAddress,
  waypoints: waypoints,
  optimizeWaypoints: false,
  travelMode: google.maps.DirectionsTravelMode.DRIVING
};

directionsService.route(request, function(response, status) {
  if (status == google.maps.DirectionsStatus.OK) {
    directionsDisplay.setDirections(response);
  }
}

If I change the route direction, then how to find the changed direction points' latitude and longitude?

Any help will be appreciated.

Best Answer

When taking a look at this reference DirectionsRenderer Reference, look for the event

directions_changed

After rendering your directions, introduce an event listener on the DirectionsRenderer object. Something like this:

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

var mapOptions = {
 zoom: 7,
 mapTypeId: google.maps.MapTypeId.ROADMAP,
 center: australia
};

var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);

directionsDisplay.setMap(map);
directionsDisplay.setPanel(document.getElementById('directionsPanel'));

google.maps.event.addListener(directionsDisplay, "directions_changed", function(){
    //do what you wanna do here i.e. get the modified path of the direction
});

Very important thing is to make sure you set the draggable attribute of the DirectionsRenderer object to true. Note that the code here is mainly take out from the link Mapperz gave in his comment.