WebGL

فئة WebGLOverlayView

google.maps.WebGLOverlayView class

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

من خلال عرض تراكب 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).

يمتدّ هذا الصف إلى MVCObject.

يمكنك الوصول إليه من خلال الاتصال بالرقم const {WebGLOverlayView} = await google.maps.importLibrary("maps"). اطّلِع على المكتبات في واجهة برمجة تطبيقات JavaScript للخرائط.

WebGLOverlayView
WebGLOverlayView()
المَعلمات:  بدون
لإنشاء WebGLOverlayView.
getMap
getMap()
المَعلمات:  بدون
القيمة المعروضة:  Map|null|undefined
onAdd
onAdd()
المَعلمات:  بدون
القيمة المعروضة:  لا شيء
يمكنك تنفيذ هذه الطريقة لجلب أو إنشاء هياكل بيانات وسيطة قبل رسم التراكب التي لا تتطلّب الوصول الفوري إلى سياق عرض WebGL. يجب تنفيذ هذه الطريقة لعرض المحتوى.
onContextLost
onContextLost()
المَعلمات:  بدون
القيمة المعروضة:  لا شيء
يتمّ استدعاء هذه الطريقة عند فقدان سياق العرض لأيّ سبب، ويجب فيها تنظيف أيّ حالة GL حالية، لأنّها لم تعُد مطلوبة.
onContextRestored
onContextRestored(options)
المَعلمات: 
  • optionsWebGLStateOptions التي تسمح للمطوّرين باستعادة سياق GL
القيمة المعروضة:  لا شيء
يتمّ استدعاء هذه الطريقة بعد توفّر سياق العرض. استخدِم هذه الطريقة لإعداد أي حالة WebGL أو ربطها، مثل shaders أو كائنات التخزين المؤقت.
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 صفيف يحتوي على زاوية دوران Euler بالدرجات، وفقًا لنظام 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