WebGL

فئة WebGLOverlayView

google.maps.WebGLOverlayView صف

توفّر 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.

يجب استدعاء 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 interface

خيارات الرسم

gl
النوع:  WebGLRenderingContext
تمثّل هذه السمة WebGLRenderingContext الذي سيتم عرض WebGLOverlayView عليه.
transformer
النوع:  CoordinateTransformer
تمثّل هذه السمة عملية تحويل المصفوفة من مساحة الكاميرا إلى إحداثيات خط العرض/خط الطول.

WebGLStateOptions واجهة

google.maps.WebGLStateOptions interface

خيارات حالة GL

gl
النوع:  WebGLRenderingContext
تمثّل هذه السمة WebGLRenderingContext الذي سيتم عرض WebGLOverlayView عليه.

CoordinateTransformer interface

google.maps.CoordinateTransformer interface

توفر هذه الواجهة طرقًا ملائمة لإنشاء مصفوفات لاستخدامها في عرض مشاهد 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 interface

تُستخدَم لاسترداد مَعلمات الكاميرا، مثل مَعلمات كاميرا GL المستخدَمة في WebGLOverlayView.

توسّع هذه الواجهة CameraOptions.

center
النوع:  LatLng
heading
النوع:  number
tilt
النوع:  number
zoom
النوع:  number