WebGL

คลาส 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)
พารามิเตอร์: 
  • optionsWebGLStateOptions ที่อนุญาตให้นักพัฒนาซอฟต์แวร์คืนค่าบริบท GL
ผลลัพธ์: ไม่มี
ระบบจะเรียกใช้เมธอดนี้เมื่อมีบริบทการแสดงผลพร้อมใช้งาน ใช้เพื่อเริ่มต้นหรือเชื่อมโยงสถานะ WebGL เช่น ตัวปรับแสงเงาหรือวัตถุบัฟเฟอร์
onDraw
onDraw(options)
พารามิเตอร์: 
  • optionsWebGLDrawOptions ที่อนุญาตให้นักพัฒนาซอฟต์แวร์แสดงผลเนื้อหาไปยังแผนที่ฐานของ Google ที่เชื่อมโยงอยู่
ผลลัพธ์: ไม่มี
ใช้วิธีการนี้เพื่อวาดเนื้อหา WebGL ลงในแผนที่โดยตรง โปรดทราบว่าหากการวางซ้อนต้องการการวาดเฟรมใหม่ ให้เรียกใช้ WebGLOverlayView.requestRedraw
onRemove
onRemove()
พารามิเตอร์: ไม่มี
ผลลัพธ์: ไม่มี
วิธีการนี้จะถูกเรียกเมื่อมีการนำการวางซ้อนออกจากแผนที่ด้วย WebGLOverlayView.setMap(null) และเป็นตำแหน่งที่คุณควรนำวัตถุระดับกลางทั้งหมดออก ต้องนำวิธีนี้ไปใช้เพื่อแสดงผล
onStateUpdate
onStateUpdate(options)
พารามิเตอร์: 
  • optionsWebGLStateOptions ที่อนุญาตให้นักพัฒนาซอฟต์แวร์คืนค่าบริบท GL
ผลลัพธ์: ไม่มี
ใช้วิธีการนี้เพื่อจัดการการอัปเดตสถานะ GL ที่อยู่นอกเฟรมภาพเคลื่อนไหวของการแสดงภาพ
requestRedraw
requestRedraw()
พารามิเตอร์: ไม่มี
ผลลัพธ์: ไม่มี
เรียกให้แผนที่วาดเฟรมซ้ำ
requestStateUpdate
requestStateUpdate()
พารามิเตอร์: ไม่มี
ผลลัพธ์: ไม่มี
เรียกให้แผนที่อัปเดตสถานะ GL
setMap
setMap([map])
พารามิเตอร์: 
  • mapMap optional แผนที่เพื่อเข้าถึง div, โมเดล และสถานะการดู
ผลลัพธ์: ไม่มี
เพิ่มการวางซ้อนลงในแผนที่
รับค่าเดิม: 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])
พารามิเตอร์: 
  • latLngAltitudeLatLngAltitude|LatLngAltitudeLiteral ละติจูด ลองจิจูด และระดับความสูง
  • rotationsFloat32Array optional อาร์เรย์ที่มีมุมหมุนออยเลอร์ในหน่วยองศาตามแบบแผน XYZ
  • scaleFloat32Array optional อาร์เรย์ที่มีอาร์เรย์สเกลาร์ XYZ ที่จะใช้กับแกนคาร์ดินัล
ผลลัพธ์:  Float64Array เมทริกซ์ MVP ที่จะใช้กับ WebGL
getCameraParams
getCameraParams()
พารามิเตอร์: ไม่มี
ผลลัพธ์: พารามิเตอร์กล้อง CameraParams รายการ

อินเทอร์เฟซ CameraParams

อินเทอร์เฟซ google.maps.CameraParams

ใช้เพื่อดึงพารามิเตอร์ของกล้อง เช่น ค่าของกล้อง GL ที่ใช้สำหรับ WebGLOverlayView

อินเทอร์เฟซนี้ขยายไปถึง CameraOptions

center
ประเภท:  LatLng
heading
ประเภท:  number
tilt
ประเภท:  number
zoom
ประเภท:  number