奥方様が夕食後に「ちょっと仕事の資料を作らないといけないんだけど……」と、言葉を濁しながらもじもじと話をもちかけた。なんでも、仕事の資料を作らないといけなくて……全国に点在する拠点を日本地図上にプロットしたいのだという。
たしか出来たはずだから、Excelに住所を入力しておいて……と言うやいなや奥方様は強烈な勢いで住所を入力しはじめた。おいおい、そんなに追い込まれているんかい(汗)
さて……と、思いつつGoogle EarthのAppleScript用語辞書をチェックしだした。Google EarthはScriptableなのでAppleScriptからのコントロールが可能なのだ。
だが、住所を緯度経度に変換する「住所ジオコーダー」についてはAppleScript側に機能が解放されていないことが分かった。場所表示については緯度経度をパラメータに要求されるのだが、「東京都練馬区○○町」といった実際の住所を緯度経度にあらかじめ変換しておく必要がある。
まだ、この段階でも楽観視していた私は、SOAPでGoogle APIをコールすればなんとかなるだろう、と考えていた。Googleでいろいろ検索して情報を探し、それらしきリンク情報まではたどり着くのだが、リンク先が存在しない。
おかしいと思い、さらに検索してみると……
■GoogleがSOAPにトドメを刺した日
http://sevendegrees.blogspot.com/2006/12/googlesoap.html
なんて情報が……。あらあら(汗)
ここらへんの結論としては、SOAPはすでに使えないのが現状。Web上に存在するAJAXベースのプログラムしか地図系のGoogle APIを叩けないのだという。おいおい、お手上げだよ〜ん。
「なんか、できないっぽいんですけど〜」
そう言おうと思って、奥方様のMacBook Proをのぞき込むと、もはや後戻りできないぐらい住所データが入力されている。こ、これで「できない」とかいったら殺されるに違いない(ーー;;;
仕方なく、最後の手段……GUI ScriptingでGoogle Earthをコントロールすることにした。本当にこれしか手段が残っていないのだ。
ほとんどプログラム側からGUI部品を作成しているらしく、主要なGUI部品はほとんどコントロールできなかった。GUI Scriptingでもお手上げっぽいのだが、ここで負けてはいかんのであります。さらに「奥の奥の手」を繰り出して、マウスカーソルの強制移動および強制クリックという技を発動。
だいたい、20分ぐらいで連続検索AppleScriptができた。
住所とポイント名称をリストに入れておけば、実際に検索を行って地図上にポイントするというものだ。あとは、Excel上の選択範囲からデータを取得して、このルーチンに与えれば大丈夫だ。
休日なのに、瞬間的に全能力を発揮させられてしまったではないか(汗)。ああ、あとはこいつをLeopardに移植しないといかんのか。