マッピング

Google Apps Scriptではサポートされていないグラフ!?の1つにマップがあります。これは、スプレッドシートの値をマッピングして表示する為のもので、正直な所、これを使うならFusion Tableでマップ作ったほうが、ジオコーディングも出来ますし、かなり作り込めるので、利用価値はいかほどなのか?というものでもありますが、印刷資料としてはなかなかいいのではないか?というパーツでもあります。わざわざ地図を書いたり、Static Mapを使うよりは柔軟性があるかなぁと。ただし、正直あまり便利じゃありません(緯度経度を予め調べておかないといけない)。

マップ本体

ガジェットで作ってみた

標準のマップ挿入機能で作った場合

このマップはガジェットでもなく、標準のマップ挿入機能でマイマップを挿入したもの。こっちのほうが断然良い。

ソースコード

<?xml version="1.0" encoding="UTF-8" ?>
<Module>
<ModulePrefs title="sample1" />
<Content type="html">
<![CDATA[
    <script type="text/javascript" src="https://www.google.com/jsapi"></script>
    <script type="text/javascript">
      google.load("visualization", "1", {packages:["map"]});

      google.setOnLoadCallback(initialize);

function initialize() {

        // The URL of the spreadsheet to source data from.
        var query = new google.visualization.Query('https://docs.google.com/spreadsheet/pub?key=0AjN10lCzkUqkdHJqaUxkaUdyOUR3VGQwM3VHWTdWcGc&single=true&gid=5');
        query.send(drawMap);
      }

      function drawMap(response) {

if (response.isError()) {

          alert('Error in query');
        }
        var data = response.getDataTable();
        var map = new google.visualization.Map(document.getElementById('map_div'));


//グラフオプションの指定

var options = {

showTip: true,

enableScrollWheel: true,

mapType: 'normal',

useMapTypeControl: true

        };


        map.draw(data,options);
      }
    </script>
    <div id="map_div"></div>
]]>
</Content>
</Module>

ポイント

  • 新シートは3つのカラム。経度・緯度・ツールチップの3つで構成されている。
  • オプション指定は対して存在しないので、これ以上のことは出来ない。
  • マイマップのほうがまだ自由度が高いが、あちらはiFrameでの埋め込みであるため、Google Sitesでは使えない。
  • スプレッドシートからマップ生成っていう使い道以外あまりないかもしれない。

参考URL