Note that there are some explanatory texts on larger screens.

plurals
  1. POFunction to get distance and time between two location
    text
    copied!<p>Here i have a code below that will show google places API data when user click on marker.</p> <p>I also have a two points-location with coordinates (lat,lng) so <code>Point1[], Point2[]</code></p> <p>How I can calculate road distance in km and time between this places and show in HTML. Do google map have a function that will calculate this distance and time?</p> <p>CODE:</p> <pre><code>google.maps.event.addListener(marker,'click',function(){ service.getDetails(request, function(place, status) { if (status == google.maps.places.PlacesServiceStatus.OK) { //class m_tooltip var contentStr = '&lt;div&gt;&lt;h5&gt;'+place.name+'&lt;/h5&gt;&lt;p&gt;'+place.formatted_address+'&lt;/p&gt;'; if (!!place.photos) contentStr += '&lt;img src='+place.photos[0].getUrl({ 'maxWidth': 500, 'maxHeight': 500 })+'&gt;&lt;/img&gt;'; if (!!place.formatted_phone_number) contentStr += '&lt;br&gt;'+place.formatted_phone_number; if (!!place.website) contentStr += '&lt;br&gt;&lt;a target="_blank" href="'+place.website+'"&gt;'+place.website+'&lt;/a&gt;'; var Point1 = [34,666, 56,888]; var Point2 = [77.876, 45,555]; contentStr += '&lt;p&gt;Distance in km:' + functionThatReturnRoadDistance(Point1, Point2) + '&lt;/p&gt;'; $(contentStr).dialog({ modal:true }); } else { var contentStr = "&lt;h5&gt;No Result, status="+status+"&lt;/h5&gt;"; $(contentStr).dialog(); } }); </code></pre> <p>So is there some google map or similar function that will return me a distance in meter or kilometer not simple distance between places but ROAD/ROUTE distance ???</p> <p><strong>UPDATE: I tru this:</strong></p> <pre><code>function calculateDistances(start,stop) { var service = new google.maps.DistanceMatrixService(); service.getDistanceMatrix( { origins: [start], destinations: [stop], travelMode: google.maps.TravelMode.DRIVING, unitSystem: google.maps.UnitSystem.METRIC, avoidHighways: false, avoidTolls: false }, callback); } function callback(response, status) { if (status != google.maps.DistanceMatrixStatus.OK) { alert('Error was: ' + status); } else { var origins = response.originAddresses; var destinations = response.destinationAddresses; for (var i = 0; i &lt; origins.length; i++) { var results = response.rows[i].elements; for (var j = 0; j &lt; results.length; j++) { var xxx= ""; xxx += origins[i] + ' to ' + destinations[j] + ': ' + results[j].distance.text + ' in ' + results[j].duration.text + '&lt;br&gt;'; return xxx; } } } } </code></pre> <p>and to call it with:</p> <pre><code> var start = document.getElementById("from").value; var stop = place.formatted_address; contentStr += '&lt;p&gt;'+ calculateDistances(start,stop); + '&lt;/p&gt;'; $(contentStr).dialog({ modal:true }); </code></pre> <p>but DONT work with DistanceMatrix</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload