OpenLayers.Controlクラス

サブクラス

地図の行為をコントロールするクラスです。

サンプル
The following example shows how to add many of the common controls to a map.
下記のサンプルはマップにコントロールを追加の方法を示します。

var map = new OpenLayers.Map('map', { controls: [] });

map.addControl(new OpenLayers.Control.PanZoomBar());
map.addControl(new OpenLayers.Control.MouseToolbar());
map.addControl(new OpenLayers.Control.LayerSwitcher({'ascending':false}));
map.addControl(new OpenLayers.Control.Permalink());
map.addControl(new OpenLayers.Control.Permalink('permalink'));
map.addControl(new OpenLayers.Control.MousePosition());
map.addControl(new OpenLayers.Control.OverviewMap());
map.addControl(new OpenLayers.Control.KeyboardDefaults());

次のコード断片は、ユーザーによって引きずり出される範囲を示すためにshift-mouseクリックする方法の簡単な例です。

var control = new OpenLayers.Control();
OpenLayers.Util.extend(control, {
    draw: function () {
        // this Handler.Box will intercept the shift-mousedown
        // before Control.MouseDefault gets to see it
        this.box = new OpenLayers.Handler.Box( control,
            {"done": this.notice},
            {keyMask: OpenLayers.Handler.MOD_SHIFT});
        this.box.activate();
    },

    notice: function (bounds) {
        alert(bounds);
    }
});
map.addControl(control);

プロパティ


eventListeners

{Object}
新規作成の時、オプションで設定された場合は、eventListenersオブジェクトは<OpenLayers.Events.on>で登録します。オブジェクトの構成は、events.onサンプルのようなリスナーオブジェクトではないといけません。

定数


EVENT_TYPES

{Array(String)} サポートされているイベントタイプです。特定のイベントにリスナーを登録する文法は下記に参照してください。

control.events.register(type, obj, listener);


リスナーを呼び出す同時に参照されているイベントオブジェクトも転送します、何か発生したのかこのイベントのプロパティを依存します。

すべてのイベントは下記プロパティを持っています。

  • object {Object} map.events.objectの参照です。
  • element {DOMElement} map.events.elementの参照です。

サポートされているマップイベントタイプ

  • activate
  • deactivate

コンストラクター


OpenLayers. Control

OpenLayers Controlを作成します。optionはパラメータとしてコントロールに渡して、直接コントロールの拡張になります。下記のサンプルを参照してください。

var control = new OpenLayers.Control({div: myDiv});


ディフォルトdivプロパティをオーバーライドされます。
Add a New Comment
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License