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中定义。

相关文章: