sharedhat

Google Maps API V3のMVCObjectについて

Category: blog

Google Maps API Version 3からMVCObjectが追加されました。
Google Maps APIのマーカーやオーバーレイのベースになっている下位クラスです。

普段マーカーやストリートビューしかあまり使わないので、あまり気にしていなかったのですが、このクラスを継承してコントローラーやウィジットを作ると便利じゃないかと思ったので軽くご紹介します。
ちなみに自作のMootoolsプラグインMMap 0.2はMVCObjectを利用した設計に変更中です。
今は新しいバージョンのデモページを作成しています。

bindToメソッド

MVCObjectのbindToメソッドを利用すると、特定のオブジェクトのプロパティが変更された時、自分自身のプロパティに変更された値を反映させることができます。
たとえば、監視しているオブジェクトのvisibleプロパティが非表示(false)に変更された時、自分自身も同じように非表示にすることが可能です。

property_changed

MVCObjectのprototypeプロパティに[プロパティ名]_changedという名称でメソッドを定義すると、プロパティの変更があった場合に定義されたメソッドが実行される。
これを利用すると変更があった際に、ウィジットの表示などのへの反映が自動化できますし、表示の変更をイベントハンドリングで対応しなくてもよくなります。

イベントリスナー

MVCObjectのイベントリスナーにproperty_changedと指定してイベントリスナーを追加することでプロパティの変更をイベントハンドリングできるようになります。
これは自分の自作ウィジットなどのsetterメソッドでイベントを手動で発火させて、プロパティの変更があったことを他のオブジェクトへ通知するなどの処理が不要になります。

実際に試してみた結果が下記の通りです。
ボタンをクリックするとプロパティの変更があった場合にアラートを表示するようなものです。

解説した動きが再現されていると思います。
これをうまく活用すると、少ない工数で複雑なアプリケーションを作成することが可能です。
積極的に使っていこうと思います。

Trackback:

It is a comment that has been gotten before.

トラックバックを下記のURLに送ってください。
http://sharedhat.com/blog/1625/trackback/

Reply:

Please give the comment to this article.





個人的なフォトログサイト

Wordpressのフォトログテーマ

Concrete5のアドオンパッケージ

this site is licensed under a Creative Commons License But, a part of contents is excluded.
Powered by WordPress