扩展OpenLayers的控件类

OpenLayers不仅仅是一个地图引擎,如果愿意,你甚至可以把jQuery封装进去。

使用中可能要写作自己的控件,下面是一个模板:

OpenLayers.Control.YourControl = OpenLayers.Class(OpenLayers.Control, {
    // may private properties here ...
    
    initialize: function(options) {
        OpenLayers.Control.prototype.initialize.apply(this, arguments);
        // initialize private settings here ...
    },

    draw: function() {
        OpenLayers.Control.prototype.draw.apply(this);
        // add private elements here ...
        return this.div;
    },

    destroy: function() {
        // delete private elements here ...
        OpenLayers.Control.prototype.destroy.apply(this);
    },

    // may event handlers here ...
    
    CLASS_NAME: "OpenLayers.Control.YourControl"
});

一般需要重载OpenLayers.Control类的上述三个方法,分别完成自定义的初始化、创建和销毁的工作。

而控件的外观样式可通过其CSS的命名规律在style.css中定义。

posted @ 2011-04-21 16:19  ALLI Look for Lost Idylls  阅读(1218)  评论(0编辑  收藏  举报