« Elevation (2): javascript 版 チリのサッカー選手 »
Google Maps for Adobe AIR(Flex SDK で作成する)
きのうグーグルが掲題の機能をリリースしたので試行。デスクトップにグーグルマップ。

これは、CSVファイルのデータ(この例では3行のみ)をパースするもの。
マーカーは、ドラッグ&ドロップで移動させることができ、

そこで保存ないし別名で保存すれば、当該CSVファイルも以下のように更新される、という AIR アプリ。

Google のデモギャラリーに掲載された、「Map CSV Parser」のソースをコピペしただけのもの。
「本日のToDo」あるいは「本日の営業:ToGo」とか、デスクトップで使えますかね。
以下、作り方の覚え書き。
まず AIR アプリ作成にあたり、
- 有償の「FlexBuilder」か
- 無償の「Flex SDK」か
を入手。当然ながら無償の後者をダウンロード(現行の最新版は3.2。前者の有償のほうは、Google のチュートリアルを。)
そのほか必要なもの:
- Google Maps API for Flash の 無償 SDK 一式(現行の最新版は /lib/map_flex_1_8.swc を同梱)
- Adobe AIR 本体(当然無償、現行の最新版は1.5)
- デモギャラリーのソースをコピー
- 先駆者の方々の記事を検索
- ドブに捨てる時間と暇
- お好みによりコーヒー、ビール、タバコ
- 叱られても気にしない無神経さ など
で、私は次のページを参考にさせていただいた。こちらを読めば、ほとんど出来る。
joomla - Adobe AirをFlex3-sdkで開発
Google Maps のケースとして補筆:
デモのソースから、MapTextEditor.mxml と MapTextEditor-app.xml をコピペしてC:\直下に置いた。また Flex SDK をC:\直下で「flex」というフォルダに、Google SDK をC:\直下で「SDK」というフォルダに置いた。
mxml をコンパイルしてSWFファイルを生成する際に、
というように -library-path.... を加える(1行で書く)と、MapTextEditor.swf が出来上がる。
失敗談として補筆:
次いでAIRの動作を adl で確認する局面、MapTextEditor-app.xml を adl で呼ぶと叱られる。
(意訳:「何やっとんのじゃコラ」)
よくよく見ると、グーグルのサンプルソースの2行目、
<application xmlns="http://ns.adobe.com/air/application/1.0">
1.0 なので整合しない(最新版の1.5をダウンロードしたせい)。だから末尾を、...application/1.5"> に書き換え。
続・失敗談として補筆:
pfxファイルを作成した後、いよいよ air ファイルの作成。次のようにコマンドを打ち込む(一行で)。
すると、また叱られる。
usage:
adt -checkstore SIGNING_OPTIONS
adt -certificate -cn .......
(意訳:「きちんとコマンド書きやがれコラ」)
最後のSWFファイルの記述は、絶対パスを使ってはならないそうで。
お試しダウンロード(AirMap.zip、サンプルCSV同梱)
別の試作品:シンプル東京地下鉄路線図 de AIR
※追記: マップに MapTypeControl や ZoomControl を付けたら挙動がおかしくなる。map_flex_1_8.swc のバグだと思う。おそらく、カンファレンス「Adobe MAX 2008」(サンフランシスコ)開催に間に合うよう強引にリリースした、という側面もあるのだろう。
※追記の追記(27 Nov): 上記のバグを Fix した map_flex_1_8a.swc がリリースされ、MapTypeControl や ZoomControl が正常に機能するようになった。

コメントする