WebGL

WebGLOverlayView क्लास

google.maps.WebGLOverlayView क्लास

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

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

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

इस क्लास में MVCObject को शामिल किया जाता है.

const {WebGLOverlayView} = await google.maps.importLibrary("maps") को कॉल करके ऐक्सेस करें. Maps JavaScript API में लाइब्रेरी देखें.

WebGLOverlayView
WebGLOverlayView()
पैरामीटर: कोई नहीं
WebGLOverlayView बनाता है.
getMap
getMap()
पैरामीटर: कोई नहीं
रिटर्न वैल्यू:  Map|null|undefined
onAdd
onAdd()
पैरामीटर: कोई नहीं
रिटर्न वैल्यू: कोई नहीं
ओवरले तैयार होने से पहले, इंटरमीडिएट डेटा स्ट्रक्चर को फ़ेच करने या बनाने के लिए यह तरीका लागू करें. इसके लिए, WebGL रेंडरिंग कॉन्टेक्स्ट को ऐक्सेस करने की ज़रूरत न हो. रेंडर करने के लिए, यह तरीका लागू करना ज़रूरी है.
onContextLost
onContextLost()
पैरामीटर: कोई नहीं
रिटर्न वैल्यू: कोई नहीं
इस तरीके को तब कॉल किया जाता है, जब रेंडरिंग कॉन्टेक्स्ट किसी वजह से खो जाता है. साथ ही, यहां आपको पहले से मौजूद किसी भी जीएल स्थिति को साफ़ करना चाहिए, क्योंकि अब इसकी ज़रूरत नहीं है.
onContextRestored
onContextRestored(options)
पैरामीटर: 
  • optionsWebGLStateOptions जो डेवलपर को जीएल कॉन्टेक्स्ट को पहले जैसा करने की अनुमति देता है.
रिटर्न वैल्यू: कोई नहीं
रेंडरिंग कॉन्टेक्स्ट उपलब्ध होने पर इस तरीके को कॉल किया जाता है. इसका इस्तेमाल शेडर या बफ़र ऑब्जेक्ट जैसी किसी भी WebGL स्थिति को शुरू या बाइंड करने के लिए करें.
onDraw
onDraw(options)
पैरामीटर: 
  • optionsWebGLDrawOptions जो डेवलपर को उनसे जुड़े Google बुनियादी मैप में कॉन्टेंट रेंडर करने की अनुमति देता है.
रिटर्न वैल्यू: कोई नहीं
WebGL सामग्री को सीधे मैप पर ड्रॉ करने के लिए, यह तरीका लागू करें. ध्यान दें कि अगर ओवरले को खींचने के लिए नया फ़्रेम चाहिए, तो WebGLOverlayView.requestRedraw पर कॉल करें.
onRemove
onRemove()
पैरामीटर: कोई नहीं
रिटर्न वैल्यू: कोई नहीं
इस तरीके को तब कॉल किया जाता है, जब WebGLOverlayView.setMap(null) की मदद से ओवरले को मैप से हटाया जाता है. साथ ही, यहां से आपको बीच के सभी ऑब्जेक्ट हटाने चाहिए. रेंडर करने के लिए, यह तरीका लागू करना ज़रूरी है.
onStateUpdate
onStateUpdate(options)
पैरामीटर: 
  • optionsWebGLStateOptions जो डेवलपर को जीएल कॉन्टेक्स्ट को पहले जैसा करने की अनुमति देता है.
रिटर्न वैल्यू: कोई नहीं
रेंडर होने वाले ऐनिमेशन फ़्रेम के बाहर, जीएल स्टेटस के किसी भी अपडेट को हैंडल करने के लिए यह तरीका लागू करें.
requestRedraw
requestRedraw()
पैरामीटर: कोई नहीं
रिटर्न वैल्यू: कोई नहीं
फ़्रेम को फिर से बनाने के लिए मैप को ट्रिगर करता है.
requestStateUpdate
requestStateUpdate()
पैरामीटर: कोई नहीं
रिटर्न वैल्यू: कोई नहीं
जीएल की स्थिति अपडेट करने के लिए मैप को ट्रिगर करता है.
setMap
setMap([map])
पैरामीटर: 
  • mapMap optional div, मॉडल, और व्यू की स्थिति को ऐक्सेस करने के लिए मैप.
रिटर्न वैल्यू: कोई नहीं
मैप में ओवरले जोड़ता है.
इनहेरिट की गई: addListener, bindTo, get, notify, set, setValues, unbind, unbindAll

WebGLDrawOptions इंटरफ़ेस

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

ड्रॉइंग के विकल्प.

gl
टाइप:  WebGLRenderingContext
उस WebGL रेंडरिंग कॉन्टेक्स्ट के लिए जिस पर इस WebGLOverlayView को रेंडर करना है.
transformer
टाइप:  CoordinateTransformer
कैमरे के स्पेस से अक्षांश/देशांतर निर्देशांक में मैट्रिक्स ट्रांसफ़ॉर्मेशन.

WebGLStateOptions इंटरफ़ेस

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

जीएल स्थिति के विकल्प.

gl
टाइप:  WebGLRenderingContext
उस WebGL रेंडरिंग कॉन्टेक्स्ट के लिए जिस पर इस WebGLOverlayView को रेंडर करना है.

CoordinateTransformer इंटरफ़ेस

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

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

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

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

CameraParams इंटरफ़ेस

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

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

इस इंटरफ़ेस में CameraOptions की जानकारी भी है.

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