Web Apps脚本:无输出

时间:2013-11-19 13:12:56

标签: google-apps-script google-visualization google-sites

我正在尝试在我的网站上显示Google Visualization GeoMap。我在Code Playground中创建了代码,并将其保存为我的网站中的Apps脚本。页面将完成加载过程,但不会显示任何内容。

以下是代码:

function doGet() {
  var app = UiApp.createApplication();

    function drawVisualization() {
      var query = new google.visualization.Query(
        'https://docs.google.com/a/mantisnetworks.co/spreadsheet/ccc?key=0AoNHsySj5NxGdGt0dmxva3ZPb3dLYVpVZ2Z4TThNbGc&usp=drive_web#gid=0');
  query.send(handleQueryResponse);
}

function handleQueryResponse(response){
  if(response.isError()){
    alert('Error in Query:' + response.getMessage()+''+response.getDetailedMessage());
    return;
  }

      var data = response.getDataTable();

      var geochart = new google.visualization.GeoMap(document.getElementById('visualization'));

      var options = {};
      options['dataMode'] = 'regions';
      options['resolution'] = 'provinces';
      options['region'] = 'LS';
      options['width'] = '600px';
      options['height'] = '300px';

      geochart.draw(data, options);
    }


  app.close();
  return app;
}

1 个答案:

答案 0 :(得分:2)

Google Apps脚本基于Javascript,但作为服务器端环境,它无法访问所有客户端javascript结构。例如,Google可视化提供为Charts Service。使用该服务,您将获得对大部分可视化API的支持。但是,您将找不到GeoMap。

您在问题中提供的代码需要进行大量重新设计才能在Google Apps脚本中正常运行。从图表服务页面上给出的示例开始,然后适应您的情况。

Google Apps脚本中还有另一种选择,即使用HTML服务“托管”包含“真实”javascript的HTML页面。嵌入在HTML页面中的Javascript可以在客户端浏览器上运行,因此您在操场中制作的示例可以正常工作。此选项的完全失效超出了您的问题范围,但如果您对此感兴趣,可以先扫描previous questions about the HTML Service