Google Static Maps APIを使ったアプリを作ってみた

March 16th, 2008

Google Static Maps APIを見てすぐにOpenLaszloで何か作ってみたいと思った。
Google Static Maps APIのよいところは、GIFのイメージが直接取得できるので、JavaScriptが不要なのはもちろん、クロスサイトドメイン制約に引っかからないこと。
逆にあまりよくないところは、APIキーを取得しないとならないし、その上Google Static Maps APIで作ったイメージを公開するとAPIキーも公開されちゃうところ。
APIキーは、何度でも取得できるのであまり大事にするほどのものでもなさそうだけど、ちょっと気持ち悪い。

とりあえず動くものができたのでkorelab Map α版としました。
しかし、誤算が2つあった。
まず1つ目は、携帯で使うことを想定して作っていたのに携帯で使えそうにないというところ。
OpenLaszloではFlash7形式とFlash8形式のswfファイルが作成されるのですが、携帯のFlash Lite2はFlash7相当なのでFlash7形式で動くものにしないとならない(はず)。しかし、GIFファイルがNativeサポートされているのはFlash8形式の方だけで、Flash7形式では肝心の地図が表示されない。

実際のところ、Flash Lite2対応の携帯を持っていないので試していません。誰か試してみてコメントくれると非常にうれしい。
お試し用のURLは以下の2つ。
SWFの直指定 http://wp.korelab.com/korelab_map.swf
OBJECTタグで指定 http://wp.korelab.com/korelab-map/

もう1つの誤算は、地名などから緯度経度を取得する際に使うGoogle Maps APIのGeocoding Serviceが使えなかったところ。
クロスドメイン制約で使えない。
予測できたはずのことなのですが、Google Static Maps APIがクロスドメイン制約なしで使えることで、なんとなくGeocodingサービスも使えるような気がしてしまった。
そこでここの情報(非公式だが使えるYahoo! Japan Geocoder API)を元にYahoo Japanの情報を使わせてもらうことにしました。
しかし、それでは海外に行けないので、他のGeocoding APIを探していたらGetNamesというのを見つけました。ここの情報量はすごい。800万件を超える地図情報を持っているらしい。しかも日本語の地名も通る。
korelab Map α版では、地名等を入力してSearchボタンが押されると、まずGeoNamesで探して、見つからなかったらYahoo Japanで探すようになっています。
候補が複数見つかった場合には、最初に見つかったものをそのまま表示しています。
このユーザインタフェースをどうするかが今後の課題。

Google Static Maps APIを使ったアプリを作ってみた

March 15th, 2008

Google Static Maps APIを使ってOpenLaszloでアプリケーションを作ってみました。
携帯向けに作っていたのですが、OpenLaszloのFlash7形式では動かなかったのでFlash8形式にしました。ということで、携帯のFlash Lite2では動かないかも。


developed by korelab

Twitter BalloonでGIF画像が表示されない

March 15th, 2008

Twitter BalloonでGIF画像が表示されなくなっていました。
Twitterのcrosdomain.xmlが変更されたことによる対応時に、Twitter BalloonのSWFファイルの入れ替えに失敗していたようです。
OpenLaszloではFlash7形式のSWFとFlash8形式のSWFが作られるのですが、Flash7形式のSWFをアップロードしていました。Flash7形式ではGIF画像が表示されません。
GIFの画像を使っていた方ごめんなさい。
今は直っているはずです。

Twitter Balloonにメッセージが表示されなくなった

March 11th, 2008

サーバ側のPerlのCGIでTwitter APIを叩いてTwitterのメッセージを取得するようにしましたが、やはり負荷が高いのでFastCGI化しました。いまのところよい感じです。

Twitter Balloonにメッセージが表示されなくなった

March 10th, 2008

このままにしておくとTwitter Balloonも終わりになってしまうので、Twitter APIをサーバサイドで呼び出すよう修正しました。
サーバの負荷がちょっと心配。