คู่มือ aWhere
พัฒนาWidgets

แผนที่

ฝัง web map ในหน้าเว็บของคุณ และส่งตัวเลือกกับ geometry ให้แผนที่วาดทับ

widget แผนที่ แสดง web map ของรายการหนึ่ง และวาด geometry ที่หน้าของคุณส่งมาทับบนแผนที่ ส่วนที่เหลือของข้อตกลง (credential, ready, error) ดู Widgets

URL และพารามิเตอร์

URL คือ <site>/widgets/map

พารามิเตอร์ความหมายต้องมี
item_idid ของรายการ web mapต้องมี

ค่าที่ยาวไม่อยู่ใน URL หน้าของคุณส่งเป็น payload ของ post-widget-parameters ดูหัวข้อถัดไป

ข้อความ

actionทิศทางpayload
readywidget ถึงหน้าของคุณไม่มี ส่งทันทีที่ widget โหลด ก่อนที่ web map จะโหลดเสร็จ
post-widget-parametersหน้าของคุณถึง widget{ options, features } ทั้งสองฟิลด์ไม่บังคับ
errorwidget ถึงหน้าของคุณ{ statusCode } เมื่ออ่าน web map ไม่ได้ หรือ { statusCode: undefined, message } เมื่อสร้างแผนที่ไม่ได้ เช่น เบราว์เซอร์ไม่มี WebGL

options เปิดหรือปิดส่วนของหน้าจอ ค่าที่ไม่ใส่ใช้ค่าของ web map แล้วใช้ค่าตั้งต้น

ฟิลด์ใน options.componentsค่าตั้งต้นส่วนที่ควบคุม
zoomtrueปุ่มซูมและปุ่มกลับไปที่ขอบเขตเต็ม
measurementtrueเครื่องมือวัด
scaletrueแถบมาตราส่วน
coordinatestrueพิกัดใต้ตัวชี้
featureInfoWindowtrueการ์ดของระเบียนเมื่อกด 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

ในหน้านี้