Mapplet作った


ただ飯とただ酒もらいっぱなしというのもどうかという気がして、Yoshioriの日記: Google Mapplet 作った♪を参考にさせてもらいつつ、Google Developer Day2007で教わったMappletをためしに作ってみました。お膝元のたたみラボ-Tatami Labsあたりが先に作っちゃうんじゃないかと内心ドキドキしながら作ってた(いや、べつに早けりゃいいってもんじゃないけど)。

日本の宿探しマップレット
http://dambiyori.sakura.ne.jp/jalanmapplet/jalanmapplet.xml

じゃらんWebサービスを使って地図上にあるホテルなどを探します。検索条件なんて軟派なもんはありません。嘘です。後でもうちょっと作りこむ予定。
登録方法は、

  1. http://maps.google.co.jp/preview/を開く
  2. 「マップレット」タブを選択
  3. 「コンテンツを追加」をクリック
  4. 「URL を指定して追加」をクリック
  5. 上記のURLを入力

すると登録されます。

  1. 「« Google マップに戻る」をクリック
  2. 「日本の宿さがしマップレット」をクリックするとMappletが表示されます。
  3. この辺りの宿を検索をクリックしてしばらく待つと、表示されている地図近辺の宿を表示します。

Google Mapplets自体がまだ正式じゃなさそうですし、私も試行錯誤して作ったのでなにか起きても知りません。
あと、ソースコード一式置いときます。何に使っても結構です。どうぞご利用ください。
http://dambiyori.sakura.ne.jp/jalanmapplet/jalanmapplet.zip
prototype.jsとかも普通に使えますね。
GDD07のMappletのセッションでスピーカーの方が「データはKMLにして分けたほうがいいよ!」って言ってたので今回はそういう風に作ってみました(サーバサイドはじゃらんAPIを叩いてKML形式で返却、Mapplet側はMaps APIKML読み込み機能使ってマーカーを表示)。
確かに簡単だなぁ。コーディングほとんどいらないよ。多分Google Maps API使ってなにかやりたい人の大部分はこれで済むんじゃないかという気がする。

追記

他にもMapplet作った方がいらっしゃいました。
http://d.hatena.ne.jp/myrmecoleon/20070602/1180755820
ユーザが好きなように組み合わせられるから、沢山出てくると物凄く便利になりそう。
Google Maps API使ってた人は割と簡単に作れると思いますよ。

Mappletの開発メモ

備忘録代わりにまとめてみる。時々更新するかも。
http://mappletnavi.net/なんてサイトが立ち上がったみたいなので、そっちを見たほうがよさげ。

プログラムしてて気づいたこと等メモ

  • GoogleガジェットAPI+Google Maps APIだけど完全に同一ではない
    • getBounds()→getBoundsAsync(callback)等、データを受け取るメソッドが軒並み変更(Asyncという名前がうしろにくっつく。データを受け取るコールバック関数を引数に渡す。呼ばれるのは非同期)
    • そもそもオブジェクトが存在しなかったり。(GMarkerManagerとか。)
  • WebAPIの呼び出しなど外部のサーバと通信する場合
    • JSONならガジェット由来の_IG_FetchContent()辺りを使うとできるみたい。
    • KMLならMaps由来のGGeoXmlオブジェクト
  • Mapplet Scratch Padを使うとブラウザ上で開発可能。すごく便利。