WebGL

המחלקה WebGLOverlayView

class google.maps.WebGLOverlayView extends MVCObject
library "maps"

שכבת על מבוססת-WebGL מספקת גישה ישירה לאותו הקשר רינדור של WebGL שבו Google Maps Platform משתמשת כדי לרנדר את מפת הבסיס הווקטורית. השימוש בהקשר רינדור משותף מספק יתרונות כמו הסתרה בעומק עם גיאומטריה של בניין בתלת-ממד, והיכולת לסנכרן תוכן דו-ממדי או תלת-ממדי עם רינדור של מפת בסיס.

בעזרת שכבת על מבוססת-WebGL, אתם יכולים להוסיף תוכן למפות ישירות באמצעות WebGL, או באמצעות ספריות גרפיקה פופולריות כמו Three.js או deck.gl. כדי להשתמש בשכבת-העל, אתם יכולים להרחיב את google.maps.WebGLOverlayView ולספק הטמעה לכל אחד מה-lifecycle hooks הבאים: WebGLOverlayView.onAdd,‏ WebGLOverlayView.onContextRestored,‏ WebGLOverlayView.onDraw,‏ WebGLOverlayView.onContextLost ו-WebGLOverlayView.onRemove.

צריך להפעיל את WebGLOverlayView.setMap עם אובייקט Map תקין כדי להפעיל את ה-method‏ onAdd(), ואת setMap(null) כדי להפעיל את ה-method‏ onRemove(). אפשר להפעיל את ה-method‏ setMap() בזמן היצירה או בכל שלב אחר כך, כשרוצים להציג מחדש את שכבת-העל אחרי שהיא הוסרה. לאחר מכן, השיטה onDraw() תיקרא בכל פעם שמאפיין של המפה ישתנה, מה שיכול לשנות את המיקום של הרכיב, כמו מרחק התצוגה, המרכז או סוג המפה. אפשר להוסיף את WebGLOverlayView רק למפה וקטורית עם MapOptions.mapId (כולל מפות שמוגדרות ל-RenderingType.VECTOR MapOptions.renderingType ומשתמשות ב-Map.DEMO_MAP_ID בתור MapOptions.mapId).

const {WebGLOverlayView} = await google.maps.importLibrary("maps");
WebGLOverlayView
WebGLOverlayView()
פרמטרים: אין
יצירת WebGLOverlayView.
getMap
getMap()
פרמטרים: אין
ערך מוחזר: Map|null|undefined
onAdd
onAdd()
פרמטרים: אין
הערך המוחזר: אין
הטמיעו את השיטה הזו כדי לאחזר או ליצור מבני נתונים זמניים לפני ששכבת-העל משורטטת, שלא דורשים גישה מיידית להקשר הרינדור של WebGL. צריך להטמיע את השיטה הזו כדי להציג את המודעה.
onContextLost
onContextLost()
פרמטרים: אין
הערך המוחזר: אין
השיטה הזו נקראת כשההקשר של הרינדור אובד מכל סיבה שהיא, וכאן צריך לנקות את כל מצבי ה-GL הקיימים, כי אין בהם יותר צורך.
onContextRestored
onContextRestored(options)
פרמטרים:
  • options: WebGLStateOptions שמאפשרים למפתחים לשחזר את ההקשר של GL.
הערך המוחזר: אין
המערכת קוראת ל-method הזו כשההקשר של העיבוד זמין. אפשר להשתמש בו כדי לאתחל או לקשר כל מצב של WebGL, כמו אובייקטים של מאגר נתונים זמני או הצללות.
onDraw
onDraw(options)
פרמטרים:
  • options: WebGLDrawOptions שמאפשרים למפתחים לעבד תוכן למפת בסיס משויכת של Google.
הערך המוחזר: אין
מטמיעים את השיטה הזו כדי לשרטט תוכן WebGL ישירות על המפה. שימו לב שאם צריך לצייר פריים חדש לשכבת-העל, צריך להפעיל את WebGLOverlayView.requestRedraw.
onRemove
onRemove()
פרמטרים: אין
הערך המוחזר: אין
המערכת קוראת לשיטה הזו כשהשכבה מוסרת מהמפה באמצעות WebGLOverlayView.setMap(null), וכאן צריך להסיר את כל אובייקטי הביניים. צריך להטמיע את השיטה הזו כדי להציג את המודעה.
onStateUpdate
onStateUpdate(options)
פרמטרים:
  • options: WebGLStateOptions שמאפשרים למפתחים לשחזר את ההקשר של GL.
הערך המוחזר: אין
מטמיעים את השיטה הזו כדי לטפל בכל עדכוני המצב של GL מחוץ למסגרת האנימציה של הרינדור.
requestRedraw
requestRedraw()
פרמטרים: אין
הערך המוחזר: אין
מפעיל את המפה כדי לשרטט מחדש מסגרת.
requestStateUpdate
requestStateUpdate()
פרמטרים: אין
הערך המוחזר: אין
מפעיל את המפה כדי לעדכן את מצב ה-GL.
setMap
setMap([map])
פרמטרים:
  • map: Map optional המפה לגישה ל-div, למודל ולמצב התצוגה.
הערך המוחזר: אין
מוסיפה את שכבת-העל למפה.
‫עברו בירושה: addListener, bindTo, get, notify, set, setValues, unbind, unbindAll

ממשק WebGLDrawOptions

ממשק google.maps.WebGLDrawOptions

אפשרויות השרטוט.

gl
ה-WebGLRenderingContext שבו יוצג ה-WebGLOverlayView הזה.
transformer
טרנספורמציית המטריצה ממרחב המצלמה לקואורדינטות של קו רוחב/קו אורך.

ממשק WebGLStateOptions

ממשק google.maps.WebGLStateOptions

אפשרויות למצב GL.

gl
ה-WebGLRenderingContext שבו יוצג ה-WebGLOverlayView הזה.

ממשק CoordinateTransformer

ממשק google.maps.CoordinateTransformer

הממשק הזה מספק שיטות נוחות ליצירת מטריצות שמשמשות לעיבוד סצנות WebGL מעל המפה הבסיסית של Google.

הערה: אין להחזיק הפניה לאובייקט הזה מחוץ להיקף של הקריאה המכילה ל-WebGLOverlayView.onDraw.

fromLatLngAltitude
fromLatLngAltitude(latLngAltitude[, rotations, scale])
פרמטרים:
  • latLngAltitude: LatLngAltitude|LatLngAltitudeLiteral קו רוחב, קו אורך וגובה.
  • ‫rotations: Float32Array optional מערך שמכיל זווית סיבוב של אוילר במעלות, לפי מוסכמת XYZ.
  • scale: Float32Array optional מערך שמכיל מערך סקלרי של XYZ שצריך להחיל על הציר הראשי.
ערך מוחזר: מטריצת MVP Float64Array לשימוש עם WebGL.
getCameraParams
getCameraParams()
פרמטרים: אין
ערך החזרה: פרמטרים של מצלמת CameraParams

ממשק CameraParams

interface google.maps.CameraParams extends CameraOptions

משמש לאחזור פרמטרים של המצלמה, כמו אלה של מצלמת ה-GL שמשמשת ל-WebGLOverlayView.

center
סוג: LatLng
heading
סוג: number
tilt
סוג: number
zoom
סוג: number