GoogleMapAPIを使ってみることにした。JavaScriptはよく分からないのだが、Googleが公開しているサンプルコードをそのままコピペしてみるときちんと動作した。GoogleMapはKMLというファイルを読みこんでレイヤー表示することができる。何かできないかなあと思って、以下の要領で試してみた。
- まず、GoogleMapAPIを使って任意の場所の座標を調べる。
- 次にTwitterAPIを使って任意の場所の周辺で呟かれたツイートを抽出した。式はhttps://api.twitter.com/1.1/search/tweets.json?count=100&geocode=35.6625031,139.73192029999996,2kmのように書く。これは六本木6丁目の周囲2kmで呟かれているツイートを抽出せよという意味だ。位置情報を示すデータはgeocodeと呼ばれる。
- このデータをKMLというファイルに整形する。手作業でやるのは大変なので予めプログラミングして置くとよい。
- このKMLファイルをGoogleMapに読み込ませて表示する。下記のような画面が得られた。
- このプログラムはバージョン2でも3でも動作した。2はかなり昔に終っているバージョンのはずだが未だに動かしてくれているらしい。古いAPIを切り捨ててしまうサービス(例えばTwitterやFacebook)もあるので、有り難い限りだ。
KMLファイルはかなり強力にキャッシュされるらしい。頻繁に情報が更新されるデータなどに使うのはやめた方がよさそうだ。CData形式にしておくと、httpで始まるテキストには自動でリンクが貼られている。
場所付きのデータはかなり多く見つかった。最近流行っていると思われる、スマホを使って場所をチェックインするサービスが普及しているようだ。たいていのデータは「どこで買い物をした」とか「どこで食事をした」などといったたわいもないものだった。イベントなどがあれば参加者の反応を見る事ができて面白いのかもしれない。
意外に思われるかもしれないが、これらのツイートのほとんどが公開されており、誰でも利用することができる。個人情報とか守秘義務などを気にする人はGPS機能を切っておいた方がいいのかもしれない。
KMLファイルは手動で作る事もできるが、最近のスマホカメラ(iPhoneやiPadなど)には最初から場所のコードが添付されている。これをPicasaにアップロードする。PicasaにはKMLファイルを出力するオプションがあり、コメントなども付加することができるので、プログラミングなしで情報の共有地図を作る事も可能だ。災害情報を近所と共有したり、お薦めのお店マップを作ったりと様々に応用できそうだ。