Понимание документации OpenLayers

12

В документации openlayers я заметил, что «параметры» часто используются, чтобы показать, что конструктор принимает параметры. Но где я могу получить информацию об этом параметре {объект}? Как узнать, какие параметры принимает конструктор?

Например: ниже я поместил документацию конструктора для OpenLayers.Filter.Spatial.

Как узнать, какие свойства я могу поместить в {Object}?

введите описание изображения здесь

CaptDragon
источник

Ответы:

12

Лучшее в открытом коде - это то, что вы можете точно увидеть, что происходит, просматривая исходный код. При построении пространственного фильтра новый объект инициализируется следующей функцией инициализации :

72      initialize: function(options) {
73          OpenLayers.Filter.prototype.initialize.apply(this, [options]);
74      },

Это можно увидеть в онлайн-управлении источниками . Функция apply копирует все свойства из вашего объекта конфигурации ( параметр options ) в свойства нового объекта пространственного фильтра (ключевое слово this в приведенном выше коде).

Поэтому, отвечая на ваш вопрос, вы можете создать объект конфигурации с любым из свойств, перечисленных в пространственном фильтре (тип, свойство, значение и т. Д.), И они будут установлены для вашего нового объекта.

Один из лучших способов увидеть, как использовать классы 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, и что именно происходит при создании нового объекта.

geographika
источник
Спасибо, +1 за предложение искать тесты. (добавленная стоимость к вашему ответу)
CaptDragon