คลาส WebGLOverlayView
google.maps.WebGLOverlayView
ชั้นเรียน
มุมมองการวางซ้อน WebGL ให้การเข้าถึงโดยตรงไปยังบริบทการแสดงผล WebGL เดียวกันที่ Google Maps Platform ใช้ในการแสดงผลแผนที่ฐานเวกเตอร์ การใช้บริบทการแสดงผลร่วมกันนี้มีข้อดี เช่น การบังแบบลึกด้วยเรขาคณิตของสิ่งปลูกสร้าง 3 มิติ และความสามารถในการซิงค์เนื้อหา 2 มิติ/3 มิติ ด้วยการแสดงแผนที่ฐาน
เมื่อใช้มุมมองการวางซ้อน WebGL คุณจะสามารถเพิ่มเนื้อหาลงในแผนที่โดยใช้ WebGL โดยตรง หรือไลบรารีกราฟิกยอดนิยมอย่างเช่น Three.js หรือ หรือ Deck.gl หากต้องการใช้การวางซ้อน คุณสามารถขยายเวลา google.maps.WebGLOverlayView
และระบุการใช้งานสำหรับ Hook สำหรับวงจรแต่ละรายการต่อไปนี้ 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 เช่น ตัวปรับแสงเงาหรือวัตถุบัฟเฟอร์ |
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
อินเทอร์เฟซ
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
อินเทอร์เฟซ
google.maps.CameraParams
ใช้เพื่อดึงพารามิเตอร์ของกล้อง เช่น ค่าของกล้อง GL ที่ใช้สำหรับ WebGLOverlayView
อินเทอร์เฟซนี้ขยายไปถึง CameraOptions
พร็อพเพอร์ตี้ | |
---|---|
center |
ประเภท:
LatLng |
heading |
ประเภท:
number |
tilt |
ประเภท:
number |
zoom |
ประเภท:
number |