我正在尝试设置一个谷歌表格,我可以在其中输入两个地址,并从谷歌地图的 Excel 表格中获取行驶距离和时间
我有下面的脚本 - 但它一直出现错误 - 错误是异常:无效参数:来源 GOOGLEMAPS @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 地图对此很挑剔。
您是否仔细检查过是否已在 Google Cloud Console 中为此项目启用了 Google Maps API?有时这就是罪魁祸首。
可能值得尝试对已知的良好地址进行硬编码,以测试它是否是输入或函数本身的问题。
另外,您是否考虑过使用较新的
UrlFetchApp.fetch()
方法代替服务Maps
?我发现它有时更可靠,尽管它确实需要更多设置。