【问题标题】:Using DistanceMatrixService within Google Apps Script在 Google Apps 脚本中使用 DistanceMatrixService
【发布时间】:2014-01-01 06:22:49
【问题描述】:

是否可以从 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);

【问题讨论】:

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


    【解决方案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);
    }}
    

    【讨论】:

      猜你喜欢
      • 2017-08-28
      • 1970-01-01
      • 2016-06-26
      • 2013-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多