WebGL

WebGLOverlayView

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

يتيح "العرض المركّب باستخدام WebGL" الوصول المباشر إلى سياق عرض WebGL نفسه الذي تستخدمه "منصة خرائط Google" لعرض الخريطة الأساسية المتّجهة. ويوفّر استخدام سياق العرض المشترك هذا مزايا مثل حجب العمق باستخدام هندسة المباني الثلاثية الأبعاد، وإمكانية مزامنة المحتوى الثنائي الأبعاد/الثلاثي الأبعاد مع عرض الخريطة الأساسية.

باستخدام ميزة "العرض المركّب باستخدام WebGL"، يمكنك إضافة محتوى إلى خرائطك باستخدام 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).

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.
القيمة المعروضة: لا شيء
يتم استدعاء هذه الطريقة بعد توفّر سياق العرض. استخدِمها لإعداد أي حالة 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 interface

واجهة 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 لتطبيقه على المحور الأساسي
القيمة المعروضة: مصفوفة Float64Array MVP لاستخدامها مع WebGL.
getCameraParams
getCameraParams()
المَعلمات: لا تتوفّر أي مَعلمات
القيمة المعروضة: مَعلمات الكاميرا CameraParams

CameraParams interface

interface google.maps.CameraParams extends CameraOptions

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

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