Trước hết các bạn cần active các thư viện sau
Maps JavaScript API
Geolocation API
Places API
Geocoding API
Directions API
Roads API
Distance Matrix API

Hàm js lấy quãng đường giữa 2 địa điểm (dữ liệu trả về là list các cung đường)

function shortestRoute(origin, destination) {
if(destination!=''){

directionsService = new google.maps.DirectionsService();
var routesResponses = [];

directionsService.route({
origin: origin,
destination: destination,
provideRouteAlternatives: true,
avoidHighways: true,
travelMode: google.maps.TravelMode.DRIVING
}, function (response, status) {
if (status === google.maps.DirectionsStatus.OK) {
routesResponses.push(response);
} else {
window.alert('Directions request failed due to ' + status);
}

var fastest = Number.MAX_VALUE,
shortest = Number.MAX_VALUE;

routesResponses.forEach(function (res) {
res.routes.forEach(function (rou, index) {
console.log("distance of route " + index + ": ", rou.legs[0].distance.value);
console.log("duration of route " + index + ": ", rou.legs[0].duration.value);
if (rou.legs[0].distance.value < shortest) shortest = rou.legs[0].distance.value;
if (rou.legs[0].duration.value < fastest) fastest = rou.legs[0].duration.value;

})
})

});

Lưu ý: Tham số truyền vào là 1 object google.maps.LatLng nhé.

Và đây là ví dụ kết quả trả về , như trong hình là có 3 cung đường

Tính năng này kết hợp với BÀI NÀY có thể được sử dụng cho chức năng liên quan đến vận chuyển , bán hàng , lấy quãng đường ngắn nhất.

 

Nếu thấy hữu ích , ngại gì mà không share bài viết này

Chia sẻ

Bình luận