先日から、Flex Builder 3 に Google Maps API for Flash を取り込んで
地図のプログラミングを始めました。普段何気なく見ている地図上のパーツを自分で
選んで表示させたりするのはとても楽しいです。
その中で1つ気になったことがあり、ネット上でよい記事を見つけることができなかったので
自分で調べてプログラミングしました。これについて書いておこうと思います。
ScaleControl というコントロールがあります。これは通常、地図の左下にスケールを
表示させるためのコントロール(部品)なのですが、何も設定しないとフィートとメートルが
同時に表示されてしまいます。私の感覚ではフィートは必要ないので、メートルのみの
表示にしようと思いましたが、参考になる記事をネット上で見つけられませんでした。
こんな風に書くとできますので、ご参考までに。
...
var scoption:ScaleControlOptions = new ScaleControlOptions();
scoption.units = 5; // UNITS_METRIC_ONLY メートルで表示
mapmain.addControl(new ScaleControl(scoption));
...
説明しますと、ScaleControlを追加する前に、ScaleControlOptionsクラスのインスタンスを
作成して、そのインスタンス内のメンバである"units"に、メートル表示のみにする為の
値を設定します。本当はプログラム内に直接、UNITS_METRIC_ONLY と書けるはずなのですが、
コンパイルでエラーが出た(はず...)ので、直接数字の5を書くことによって、機能が実現しました。
何か他にimport する必要があるのかもしれませんが、まずは動いたってことで、
急いでいる人向けの情報にいたします。私は今度の週末あたりにでもコーヒーでも飲みながら
まったりと調べてみます。
(ちなみに、プログラム中の "mapmain" とは、Mapタグの属性 id の値です。
<ns1:Map x="10" y="10" width="500" height="381" id="mapmain" ....
てな感じです。)
この手の話題を調べるためのサイトは以下の3つがベストでしょう。
この話題でお悩みの方の御健闘を祈ります。
Google Maps API for Flash - FlexBuilder チュートリアルhttp://code.google.com/intl/ja/apis/maps/documentation/flash/tutorial-flexbuilder.html
ScaleControlOptions クラス詳細http://code.google.com/intl/ja/apis/maps/documentation/flash/reference.html#ScaleControlOptions
Google Maps API for Flash サンプル コードhttp://code.google.com/intl/ja/apis/maps/documentation/flash/examples/index.html
コメントの投稿