Google maps 通过webapp调用参数?

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

下面的代码获取两个不同地址之间的距离,并以英里、公里或分钟为单位返回距离。我的理解是,我可以使用google.script.run.googleMaps()在web应用程序中执行我的应用程序脚本

我的问题是,如何使用输入字段作为起始字段和两列,在web应用程序中复制相同的结果

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(或者
    doPost(e)
    ),这将是调用WebApp时运行的第一个函数
  • 部署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;
 ...
}