1

Google Visualization App Geomap を使用してスクリプトを作成しようとしています。Google Developers ページのサンプル コードでは、ハード コードされたテーブルを使用しています。私がやりたいことは、Google フォームに接続された Google スプレッドシートのデータをコードで使用することです。より具体的には、次のスプレッドシートのスプレッドシート タブ «countries» のデータを使用したい: https://docs.google.com/spreadsheets/d/1l77TXctG6mgva1ggs3iR3eBNx949hzn9SiVjki1v59I/edit?usp=sharing .

どういうわけかこれが機能せず、以下にリストされているエラー メッセージが表示されます。

スプレッドシートから適切な形式でデータを収集するにはどうすればよいですか? この手順を使用して、スプレッドシートからデータを収集しようとしました: https://google-developers.appspot.com/chart/interactive/docs/spreadsheets

Web ページのエラー メッセージ:

"Data table is not defined"

Safari コンソールのエラー メッセージ:

TypeError: undefined is not an object (evaluating 'new google.visualization.Query’)
drawChart help:113
(anonymous function) help:117

私のコード

<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
  google.load("visualization", "1", {packages:["geomap"]});
  google.setOnLoadCallback(drawMap);

  function drawMap() {
    var opts = {sendMethod: 'auto'};

    // ***My code***
    var query = new google.visualization.Query('https://docs.google.com/spreadsheets/d/1l77TXctG6mgva1ggs3iR3eBNx949hzn9SiVjki1v59I/edit#gid=957991050', 'sheet=countries', 'headers=1');
    var data = query.send(handleQueryResponse);

    var options = {};
    options['dataMode'] = 'regions';

    var container = document.getElementById('regions_div');
    var geomap = new google.visualization.GeoMap(container);

    geomap.draw(data, options);
  };

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

      return response.getDataTable();
    }

</script>

この (願わくば) それほど難しくない作業を手伝ってくれる人がいるといいのですが。事前にどうもありがとうございました!:-)

4

1 に答える 1