Comprendre la documentation d'OpenLayers

12

Dans la documentation openlayers, j'ai remarqué que les «options» sont souvent utilisées pour montrer que le constructeur prend des paramètres. Mais où puis-je obtenir les détails de ce paramètre {objet}? Comment sait-on quels paramètres les constructeurs acceptent?

Par exemple: ci-dessous, j'ai mis la documentation du constructeur pour OpenLayers.Filter.Spatial.

Comment savoir quelles propriétés je peux placer dans {Object}?

entrez la description de l'image ici

CaptDragon
la source

Réponses:

12

La meilleure chose à propos de l'open source est que vous pouvez voir exactement ce qui se passe en parcourant le code source. Lors de la construction d'un filtre spatial, un nouvel objet est initialisé avec la fonction d' initialisation suivante:

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

Cela peut être vu dans le contrôle de source en ligne . La fonction apply copie toutes les propriétés de votre objet de configuration (le paramètre options ) dans les propriétés d'un nouvel objet de filtre spatial (le mot - clé this dans le code ci-dessus).

Ainsi, en réponse à votre question, vous pouvez créer un objet de configuration avec l' une des propriétés répertoriées dans le filtre spatial (type, propriété, valeur, etc.) et elles seront définies sur votre nouvel objet.

L'une des meilleures façons de voir comment utiliser les classes OpenLayers (avec les exemples) est de trouver leurs tests unitaires associés. Par exemple, les tests pour OpenLayers.Filter.Spatial se trouvent à http://trac.osgeo.org/openlayers/browser/trunk/openlayers/tests/Filter/Spatial.html

Ces tests montrent de nombreux exemples différents de la construction de la classe de filtre spatial (et comment l'utiliser une fois construite), par exemple

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

Vous pouvez utiliser ces techniques pour découvrir comment est construite une classe OpenLayers et exactement ce qui se passe lorsque vous créez un nouvel objet.

geographika
la source
Merci, +1 pour la suggestion de rechercher les tests. (valeur ajoutée à votre réponse)
CaptDragon