ทำความเข้าใจกับเอกสารของ OpenLayers


12

ภายในเอกสารประกอบ openlayers ฉันสังเกตเห็นว่า "ตัวเลือก" มีหลายครั้งที่ใช้เพื่อแสดงว่าตัวสร้างใช้พารามิเตอร์ แต่ฉันจะหารายละเอียดสำหรับพารามิเตอร์นี้ {object} ได้ที่ไหน หนึ่งจะรู้ได้อย่างไรว่าพารามิเตอร์ที่ก่อสร้างยอมรับ?

ตัวอย่าง: ด้านล่างฉันใส่เอกสารตัวสร้างสำหรับ OpenLayers.Filter.Spatial

ฉันจะรู้ได้อย่างไรว่าคุณสมบัติใดที่ฉันสามารถใส่ภายใน {Object}

ป้อนคำอธิบายรูปภาพที่นี่

คำตอบ:


12

สิ่งที่ดีที่สุดเกี่ยวกับโอเพ่นซอร์สคือคุณสามารถดูได้ว่าเกิดอะไรขึ้นโดยการดูซอร์สโค้ด เมื่อสร้างตัวกรองเชิงพื้นที่วัตถุใหม่จะเริ่มต้นด้วยฟังก์ชั่นเริ่มต้นต่อไปนี้:

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 อย่างไรและจะเกิดอะไรขึ้นเมื่อคุณสร้างวัตถุใหม่


ขอบคุณ +1 สำหรับคำแนะนำในการค้นหาการทดสอบ (เพิ่มมูลค่าให้กับคำตอบของคุณ)
CaptDragon
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.