新建一个地图表格,填写餐馆名称和位置
打开工具>脚本编辑器,使用如下代码: function restaurantLocationsMap() { // 获取数据 var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('餐馆地址');
var restaurantInfo = sheet.getRange(2, 1, sheet.getLastRow() - 1, 2).getValues();
// 创建静态地图 var restaurantMap = Maps.newStaticMap();
// 创建UI显示地图 var ui = UiApp.createApplication();
var grid = ui.createGrid(restaurantInfo.length + 1, 3); grid.setWidget(0, 0, ui.createLabel('编号 #').setStyleAttribute('fontWeight', 'bold')); grid.setWidget(0, 1, ui.createLabel('名称').setStyleAttribute('fontWeight', 'bold')); grid.setWidget(0, 2, ui.createLabel('地址').setStyleAttribute('fontWeight', 'bold'));
// 遍历所有数据 for (var i = 0; i < restaurantInfo.length; i++) { restaurantMap.setMarkerStyle(Maps.StaticMap.MarkerSize.MID, Maps.StaticMap.Color.GREEN, i + 1);
restaurantMap.addMarker(restaurantInfo[1]);
grid.setWidget(i + 1, 0, ui.createLabel((i + 1).toString())); grid.setWidget(i + 1, 1, ui.createLabel(restaurantInfo[0])); grid.setWidget(i + 1, 2, ui.createLabel(restaurantInfo[1])); }
var panel = ui.createFlowPanel().setSize('500px', 515 + (restaurantInfo.length * 25) + 'px');
panel.add(ui.createImage(restaurantMap.getMapUrl())); panel.add(grid);
ui.add(panel); ui.setHeight(515 + (restaurantInfo.length * 25)); ui.setWidth(500); ui.setTitle('餐馆位置');
// 将地图显示在电子表格中 SpreadsheetApp.getActiveSpreadsheet().show(ui); }
运行2次restaurantLocationsMap方法完成授权并生成静态地图图片显示在Google表格中。
|