Итак, вы можете создать пользовательскую функцию для использования на вашем листе, в меню вашего листа выберите: Инструменты> Редактор сценариев и вставьте это:
/**
* @customFunction
*/
function getDistanceBetween(originLat, originLong, destLat, destLong) {
var directions, route;
// Create a new Direction finder using Maps API available on Google Apps Script
directions = Maps.newDirectionFinder()
.setOrigin(originLat, originLong)
.setDestination(destLat, destLong)
.setMode(Maps.DirectionFinder.Mode.DRIVING)
.getDirections(); // Direction Object
// The path may have some segments so it sum it all
if(directions.routes[0]){
route = directions.routes[0].legs.reduce(function(acc, currentRow){
acc.dist += currentRow.distance.value/1000;
acc.dur += currentRow.duration.value/60;
return acc;
},{dist:0,dur:0});
// This will return data to fill 2 columns.
// First with de distance
// Second with a link to view the path on map's site;
return [[route.dist, "https://www.google.com/maps/dir/"+originLat+","+originLong+"/"+destLat+","+destLong+"/"]];
} else {
return [["", ""]];
}
}
Затем перейдите на свой лист и установите для него значениеячейка:
=getDistanceBetween(-23.319937, -51.166299, -23.310565, -51.165488)
// Или ссылка на ячейку;