แผนที่
ฝัง web map ในหน้าเว็บของคุณ และส่งตัวเลือกกับ geometry ให้แผนที่วาดทับ
widget แผนที่ แสดง web map ของรายการหนึ่ง และวาด geometry ที่หน้าของคุณส่งมาทับบนแผนที่ ส่วนที่เหลือของข้อตกลง (credential, ready, error) ดู Widgets
URL และพารามิเตอร์
URL คือ <site>/widgets/map
| พารามิเตอร์ | ความหมาย | ต้องมี |
|---|---|---|
item_id | id ของรายการ web map | ต้องมี |
ค่าที่ยาวไม่อยู่ใน URL หน้าของคุณส่งเป็น payload ของ post-widget-parameters ดูหัวข้อถัดไป
ข้อความ
| action | ทิศทาง | payload |
|---|---|---|
ready | widget ถึงหน้าของคุณ | ไม่มี ส่งทันทีที่ widget โหลด ก่อนที่ web map จะโหลดเสร็จ |
post-widget-parameters | หน้าของคุณถึง widget | { options, features } ทั้งสองฟิลด์ไม่บังคับ |
error | widget ถึงหน้าของคุณ | { statusCode } เมื่ออ่าน web map ไม่ได้ หรือ { statusCode: undefined, message } เมื่อสร้างแผนที่ไม่ได้ เช่น เบราว์เซอร์ไม่มี WebGL |
options เปิดหรือปิดส่วนของหน้าจอ ค่าที่ไม่ใส่ใช้ค่าของ web map แล้วใช้ค่าตั้งต้น
ฟิลด์ใน options.components | ค่าตั้งต้น | ส่วนที่ควบคุม |
|---|---|---|
zoom | true | ปุ่มซูมและปุ่มกลับไปที่ขอบเขตเต็ม |
measurement | true | เครื่องมือวัด |
scale | true | แถบมาตราส่วน |
coordinates | true | พิกัดใต้ตัวชี้ |
featureInfoWindow | true | การ์ดของระเบียนเมื่อกด Feature |
details | { expanded: false } | การ์ดชื่อและชั้นข้อมูล (expanded คือเปิดไว้ตั้งแต่แรก) |
features คือ array ของ GeoJSON geometry (Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon) หรือ Feature ที่มี geometry เหล่านี้ widget วาดรูปทับ web map พร้อมป้ายพิกัด ความยาว และพื้นที่ แล้วปรับแผนที่ให้พอดีกับรูป
ข้อความ post-widget-parameters แต่ละครั้งแทนที่ทั้ง options และ features ที่ส่งไปก่อนหน้า ฟิลด์ที่ไม่ใส่กลับเป็นค่าตั้งต้น
ตัวอย่าง
ต่อจากตัวอย่างใน Widgets ส่ง geometry หลังได้ ready
if (e.data.action === 'ready') {
frame.contentWindow.postMessage(
{
messageToken,
action: 'post-widget-parameters',
payload: {
options: { components: { measurement: false } },
features: [{ type: 'Point', coordinates: [100.5018, 13.7563] }],
},
},
site
)
}ถ้าแผนที่ไม่ขึ้น
errorที่มีstatusCodeมาจากการอ่านรายการ: 401 คือ credential ใช้ไม่ได้ 403 คือไม่มีสิทธิ์ 404 คือไม่มี id นี้errorที่มีmessageแต่ไม่มีstatusCodeคือสร้างแผนที่ไม่ได้ ตรวจว่าเบราว์เซอร์เปิด WebGL- ตำแหน่งใน
featuresเป็น[longitude, latitude]ตามมาตรฐาน GeoJSON - ถ้าต้องการให้ผู้ใช้วาดหรือแก้ geometry ให้ใช้ ฟอร์ม ที่มีช่อง ตัวแก้ไข geometry