Answers:
关于开源的最好的事情是,您可以通过浏览源代码确切地了解正在发生的事情。构造空间滤镜时,将使用以下初始化函数初始化一个新对象:
72 initialize: function(options) {
73 OpenLayers.Filter.prototype.initialize.apply(this, [options]);
74 },
这可以在在线源代码管理中看到。的应用功能的副本从配置对象的所有特性(选项到一个新的空间滤波器的对象(该关键字的属性参数)这在上面的代码)。
因此,为回答您的问题,您可以使用空间过滤器中列出的任何属性(类型,属性,值等)创建一个配置对象,然后将它们设置在新对象上。
查看如何使用OpenLayers类(以及示例)的最佳方法之一是找到它们相关的单元测试。例如,针对OpenLayers.Filter.Spatial的测试位于http://trac.osgeo.org/openlayers/browser/trunk/openlayers/tests/Filter/Spatial.html
这些测试显示了空间滤波器类构造的许多不同示例(以及构造后如何使用它),例如
28 var filer, feature, res, geom, bounds;
29
30 bounds = new OpenLayers.Bounds(0, 0, 10, 10);
31 filter = new OpenLayers.Filter.Spatial({
32 type: OpenLayers.Filter.Spatial.BBOX,
33 value: bounds
34 });
您可以使用这些技术来了解如何构造任何OpenLayers类,以及创建新对象时的确切情况。