Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Google Map V3, how to get list of best driving route for multiple destinations?

i would like to use Gmap API to calculate the best driving route for many destinations. I have read this page:

http://googlegeodevelopers.blogspot.de/2010/03/good-day-for-salesmen-that-travel-on.html

That is nearly the same thing i want. However, i only want to get a list of destinations back, that is sorted and tell which destination to go first.

For ex.: I send location of three Destinations A, B , C to Gmap. I need to receive an array like $bestroute[] = {B,C,A}.

I will code with PHP and javascript. If you can help me or know any tutorial, please help.

Thank you very much.

like image 491
4everY Avatar asked Aug 03 '12 22:08

4everY


People also ask

Can Google Maps show best route for multiple stops?

Can Google Maps optimize multiple stops? Google Maps can only be used to find the fastest route between two stops. It was not designed to find the optimal order for multiple stops. Therefore, users will need to manually rearrange the stops and compare the ETA to find the fastest route.

Does Google Maps have a route planner?

Google Maps has a route planning capability. You can even plan a route for many locations using Google Maps. It can serve a variety of purposes aside from driving, such as walking and biking.


2 Answers

The link you refer to explains how to do this: admittedly you also get back some directions information you don't care about, but you can simply ignore it.

To be clear, you just make a directions request with some waypoints (say B,C and D) in addition to your origin and destination (A and E).

If using the web service, ensure you set optimize:true before listing your waypoints, and check the waypoint_order array (near the bottom of the result for this url) to get the info you want:

http://maps.googleapis.com/maps/api/directions/json?origin=Adelaide,SA&destination=Adelaide,SA&waypoints=optimize:true|Barossa+Valley,SA|Clare,SA|Connawarra,SA|McLaren+Vale,SA&sensor=false 

If use the JS API, set optimizeWaypoints:true in your request.

As always, be sure you're abiding by the terms of service (e.g. results from your web service request must be displayed on a Google Map)

like image 59
jlivni Avatar answered Oct 09 '22 12:10

jlivni


You might want to look at the Distance Matrix service: https://developers.google.com/maps/documentation/javascript/distancematrix

It gives you distances between a set of origins and destinations, and might help you with narrowing down options.

like image 26
Mano Marks Avatar answered Oct 09 '22 12:10

Mano Marks