本站已关停,现有内容仅作科研等非赢利用途使用。特此声明。
查看: 2543|回复: 0
打印 上一主题 下一主题

在Gooogle表格中使用Maps服务生成餐馆位置地图

[复制链接]
跳转到指定楼层
1#
发表于 2014-3-4 18:00:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
新建一个地图表格,填写餐馆名称和位置

打开工具>脚本编辑器,使用如下代码:
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表格中。



ChinaGDG.com
回复

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表