以下代码片段(ol.control.Control.call)是什么意思?我正在使用openlayer 3在图层上创建一些按钮。
var options = opt_options || {};
var element = document.createElement('div');
element.className = 'ol-unselectable ol-mycontrol';
element.appendChild(drawPolygon);
ol.control.Control.call(this, {
element: element,
target: options.target
});
答案 0 :(得分:1)
您的代码段不完整。应该是这样的:
parts => ((0 1) (1 2) (2 170) (170 250) (250 255) (255 218) (218 221) (221 8) (8 9))
idx-labelled => ([0 false] [1 false] [2 false] [3 false] [4 false] [5 true] [6 false] [7 false] [8 false])
idx-that-match => ([5 true])
result => 5
(find-pattern [255 218] data) => 5
var MyCustomControl = function(opt_options) {
var options = opt_options || {};
var element = document.createElement('div');
element.className = 'ol-unselectable ol-mycontrol';
element.appendChild(drawPolygon);
ol.control.Control.call(this, {
element: element,
target: options.target
});
};
ol.inherits(MyCustomControl, ol.control.Control);
是自定义控件的构造函数,它必须继承ol基本控件原型,即MyCustomControl
。要确保自定义控件继承ol基本控件原型,必须在自定义控件的构造函数中调用ol.control.Control
的构造函数,并将其应用于自定义控件。在javascript中,您使用ol.control.Control
方法执行此操作,将call
(表示您正在构建的自定义控件)作为第一个参数传递,并将一些其他参数传递给this
构造函数。< / p>
之后,在ol中,您致电ol.control.Control
以使自定义控件继承ol.inherits
方法(http://openlayers.org/en/latest/apidoc/ol.html#.inherits)。