Yahoo!地図情報Webサービスで、Flash版地図APIが公開されたのでサンプルを作ってみた。

ヤフー地図を貼り付けるだけなら簡単。

右下のコンパス(方位磁針アイコン)でぐるぐる回すことができるのがすごい(文字も逆さになってしまうが……)。

いくつか印象など。

・FlashだけどJavaScript経由で地図を操作可能。
・地図が回転するのはおもしろい。できれば文字は逆さになってほしくないけど。
・ルート再生はいいけど、ルート表示も欲しい。
・ルート再生にはPOIX仕様のファイルが必要。KML とか GPX だったら ALPSLAB route のファイルが流用できるのに。測地系がTokyo97固定なのでWGS84にも対応してくれないかなぁ。
・ルート再生に指定するcrossdomain.xmlの指定方法にハマった。ドメインルートに置かない場合は crossDomain0=http://www.nilab.info/lab/yahoomapsflash/crossdomain.xml のような形で指定する。相対指定が可能かどうかとかは調べてない。
・住所を検索するフォームも Flash 内にノンプログラミングで(パラメータ指定だけで)埋め込めるとうれしい(シンプルな移動だけでいいから)。もう、ローカルサーチAPIとか使ってAjaxなジオコーディングなんてしたくない。手間だし。
・ローカルで HTMLを編集してて、moveTo を呼ぶコードを書いてたら "moveTo is not function" というようなエラーが発生する。Flashのセキュリティ設定の問題?

とりあえず3つほどサンプルを作ってみた ⇒ Yahoo!地図情報Webサービス Flash版地図API サンプル
Mozilla Firefox では動作した。(IEで動いてくれないところがあるけど放置)。

参考: Yahoo!デベロッパーネットワーク - Yahoo!地図情報Webサービス - Flash版地図API - レファレンスマニュアル (← リファレンスマニュアルじゃなくてレファレンス)

Flash内に読み込んでいる人もいたり ⇒ Yahoo Flash版地図API を swf に読み込む (Unknown Quality)

追記: 2007-07-01

そういえば、マニュアルには crossdomain.xml をどうやって記述すればいいか書いてなかったので、ちょっと困ってた。参照している swf のアドレスのドメインを記述すればよいとは思ったけど、公式にそういうことを書いておいてくれないと、ちょっと迷う。

で、探したら地図スタッフブログというところに書いてあった。

ルート再生のためには、事前に再生用のXMLファイルを用意する必要があります。
そして、ルート再生用のXMLファイルへのパスを、初期化パラメータで指定します。
このサンプルでは、./route.xmlとなります。
また、このXMLファイルを参照できるように、クロスドメイン設定を行う必要があります。
ここでは、こちらのファイルに
以下のように記述します。

<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="api.map.yahoo.co.jp" />
</cross-domain-policy>

Flash版地図APIを公開しました! - 地図スタッフブログ - Yahoo!ブログ

追記: 2013-07-18

4つほどスクリーンショット撮っておいた。

Yahoo!地図情報Webサービス Flash版地図API

tags: zlashdot GIS Flash WebServices YahooJapanMapsAPI

Posted by NI-Lab. (@nilab)