使用来自 google 工作表的应用程序脚本使用单独的 google 地图图像创建多个文档文件

Create multiple doc files with separate google map images with apps script from google sheets

我正在尝试使用 Google 表格中的功能来创建单独的文档,其中包括来自当前表格行的 table 大纲信息,后跟 Google 的地图图像保存在 Drive 中的文件名 "street"-"county" 下的位置。

除静态地图外一切正常。虽然文件保存为正确的名称,并且每行的 table 信息都是正确的,但每个文档中使用的地图图像都与初始文档相同。任何建议将不胜感激。

  function makeDocument(){

  var ss = SpreadsheetApp.getActiveSpreadsheet()
  var sheet = ss.getActiveSheet()
  var info = []  
  for (i=2; i <= 4; i++) { //sheet.getLastRow()
     values = sheet.getRange(i, 1, 1, 11).getValues();
     info[i] = {};
     info[i]['id'] = values[0][0];
     info[i]['sd'] = values[0][1];
     info[i]['address'] = values[0][2];
     info[i]['city'] = values[0][3];
     info[i]['county'] = values[0][4];
     info[i]['state'] = values[0][5];
     info[i]['zip'] = values[0][6];
     info[i]['puse'] = values[0][7];
     info[i]['lat'] = values[0][8];
     info[i]['lon'] = values[0][9];
     info[i]['sl'] = values[0][10];
     create_document(info[i]);
     info[i] = {};
     Logger.log(info[i]);
  }
}

function create_document(info){
//  Create document as address for filename
  var doc = DocumentApp.create(info['address']+"-"+info['county'])
  var body = doc.getBody()
//  create and insert table
  var cells = [
    ['Yardi Id','PUSE','Address','City','County','State','Service Level'],
    [info['id'], info['puse'], info['address'], info['city'], info['county'], info['state'], info['sl']]
  ];
  body.insertTable(0, cells);
  body.appendImage(get_map_image(info['lat'],info['lon']))
  doc.saveAndClose();
  }

  function get_map_image(lat, lon){
    var image = Maps.newStaticMap()
    .setSize(600, 800)
    .setCenter(lat, lon)
    .addMarker(lat, lon)
    .addVisible(lat, lon)
    .setZoom(21)
    .setMapType(Maps.StaticMap.Type.SATELLITE)
    .setFormat(Maps.StaticMap.Format.PNG32);
    return(image);
  }

代码很丑,但可以用。电子表格中的 GPS 需要采用十进制格式。