WebGL

WebGLOverlayView class

google.maps.WebGLOverlayView class

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

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

כדי להפעיל את הקריאה ל-method‏ onAdd() ול-setMap(null), צריך להפעיל את WebGLOverlayView.setMap עם אובייקט Map תקין. כדי להפעיל את ה-method‏ onRemove(), צריך להפעיל את WebGLOverlayView.setMap עם אובייקט Map תקין. אפשר לקרוא לשיטה 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, כמו shaders או אובייקטים של buffer.
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 שבו יתבצע הרינדור של WebGLOverlayView.
transformer
טרנספורמציית המטריצה ממרחב המצלמה לקואורדינטות של קו רוחב/אורך.

WebGLStateOptions interface

google.maps.WebGLStateOptions ממשק

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

gl
ה-WebGLRenderingContext שבו יתבצע הרינדור של WebGLOverlayView.

ממשק CoordinateTransformer

google.maps.CoordinateTransformer ממשק

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

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

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

CameraParams interface

google.maps.CameraParams ממשק

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

הממשק הזה מרחיב את CameraOptions.

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