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

  • このエントリーをはてなブックマークに追加
  • 0

何か、やる気がしないとかペタンク作るとか言ってる間に、色々と面白いものが出てるし。
まぁ、今回俺が気にするのは「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を設定する方法」は存在する。こんな感じでサンプルを改造すればよい。

ActionScript

  1. package com.google.maps.examples {
  2.  
  3.     import flash.events.Event;
  4.     import com.google.maps.Map;
  5.     import com.google.maps.MapEvent;
  6.     import com.google.maps.MapType;
  7.     import com.google.maps.LatLng;
  8.  
  9.     public class HelloWorld extends Map {
  10.  
  11.       public function HelloWorld() {
  12.         super();
  13.         key = "ABCDEF";//←ここでAPI Keyを設定。
  14.         addEventListener(MapEvent.MAP_READY, onMapReady);
  15.       }
  16.  
  17.       private function onMapReady(event:MapEvent):void {
  18.         setCenter(new LatLng(40.736072,-73.992062), 14, MapType.NORMAL_MAP_TYPE);
  19.       }
  20.     }
  21.  
  22. }

凄い簡単。実は、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に変えてみた。

ActionScript

  1. setCenter(new LatLng(40.736072,-73.992062), 14, MapType.NORMAL_MAP_TYPE);
スポンサーリンク
スポンサーリンク
  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
スポンサーリンク