การสร้าง Layer แบบ WMS TMS WMTS และแบบกำหนดเองบนแผนที่ มีขั้นตอนดังนี้
- การสร้าง Layer แบบ WMS
var layer1 = new longdo.Layer('bluemarble_terrain', { type: longdo.LayerType.WMS, url: 'https://ms.longdo.com/mapproxy/service', zoomRange: { min: 1, max: 9 }, refresh: 180, opacity: 0.5, weight: 10 });
ตัวอย่าง - การสร้าง Layer แบบ TMS
var layer2 = new longdo.Layer('', { type: longdo.LayerType.TMS, url: 'https://ms.longdo.com/mapproxy/tms/1.0.0/bluemarble_terrain/EPSG3857', bound: { minLon: 100.122195, minLat: 14.249463, maxLon: 100.533496, maxLat: 14.480279 } });
หมายเหตุหากใช้ Layer แบบ TMS ที่ให้บริการโดย GeoServer ต้องใส่ option zoomOffset: 0 เพื่อให้ API ดึง tile จาก server โดยใช้ zoom ระดับเดียวกันกับ longdo Mapตัวอย่าง - การสร้าง Layer แบบ WMTS
var layer3 = new longdo.Layer('bluemarble_terrain', { type: longdo.LayerType.WMTS_REST, url: 'https://ms.longdo.com/mapproxy/wmts', srs: 'GLOBAL_WEBMERCATOR', });
ตัวอย่าง - การสร้าง Layer แบบกำหนดเอง
var layer4 = new longdo.Layer('test', { type: longdo.LayerType.Custom, url: function(projection, tile, zoom, hd) { var resolution = 1 << zoom; return 'https://ms.longdo.com/mmmap/img.php?key=demokeyfortestingonly&c=1&proj=' + projection.longdoName + '&mode=thaichote&res=' + resolution + '&imgid=' + (((tile.v * resolution) + tile.u) * 53 * 73 * 238681) }, zoomRange: { min: 9, max: 16 }, refresh: 180 });
ตัวอย่าง- name: ชื่อของ Layer
- type: การกำหนดชนิดของ Layer
- url: ที่อยู่ของ Layer หรือฟังก์ชันที่รับตัวแปรดังนี้
- projection: ชนิด projection ของ Layer เช่น epsg3857
- tile: ตำแหน่งรูปแต่ละชิ้นในแผนที่
- zoom: ระยะการซูมของแผนที่
- hd: ต้องการแผนที่ความละเอียดสูงหรือไม่ (0 หรือ 1)
- zoomRange: ขอบเขตการซูม
- refresh: ระยะเวลาที่จะดึงข้อมูลใหม่อัตโนมัติ หน่วยเป็นมิลลิวินาที
- opacity: ค่าที่กำหนดความทึบหรือโปร่งใสของ Layer มีค่าในช่วง 0-1
- weight: ลำดับการซ้อนของ Layer ค่ายิ่งมากจะยิ่งอยู่ด้านล่าง
- bound: พื้นที่ที่ต้องการแสดง Layer
- format: ประเภทของรูป
- WMS ใช้ 'image/jpeg'
- TMS และ WMTS_REST ใช้ 'jpeg'