在Google Apps脚本中使用DistanceMatrixService

时间:2013-12-30 22:32:41

标签: google-maps-api-3 google-apps-script distance

从GAS,是否可以调用Maps API服务,例如DistanceMatrix?

我想计算存储在电子表格中的地址之间的距离。 我认为需要显示地图,以符合Maps API的条款。

可能会出现以下内容吗?

var service = new Maps.DistanceMatrixService();
service.getDistanceMatrix(
{
    origins: [OAddresses],
    destinations: [DAddresses],
    travelMode: Maps.TravelMode.DRIVING,
    unitSystem: Maps.UnitSystem.METRIC,
    avoidHighways: false,
    avoidTolls: false
}, callback);

1 个答案:

答案 0 :(得分:0)

这将有助于你..它是文件解析的完整代码 由于标题,它跳过第1行 请根据需要更改“工作表名称” 检查屏幕截图以便更好地理解 ScreenShot: https://docs.google.com/file/d/0B5nG8jqFwu2eMk9uajZJX2VhRjg/edit

function geoDistance() {
var sheetName           = 'xyz';
var activeSpreadsheet   = SpreadsheetApp.getActiveSpreadsheet();
var selectedSheet       = activeSpreadsheet.getSheetByName(sheetName);
var sheet               = selectedSheet; 
var lastRow             = sheet.getLastRow();
var N                   = lastRow;

for (var i=2;i<=N;i++){
var startpoint          = sheet.getRange(i, 1, 1, 1).getValue();
var endpoint            = sheet.getRange(i, 2, 1, 1).getValue();

var directions = Maps.newDirectionFinder()
 .setOrigin(startpoint)
 .setDestination(endpoint)
 .setMode(Maps.DirectionFinder.Mode.DRIVING)
 .getDirections();

var print = sheet.getRange(i,3,1,1).setValue(directions.routes[0].legs[0].distance.text);
}}