我正在尝试设置一个谷歌工作表,我可以在其中输入两个地址,并从 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 Cloud Console 中为此项目启用了 Google Maps API?有时这就是罪魁祸首。
可能值得尝试对已知的正确地址进行硬编码,以测试是否是输入或函数本身的问题。
此外,您是否考虑过使用较新的
UrlFetchApp.fetch()
方法而不是 Maps
服务?我发现它有时更可靠,尽管它确实需要更多设置。