Zrozumienie dokumentacji OpenLayers


12

W dokumentacji Openlayers zauważyłem, że „opcje” są wielokrotnie używane do pokazania, że ​​konstruktor przyjmuje parametry. Ale gdzie mogę uzyskać szczegółowe informacje dotyczące tego parametru {obiekt}? Skąd wiadomo, jakie parametry akceptuje konstruktor?

Na przykład: poniżej umieściłem dokumentację konstruktora dla OpenLayers.Filter.Spatial.

Skąd mam wiedzieć, jakie właściwości mogę umieścić w {Object}?

wprowadź opis zdjęcia tutaj

Odpowiedzi:


12

Najlepsze w open source jest to, że możesz dokładnie zobaczyć, co się dzieje, przeglądając kod źródłowy. Podczas konstruowania filtra przestrzennego nowy obiekt jest inicjowany za pomocą następującej funkcji inicjalizacji :

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

Można to zobaczyć w internetowej kontroli źródła . Funkcja Apply kopiuje wszystkie właściwości z obiektu konfiguracji ( parametr options ) do właściwości nowego obiektu filtra przestrzennego (słowo kluczowe to w powyższym kodzie).

Tak więc w odpowiedzi na twoje pytanie możesz utworzyć obiekt config z dowolną z właściwości wymienionych w filtrze przestrzennym (typ, właściwość, wartość itp.) I zostaną one ustawione na twoim nowym obiekcie.

Jednym z najlepszych sposobów, aby zobaczyć, jak korzystać z klas OpenLayers (wraz z przykładami), jest znalezienie powiązanych testów jednostkowych. Na przykład testy dla OpenLayers.Filter.Spatial są dostępne na stronie http://trac.osgeo.org/openlayers/browser/trunk/openlayers/tests/Filter/Spatial.html

Testy te pokazują wiele różnych przykładów budowy klasy filtra przestrzennego (i jak z niej korzystać po zbudowaniu) np

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

Możesz użyć tych technik, aby dowiedzieć się, jak zbudowana jest dowolna klasa OpenLayers, i dokładnie, co dzieje się po utworzeniu nowego obiektu.


Dzięki +1 za sugestię szukania testów. (wartość dodana do twojej odpowiedzi)
CaptDragon,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.