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