WebGL

WebGLOverlayView क्लास

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

WebGL ओवरले व्यू, सीधे उसी WebGL रेंडरिंग कॉन्टेक्स्ट का ऐक्सेस देता है जिसका इस्तेमाल Google Maps Platform, वेक्टर बुनियादी मैप को रेंडर करने के लिए करता है. शेयर किए गए रेंडरिंग कॉन्टेक्स्ट का इस्तेमाल करने से कई फ़ायदे मिलते हैं. जैसे, 3D बिल्डिंग ज्यामिति के साथ डेप्थ ऑक्लूज़न और बुनियादी मैप की रेंडरिंग के साथ 2D/3D कॉन्टेंट को सिंक करने की सुविधा.

WebGL ओवरले व्यू की मदद से, सीधे WebGL या Three.js या deck.gl जैसी लोकप्रिय ग्राफ़िक्स लाइब्रेरी का इस्तेमाल करके, अपने मैप में कॉन्टेंट जोड़ा जा सकता है. ओवरले का इस्तेमाल करने के लिए, google.maps.WebGLOverlayView को एक्सटेंड किया जा सकता है. साथ ही, इनमें से हर लाइफ़साइकल हुक के लिए, लागू करने का तरीका बताया जा सकता है: WebGLOverlayView.onAdd, WebGLOverlayView.onContextRestored, WebGLOverlayView.onDraw, WebGLOverlayView.onContextLost, और WebGLOverlayView.onRemove.

onAdd() वाले तरीके को कॉल करने के लिए, आपको मान्य Map ऑब्जेक्ट के साथ WebGLOverlayView.setMap को कॉल करना होगा. साथ ही, onRemove() वाले तरीके को ट्रिगर करने के लिए, setMap(null) को कॉल करना होगा. setMap() मेथड को कंस्ट्रक्शन के समय या उसके बाद किसी भी समय कॉल किया जा सकता है. ऐसा तब किया जा सकता है, जब ओवरले को हटाने के बाद फिर से दिखाना हो. इसके बाद, जब भी मैप की किसी प्रॉपर्टी में बदलाव होगा, तब onDraw() तरीके को कॉल किया जाएगा. इससे एलिमेंट की पोज़िशन बदल सकती है. जैसे, ज़ूम, सेंटर या मैप टाइप. WebGLOverlayView को सिर्फ़ ऐसे वेक्टर मैप में जोड़ा जा सकता है जिसमें MapOptions.mapId हो. इसमें RenderingType.VECTOR MapOptions.renderingType पर सेट किए गए और MapOptions.mapId के तौर पर Map.DEMO_MAP_ID का इस्तेमाल करने वाले मैप भी शामिल हैं.

const {WebGLOverlayView} = await google.maps.importLibrary("maps");
WebGLOverlayView
WebGLOverlayView()
पैरामीटर: कोई नहीं
WebGLOverlayView बनाता है.
getMap
getMap()
पैरामीटर: कोई नहीं
रिटर्न वैल्यू: Map|null|undefined
onAdd
onAdd()
पैरामीटर: कोई नहीं
रिटर्न वैल्यू: कोई नहीं
ओवरले बनाने से पहले, इंटरमीडिएट डेटा स्ट्रक्चर को फ़ेच करने या बनाने के लिए, इस तरीके को लागू करें. इसके लिए, WebGL रेंडरिंग कॉन्टेक्स्ट को तुरंत ऐक्सेस करने की ज़रूरत नहीं होती. रेंडर करने के लिए, इस तरीके को लागू करना ज़रूरी है.
onContextLost
onContextLost()
पैरामीटर: कोई नहीं
रिटर्न वैल्यू: कोई नहीं
इस तरीके को तब कॉल किया जाता है, जब किसी वजह से रेंडरिंग कॉन्टेक्स्ट खो जाता है. साथ ही, यहां आपको पहले से मौजूद किसी भी जीएल स्टेट को हटा देना चाहिए, क्योंकि अब इसकी ज़रूरत नहीं है.
onContextRestored
onContextRestored(options)
पैरामीटर:
  • options: WebGLStateOptions, जो डेवलपर को जीएल कॉन्टेक्स्ट को वापस लाने की अनुमति देते हैं.
रिटर्न वैल्यू: कोई नहीं
रेंडरिंग कॉन्टेक्स्ट उपलब्ध होने पर, इस तरीके को कॉल किया जाता है. इसका इस्तेमाल, शेडर या बफ़र ऑब्जेक्ट जैसी किसी भी WebGL स्थिति को शुरू करने या बाइंड करने के लिए करें.
onDraw
onDraw(options)
पैरामीटर:
  • options: WebGLDrawOptions, जिनकी मदद से डेवलपर, Google के बुनियादी मैप पर कॉन्टेंट रेंडर कर सकते हैं.
रिटर्न वैल्यू: कोई नहीं
सीधे मैप पर WebGL कॉन्टेंट ड्रॉ करने के लिए, इस तरीके को लागू करें. ध्यान दें कि अगर ओवरले को नया फ़्रेम बनाने की ज़रूरत है, तो WebGLOverlayView.requestRedraw को कॉल करें.
onRemove
onRemove()
पैरामीटर: कोई नहीं
रिटर्न वैल्यू: कोई नहीं
यह तरीका तब इस्तेमाल किया जाता है, जब WebGLOverlayView.setMap(null) की मदद से मैप से ओवरले को हटाया जाता है. साथ ही, इस तरीके से सभी इंटरमीडिएट ऑब्जेक्ट हटाए जाते हैं. रेंडर करने के लिए, इस तरीके को लागू करना ज़रूरी है.
onStateUpdate
onStateUpdate(options)
पैरामीटर:
  • options: WebGLStateOptions, जो डेवलपर को जीएल कॉन्टेक्स्ट को वापस लाने की अनुमति देते हैं.
रिटर्न वैल्यू: कोई नहीं
रेंडर ऐनिमेशन फ़्रेम के बाहर, किसी भी GL स्टेट अपडेट को मैनेज करने के लिए, यह तरीका लागू करें.
requestRedraw
requestRedraw()
पैरामीटर: कोई नहीं
रिटर्न वैल्यू: कोई नहीं
यह मैप को फ़्रेम फिर से ड्रॉ करने के लिए ट्रिगर करता है.
requestStateUpdate
requestStateUpdate()
पैरामीटर: कोई नहीं
रिटर्न वैल्यू: कोई नहीं
यह मैप को जीएल स्टेट अपडेट करने के लिए ट्रिगर करता है.
setMap
setMap([map])
पैरामीटर:
  • map: Map 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

यह इंटरफ़ेस, Google के बुनियादी मैप के ऊपर WebGL सीन रेंडर करने के लिए, मैट्रिक्स जनरेट करने के आसान तरीके उपलब्ध कराता है.

ध्यान दें: इस ऑब्जेक्ट का रेफ़रंस, एनकैप्सुलेट करने वाले WebGLOverlayView.onDraw कॉल के दायरे से बाहर नहीं होना चाहिए.

fromLatLngAltitude
fromLatLngAltitude(latLngAltitude[, rotations, scale])
पैरामीटर:
  • latLngAltitude: LatLngAltitude|LatLngAltitudeLiteral अक्षांश, देशांतर, और ऊंचाई.
  • rotations: Float32Array optional ऐसा अरे जिसमें XYZ कन्वेंशन के हिसाब से, डिग्री में ऑइलर रोटेशन ऐंगल शामिल होता है.
  • scale: Float32Array optional ऐसा अरे जिसमें XYZ स्केलर अरे शामिल है. इसे कार्डिनल ऐक्सिस पर लागू किया जाता है.
रिटर्न वैल्यू: Float64Array WebGL के साथ इस्तेमाल करने के लिए एमवीपी मैट्रिक्स.
getCameraParams
getCameraParams()
पैरामीटर: कोई नहीं
रिटर्न वैल्यू: CameraParams कैमरा पैरामीटर

CameraParams इंटरफ़ेस

interface google.maps.CameraParams extends CameraOptions

इसका इस्तेमाल, कैमरे के पैरामीटर को वापस पाने के लिए किया जाता है. जैसे, WebGLOverlayView के लिए इस्तेमाल किए गए GL कैमरे के पैरामीटर.

center
टाइप: LatLng
heading
टाइप: number
tilt
टाइप: number
zoom
टाइप: number