WebGL

WebGLOverlayView क्लास

google.maps.WebGLOverlayView क्लास

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 पर सेट किए गए मैप और 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 डिव, मॉडल, और व्यू स्टेटस को ऐक्सेस करने के लिए मैप.
रिटर्न वैल्यू:  कोई नहीं
मैप पर ओवरले जोड़ता है.
इनहेरिट किया गया: 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])
पैरामीटर: 
  • latLngAltitudeLatLngAltitude|LatLngAltitudeLiteral अक्षांश, देशांतर, और ऊंचाई.
  • rotationsFloat32Array optional एक ऐरे, जिसमें XYZ कॉन्फ़िगरेशन में, डिग्री में यूलर रोटेशन ऐंगल होता है.
  • scaleFloat32Array optional ऐरे, जिसमें कार्डिनल ऐक्सिस पर लागू करने के लिए XYZ स्केलर ऐरे होता है.
रिटर्न वैल्यू:  Float64Array WebGL के साथ इस्तेमाल करने के लिए एमवीपी मैट्रिक.
getCameraParams
getCameraParams()
पैरामीटर:  कोई नहीं
रिटर्न वैल्यू:  CameraParams कैमरा पैरामीटर

CameraParams इंटरफ़ेस

google.maps.CameraParams इंटरफ़ेस

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

यह इंटरफ़ेस, CameraOptions तक फैला हुआ है.

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