การสร้างวัตถุุ Geometries แบบต่างๆทำได้ดังนี้
- การวาดเส้น
var geom1 = new longdo.Polyline([ { lon: -45, lat: -45 }, { lon: 105, lat: 15 } ]); map.Overlays.add(geom1);
- Polyline(): คำสั่งที่ใช้สำหรับการสร้างวัตถุเส้นตรง โดยรับค่าเป็น Array ของพิกัดบนเส้น
ตัวอย่าง - การรวาดรูปหลายเหลี่ยม
var geom2 = new longdo.Polygon([ { lon: 99, lat: 14 }, { lon: 100, lat: 13 }, { lon: 102, lat: 13 }, { lon: 103, lat: 14 } ], { title: 'Geom 2', detail: '-', label: 'Trapezoid' });
- Polygon(): คำสั่งที่ใช้สำหรับการสร้างวัตถุทรงเหลี่ยม โดยรับค่าเป็น Array ของจพิกัดแต่ละมุม
- title: ข้อความที่แสดงในส่วนหัวข้อใน Popup
- detail: ข้อความที่แสดงรายละเอียดต่างๆ ใน Popup
- label: ข้อความที่แสดงบนแผนที่
ตัวอย่าง - การวาดวงกลม
var geom3 = new longdo.Circle({ lon: 101, lat: 15 }, 1, { title: 'Geom 3', detail: '-', lineWidth: 10, lineColor: 'rgba(0, 255, 0, 0.8)', fillColor: 'rgba(0, 255, 0, 0.4)', visibleRange: { min: 7, max: 8 }, editable: true });
- Circle(): คำสั่งที่ใช้สำหรับการสร้างวงกลม โดยรับค่าจุดศูนย์กลาง รัศมี
- lineWidth: ขนาดของเส้น
- lineColor: สีของเส้น
- fillColor: สีของพื้นที่ด้านใน
- visibleRange: ระยะการ zoom ที่สามารถมองเห็นวัตถุนี้ได้
- editable: กำหนดให้แก้ไข geometry ได้
ตัวอย่าง - การวาดเส้นโค้ง
var geom4 = new longdo.Polycurve([ { lon: 98, lat: 15 }, { lon: 99, lat: 16 }, { lon: 99, lat: 14 }, { lon: 100, lat: 15 } ], { weight: longdo.OverlayWeight.Top });
- Polycurve(): คำสั่งที่ใช้สำหรับการสร้างวัตถุเส้นโค้ง โดยรับค่าเป็น Array ของจุดควบคุมแบบ Cubic bezier
- weight: หากระบุเป็น longdo.OverlayWeight.Top วัตถุที่วาดจะอยู่บนสุดเสมอ
ตัวอย่าง - การวาดจุด
var geom5 = new longdo.Dot({ lon: 100.5, lat: 12.5 }, { lineWidth: 20, draggable: true });
- Dot(): คำสั่งที่ใช้สำหรับการสร้างจุด โดยรับค่าพิกัดของจุด
- lineWidth: ขนาดของจุด
- draggable: กำหนดให้ลากได้
ตัวอย่าง - การวาดเส้นประ
var geom6 = new longdo.Polyline([ { lon: 100.9, lat: 16.3 }, { lon: 102.7, lat: 15.2 }, { lon: 104, lat: 17 } ], { lineStyle: longdo.LineStyle.Dashed, pointer: true });
- lineStyle: หากกำหนดเป็น longdo.LineStyle.Dashed จะหมายถึงเส้นประ
- pointer: ให้แสดงจุดเมื่อชี้ที่เส้น สามารถลากได้
ตัวอย่าง - การวาดรูปหลายเหลี่ยมแบบมีรู
var geom7 = new longdo.Polygon([ { lon: 101, lat: 15 }, { lon: 105, lat: 15 }, { lon: 103, lat: 12 }, null, { lon: 103, lat: 14.9 }, { lon: 102.1, lat: 13.5 }, { lon: 103.9, lat: 13.5 } ], { label: true, clickable: true });
- จุดมุมของขอบด้านนอกจะต้องเรียงตามเข็มนาฬิกา และจุดมุมของขอบด้านในจะต้องเรียงทวนเข็มนาฬิกา โดยใช้ค่า null คั่นเมื่อต้องการเริ่มขอบใหม่
- label: หากกำหนดเป็น true จะแสดงขนาด/ ความยาวบนแผนที่
- clickable: ให้มี api ส่ง event ออกมาเมื่อถูกกด
ตัวอย่าง - การวาดสี่เหลี่ยม
var geom8 = new longdo.Rectangle({ lon: 97, lat: 17 }, { width: 2, height: 1 }, { editable: true });
- Rectangle(): คำสั่งที่ใช้สำหรับการสร้างสี่เหลี่ยม โดยรับค่าพิกัดของจุดมุมซ้ายบน และขนาด
ตัวอย่าง - การสร้างวัตถุุ Geometries
map.Overlays.add(geom1);
ตัวอย่าง - การลบวัตถุุ Geometries
map.Overlays.remove(geom1);
ตัวอย่าง - การลบวัตถุุ Geometries ทั้งหมด
map.Overlays.clear();
ตัวอย่าง
ข้อมูลเพิ่มเติม: OverlayCollection Documentation
ข้อมูลเพิ่มเติม: Polyline Documentation
ข้อมูลเพิ่มเติม: Polygon Documentation
ข้อมูลเพิ่มเติม: Circle Documentation
ข้อมูลเพิ่มเติม: Polycurve Documentation
ข้อมูลเพิ่มเติม: Dot Documentation
ข้อมูลเพิ่มเติม: LineStyle Documentation
ข้อมูลเพิ่มเติม: Rectangle Documentation