Google maps 通过webapp调用参数?
下面的代码获取两个不同地址之间的距离,并以英里、公里或分钟为单位返回距离。我的理解是,我可以使用google.script.run.googleMaps()在web应用程序中执行我的应用程序脚本 我的问题是,如何使用输入字段作为起始字段和两列,在web应用程序中复制相同的结果Google maps 通过webapp调用参数?,google-maps,google-apps-script,web-applications,Google Maps,Google Apps Script,Web Applications,下面的代码获取两个不同地址之间的距离,并以英里、公里或分钟为单位返回距离。我的理解是,我可以使用google.script.run.googleMaps()在web应用程序中执行我的应用程序脚本 我的问题是,如何使用输入字段作为起始字段和两列,在web应用程序中复制相同的结果 function googleMaps(start_address,end_address, return_type){ var mapObj = Maps.newDirectionFinder(); map
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 Math.floor(meters * 0.000621371);
break;
case "kilometers" :
return meters / 1000;
break;
case "minutes" :
var duration = getTheLeg["duration"]["value"];
return duration / 60;
break;
default :
return "Error: Wrong unit type";
}
}
向WebApp传递参数
- WebApp必须包含A(或者
),这将是调用WebApp时运行的第一个函数doPost(e)
- 部署WebApp时,WebApp URL将如下所示:
https://script.google.com/a/XXXXX.eu/macros/s/XXXXXXXXXXXXXXXXXXX/exec
- 如果您想将参数传递到url,您应该像这样做
https://script.google.com/a/XXXXX.eu/macros/s/XXXXXXXXXXXXXXXXXXX/exec?start_address=AAA&end_address=BBB&return_type=CCC
- 这些参数可以在WebApp中检索为
- 现在,您可以将您的函数完全集成到
-您不需要doGet()
google.script.run.googleMaps()代码>为它
- 如果确实要使用调用函数,请注意,它是一种从客户端(Javascript)调用应用程序脚本函数的方法
- 如果您想使用它,这意味着首先您需要使用
- 其次,您需要将检索到的参数从应用程序脚本传递到Javascript并返回
google.script.run.googleMaps(开始地址、结束地址、返回类型)代码>
function doGet(e){
var start_address = e.parameter.start_address;
var end_address = e.parameter.end_address;
var return_type = e.parameter.return_type;
...
}