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