FlashDevelopだけで(サーバも立てずに)Google Maps API for Flashを試す。

このエントリをはてなブックマークに追加このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加このエントリをkwoutに追加
2008年5月16日 金曜日22:57:37

何か、やる気がしないとかペタンク作るとか言ってる間に、色々と面白いものが出てるし。
まぁ、今回俺が気にするのは「Google Maps API for Flash」の方。Flash Player 10は暫く兵どもにお任せすればいいと言うお考えですよ。

さて、Google Maps APIですが、実行には「API Key」が必要ですよね。アレって不便だな~と、そう思いませんか!?俺は思います。
だって、Flashと言うかFlex SDKだと、実験するのに

  1. asファイルをコンパイルし、swfファイルにする
  2. API Keyを含んだhtmlファイルを作る
  3. サーバにアップロードする
  4. アクセスして試す

なんて言う、超面倒臭いプロセスを踏まないと、サンプル一つ試せないわけですよ旦那!!

と言う事で、早速これをFlashDevelopの再生ボタン(ビルド+実行)1つで動かせるように頑張ってみました。

まず、ローカル環境でGoogle Maps API for Flashを試す時の問題になりそうなこと一覧。

  • Playerを単独起動した場合、URLは無いけどAPI Keyは何使えばいいの?つか、使えるAPI Keyあんの?
  • Google Maps API for FlashのサンプルだとAPI Keyはhtmlに埋め込んでるけど、どうやってswfに直接埋め込むの?

この2点かなと。
取り敢えず、2つ目の「swfにAPI Keyを設定する方法」は存在する。こんな感じでサンプルを改造すればよい。

package com.google.maps.examples {

    import flash.events.Event;
    import com.google.maps.Map;
    import com.google.maps.MapEvent;
    import com.google.maps.MapType;
    import com.google.maps.LatLng;

    public class HelloWorld extends Map {

      public function HelloWorld() {
        super();
        key = "ABCDEF";//←ここでAPI Keyを設定。
        addEventListener(MapEvent.MAP_READY, onMapReady);
      }

      private function onMapReady(event:MapEvent):void {
        setCenter(new LatLng(40.736072,-73.992062), 14, MapType.NORMAL_MAP_TYPE);
      }
    }

}

凄い簡単。実は、com.google.maps.Mapクラスにkeyと言うプロパティがあり、そこに設定すればよいだけ。ちゃんとリファレンスにも載っている

で、これをコンパイルすればswf内にAPI Keyが埋め込まれるので、swf単体で試すことが出来る。
では、どのようなキーを使えばよいのか?教えてGoogleさん!
GoogleMaps API For Flash ローカル」で検索!
すると、このようなページが見つかる。

Google Mapsをローカルサーバーでも利用できる、Google Maps API Keyの紹介です。
ローカルサーバーで表示できるGoogle Maps API Key | コリス

ここに書いてある、ローカルサーバ(http://localhost/)用のAPI Keyだが、実はこのローカルサーバ用API KeyをswfファイルにAPI Keyとして与えると、ローカル環境のみでGoogle Maps API for Flashが動くのだ!


追記:

・・・とまぁ、ローカルサーバ用のAPI Keyを探して設定してみたけど、実は
「有効なAPI Keyなら何でもOK」
と言うコトらしかった。試しに自分のサイト用のAPI Keyで試しても行けたわ。
何だよ、難しいこと考えて損した!

で、FlashDevelopの再生ボタンを押せば、見事Google Mapsが表示された!

FlashDevelopでGoogle Maps API for Flash

おお~、意外と出来るもんだねぇ。

あ、ちなみに何か表示が違うぞ!?と思われた方は正解!
表示方法を、MapType.NORMAL_MAP_TYPEからMapType.SATELLITE_MAP_TYPEに変えてみた。

setCenter(new LatLng(40.736072,-73.992062), 14, MapType.NORMAL_MAP_TYPE);

トラックバック URL :

コメントをどうぞ

HTML convert time: 0.582 sec.