Compreendendo a documentação do OpenLayers


12

Na documentação dos openlayers, notei que “opções” é muitas vezes usada para mostrar que o construtor aceita parâmetros. Mas onde posso obter os detalhes desse parâmetro {object}? Como se sabe quais parâmetros os construtores aceitam?

Por exemplo: abaixo, coloquei a documentação do construtor para OpenLayers.Filter.Spatial.

Como sei quais propriedades posso colocar em {Object}?

insira a descrição da imagem aqui

Respostas:


12

A melhor coisa sobre o código aberto é que você pode ver exatamente o que está acontecendo navegando no código-fonte. Ao construir um filtro espacial, um novo objeto é inicializado com a seguinte função de inicialização :

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

Isso pode ser visto no controle de fonte online . A função aplicar copia todas as propriedades do seu objeto de configuração (o parâmetro options ) para as propriedades de um novo objeto de filtro espacial (a palavra - chave this no código acima).

Portanto, em resposta à sua pergunta, você pode criar um objeto de configuração com qualquer uma das propriedades listadas no filtro espacial (tipo, propriedade, valor etc.) e elas serão definidas no seu novo objeto.

Uma das melhores maneiras de ver como usar as classes OpenLayers (junto com os exemplos) é encontrar seus testes de unidade associados. Por exemplo, os testes para o OpenLayers.Filter.Spatial estão em http://trac.osgeo.org/openlayers/browser/trunk/openlayers/tests/Filter/Spatial.html

Esses testes mostram muitos exemplos diferentes da construção da classe de filtro espacial (e como usá-la depois de construída), por exemplo

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          });

Você pode usar essas técnicas para descobrir como qualquer classe OpenLayers é construída e exatamente o que acontece quando você cria um novo objeto.


Obrigado, +1 pela sugestão de procurar os testes. (valor acrescentado para a sua resposta)
CaptDragon
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.