获取两个地址之间的时间和距离的脚本错误

问题描述 投票:0回答:1

我正在尝试设置一个谷歌工作表,我可以在其中输入两个地址,并从 Excel 工作表中的谷歌地图获取行驶的距离和时间

我有下面的脚本 - 但它不断出现错误 - 错误是 异常:无效参数:来源 谷歌地图 @GOOGLEMAPS.gs:4

我的脚本如下

your text

`function GOOGLEMAPS(start_address,end_address,return_type) {

  var mapObj = Maps.newDirectionFinder();
  mapObj.setOrigin(start_address);
  mapObj.setDestination(end_address);
  var directions = mapObj.getDirections();

  var getTheLeg = directions["routes"][0]["legs"][0];

  var meters = getTheLeg["distance"]["value"];

  switch(return_type){
    case "miles":
      return meters * 0.000621371;
      break;
      case "minutes":
      //get duration in seconds
      var duration = getTheLeg["duration"]["value"];
      //convert to minutes and return
      return duration / 60;
      break;
    case "kilometers":
      return meters / 1000;
      break;
    default:
      return "error:wrong unit type";
  }
}`
google-maps syntax
1个回答
0
投票

我想到了一些事情:

  1. 您确定在表单中输入的地址格式正确吗?有时谷歌地图可能对此很挑剔。

  2. 您是否已仔细检查是否已在 Google Cloud Console 中为此项目启用了 Google Maps API?有时这就是罪魁祸首。

  3. 可能值得尝试对已知的正确地址进行硬编码,以测试是否是输入或函数本身的问题。

  4. 此外,您是否考虑过使用较新的

    UrlFetchApp.fetch()
    方法而不是
    Maps
    服务?我发现它有时更可靠,尽管它确实需要更多设置。

© www.soinside.com 2019 - 2024. All rights reserved.