WebGLOverlayView class
google.maps.WebGLOverlayView
class
มุมมองการวางซ้อน WebGL ให้สิทธิ์เข้าถึงโดยตรงในบริบทการแสดงผล WebGL เดียวกันกับที่แพลตฟอร์ม Google Maps ใช้เพื่อแสดงผลแผนที่ฐานเวกเตอร์ การใช้บริบทการแสดงผลที่แชร์นี้ให้ประโยชน์ต่างๆ เช่น การบดบังด้วยเรขาคณิตของอาคาร 3 มิติ และความสามารถในการซิงค์เนื้อหา 2 มิติ/3 มิติกับการแสดงผลแผนที่ฐาน
เมื่อใช้มุมมองการวางซ้อน WebGL คุณจะเพิ่มเนื้อหาลงในแผนที่ได้โดยใช้ WebGL โดยตรง หรือจะใช้คลังกราฟิกยอดนิยมอย่าง Three.js หรือ deck.gl ก็ได้ หากต้องการใช้การวางซ้อน คุณสามารถขยาย google.maps.WebGLOverlayView
และระบุการใช้งานสำหรับฮุกวงจรชีวิตของ WebGLOverlayView.onAdd
, WebGLOverlayView.onContextRestored
, WebGLOverlayView.onDraw
, WebGLOverlayView.onContextLost
และ WebGLOverlayView.onRemove
แต่ละรายการ
คุณต้องเรียก WebGLOverlayView.setMap
ด้วยออบเจ็กต์ Map
ที่ถูกต้องเพื่อเรียกใช้เมธอด onAdd()
และ setMap(null)
เพื่อเรียกใช้เมธอด onRemove()
เรียกเมธอด setMap()
ได้ในตอนที่สร้างหรือเมื่อใดก็ได้หลังจากนั้นเมื่อต้องการให้แสดงการวางซ้อนอีกครั้งหลังจากนําออก จากนั้นระบบจะเรียกใช้เมธอด onDraw()
ทุกครั้งที่มีการเปลี่ยนแปลงพร็อพเพอร์ตี้แผนที่ที่อาจเปลี่ยนตําแหน่งขององค์ประกอบ เช่น การซูม การจัดกึ่งกลาง หรือประเภทแผนที่ WebGLOverlayView เพิ่มลงในแผนที่เวกเตอร์ที่มี MapOptions.mapId
ได้เท่านั้น (รวมถึงแผนที่ที่ตั้งค่าเป็น RenderingType.VECTOR
MapOptions.renderingType
และใช้ Map.DEMO_MAP_ID
เป็น MapOptions.mapId
)
คลาสนี้ขยายจาก MVCObject
เข้าถึงโดยการโทรหา const {WebGLOverlayView} = await google.maps.importLibrary("maps")
โปรดดูไลบรารีใน Maps JavaScript API
ผู้ผลิต | |
---|---|
WebGLOverlayView |
WebGLOverlayView() พารามิเตอร์: ไม่มี
สร้าง WebGLOverlayView |
เมธอด | |
---|---|
getMap |
getMap() พารามิเตอร์: ไม่มี
ผลลัพธ์:
Map|null|undefined |
onAdd |
onAdd() พารามิเตอร์: ไม่มี
ผลลัพธ์: ไม่มี
ใช้เมธอดนี้เพื่อดึงข้อมูลหรือสร้างโครงสร้างข้อมูลกลางก่อนที่จะวาดการวางซ้อนที่ไม่จําเป็นต้องเข้าถึงบริบทการแสดงผล WebGL ในทันที ต้องติดตั้งใช้งานเมธอดนี้เพื่อแสดงผล |
onContextLost |
onContextLost() พารามิเตอร์: ไม่มี
ผลลัพธ์: ไม่มี
ระบบจะเรียกใช้เมธอดนี้เมื่อบริบทการแสดงภาพหายไปไม่ว่าด้วยเหตุผลใดก็ตาม และคุณควรล้างสถานะ GL ที่มีอยู่เดิมเนื่องจากไม่จําเป็นต้องใช้แล้ว |
onContextRestored |
onContextRestored(options) พารามิเตอร์:
ผลลัพธ์: ไม่มี
ระบบจะเรียกใช้เมธอดนี้เมื่อมีบริบทการแสดงผล ใช้เพื่อเริ่มต้นหรือเชื่อมโยงสถานะ WebGL เช่น Shader หรือออบเจ็กต์บัฟเฟอร์ |
onDraw |
onDraw(options) พารามิเตอร์:
ผลลัพธ์: ไม่มี
ใช้วิธีการนี้เพื่อวาดเนื้อหา WebGL บนแผนที่โดยตรง โปรดทราบว่าหากการวางซ้อนต้องวาดเฟรมใหม่ ให้เรียกใช้ WebGLOverlayView.requestRedraw |
onRemove |
onRemove() พารามิเตอร์: ไม่มี
ผลลัพธ์: ไม่มี
ระบบจะเรียกใช้เมธอดนี้เมื่อนำการวางซ้อนออกจากแผนที่ด้วย WebGLOverlayView.setMap(null) และคุณควรนำออบเจ็กต์กลางทั้งหมดออก ต้องติดตั้งใช้งานเมธอดนี้เพื่อแสดงผล |
onStateUpdate |
onStateUpdate(options) พารามิเตอร์:
ผลลัพธ์: ไม่มี
ใช้เมธอดนี้เพื่อจัดการการอัปเดตสถานะ GL นอกเฟรมภาพเคลื่อนไหวที่แสดงผล |
requestRedraw |
requestRedraw() พารามิเตอร์: ไม่มี
ผลลัพธ์: ไม่มี
ทริกเกอร์แผนที่ให้วาดเฟรมใหม่ |
requestStateUpdate |
requestStateUpdate() พารามิเตอร์: ไม่มี
ผลลัพธ์: ไม่มี
ทริกเกอร์แผนที่ให้อัปเดตสถานะ GL |
setMap |
setMap([map]) พารามิเตอร์:
ผลลัพธ์: ไม่มี
เพิ่มการวางซ้อนลงในแผนที่ |
รับค่ามา:
addListener ,
bindTo ,
get ,
notify ,
set ,
setValues ,
unbind ,
unbindAll
|
WebGLDrawOptions
google.maps.WebGLDrawOptions
อินเทอร์เฟซ
ตัวเลือกการวาด
พร็อพเพอร์ตี้ | |
---|---|
gl |
ประเภท:
WebGLRenderingContext WebGLRenderingContext ที่จะใช้แสดงผล WebGLOverlayView นี้ |
transformer |
ประเภท:
CoordinateTransformer การเปลี่ยนรูปแบบเมทริกซ์จากพื้นที่ของกล้องเป็นพิกัดละติจูด/ลองจิจูด |
WebGLStateOptions interface
google.maps.WebGLStateOptions
อินเทอร์เฟซ
ตัวเลือกสถานะ GL
พร็อพเพอร์ตี้ | |
---|---|
gl |
ประเภท:
WebGLRenderingContext WebGLRenderingContext ที่จะใช้แสดงผล WebGLOverlayView นี้ |
อินเทอร์เฟซ CoordinateTransformer
google.maps.CoordinateTransformer
อินเทอร์เฟซ
อินเทอร์เฟซนี้มีวิธีการที่สะดวกในการสร้างเมทริกซ์เพื่อใช้สำหรับการแสดงผลฉาก WebGL บนแผนที่ฐานของ Google
หมายเหตุ: การอ้างอิงออบเจ็กต์นี้ไม่ควรอยู่นอกขอบเขตของการเรียก WebGLOverlayView.onDraw
แบบรวม
เมธอด | |
---|---|
fromLatLngAltitude |
fromLatLngAltitude(latLngAltitude[, rotations, scale]) พารามิเตอร์:
ค่าที่แสดงผล:
Float64Array แมทริกซ์ MVP เพื่อใช้กับ WebGL |
getCameraParams |
getCameraParams() พารามิเตอร์: ไม่มี
ผลลัพธ์: พารามิเตอร์กล้อง
CameraParams |
CameraParams interface
google.maps.CameraParams
อินเทอร์เฟซ
ใช้สำหรับดึงข้อมูลพารามิเตอร์ของกล้อง เช่น ของกล้อง GL ที่ใช้สำหรับ WebGLOverlayView
อินเทอร์เฟซนี้ขยายจาก
CameraOptions
พร็อพเพอร์ตี้ | |
---|---|
center |
ประเภท:
LatLng |
heading |
ประเภท:
number |
tilt |
ประเภท:
number |
zoom |
ประเภท:
number |