इस पेज पर, वेक्टर मैप और WebGL की सुविधाओं से जुड़ी सामान्य समस्याओं और उन्हें ठीक करने के तरीकों के बारे में बताया गया है.
ब्राउज़र/डिवाइस के साथ काम करने की सुविधा
WebGL की सुविधा का प्रीव्यू, Maps JavaScript API के साथ काम करने वाले ब्राउज़र और डिवाइसों पर काम करता है. यह देखने के लिए कि किसी डिवाइस पर मौजूद ब्राउज़र, WebGL के साथ काम करेगा या नहीं, get.webgl.org या caniuse.com पर जाएं. साथ ही, कृपया यह भी पक्का करें कि ब्राउज़र सेटिंग में, हार्डवेयर से तेज़ी लाने की सुविधा चालू हो. ऐसा न होने पर, वेक्टर मैप बदलकर रास्टर हो जाएंगे.
रास्टर या वेक्टर?
कभी-कभी, वेक्टर मैप, रास्टर में बदल सकता है. ऐसा होने पर, वेक्टर मैप पर निर्भर करने वाली सुविधाएं उपलब्ध नहीं होती हैं. रास्टर मैप पर वापस जाने की कई वजहें हो सकती हैं. इस सेक्शन में, आपको अपने वेब ब्राउज़र को सही तरीके से कॉन्फ़िगर करने का तरीका बताया गया है. साथ ही, यह भी बताया गया है कि प्रोग्राम की मदद से, यह कैसे देखा जा सकता है कि वेक्टर मैप की सुविधा उपलब्ध है या नहीं.
Chrome पर ब्राउज़र की सुविधाओं की जांच करना
Chrome के किसी खास इंस्टॉलेशन में, हार्डवेयर से तेज़ी लाने की कौनसी सुविधाएं चालू हैं, यह जानने के लिए chrome://gpu/ पर जाएं. इसके बाद, पक्का करें कि ये आइटम चालू हों (हरे रंग में दिखें):
- "OpenGL: Enabled"
- WebGL: हार्डवेयर से तेज़ी लाएं
- WebGL2: हार्डवेयर से तेज़ी लाएं
(ये सिर्फ़ बुनियादी ज़रूरतें हैं. इनके अलावा, अन्य वजहों से भी सहायता पर असर पड़ सकता है. ज़्यादा जानकारी के लिए, नीचे "सामान्य गड़बड़ियां" सेक्शन देखें.)
हार्डवेयर से तेज़ी लाने की सुविधा चालू करना
ज़्यादातर ब्राउज़र में, वेक्टर मैप की सुविधा इस्तेमाल करने के लिए, हार्डवेयर से तेज़ी लाने की सुविधा चालू होनी चाहिए. Chrome और Microsoft Edge में, हार्डवेयर से तेज़ी लाने की सुविधा चालू करने के लिए, सेटिंग खोलें. इसके बाद, सिस्टम को चुनें और पक्का करें कि उपलब्ध होने पर, हार्डवेयर से तेज़ी लाने की सुविधा का इस्तेमाल करें विकल्प चालू हो.
- Safari में, वेबसाइटों की सेटिंग बदलने का तरीका जानें.
- Firefox की परफ़ॉर्मेंस सेटिंग के बारे में जानें.
प्रोग्राम की मदद से, रास्टर या वेक्टर की जांच करना
map.getRenderingType() को कॉल करके, प्रोग्राम की मदद से यह देखा जा सकता है कि कोई मैप, रास्टर है या वेक्टर. यहां दिए गए उदाहरण में, renderingtype_changed इवेंट की निगरानी करने वाला कोड दिखाया गया है. साथ ही, इसमें एक जानकारी विंडो भी दिखाई गई है, जिसमें यह बताया गया है कि रास्टर या वेक्टर मैप का इस्तेमाल किया जा रहा है.
TypeScript
/** * This example creates a map with an info window that shows whether * the map render type is raster or vector. */ function initMap() { const center = {lat: 0, lng: 0}; const map = new google.maps.Map(document.getElementById('map') as HTMLElement, { center, zoom: 10, heading: 0.0, tilt: 0.0, // Map ID for a vector map. mapId: '6ff586e93e18149f', }); const canvas = document.createElement("canvas"); const infoWindow = new google.maps.InfoWindow({ content: '', ariaLabel: 'Raster/Vector', position: center, }); infoWindow.open({ map, }); map.addListener('renderingtype_changed', () => { infoWindow.setContent(`${map.getRenderingType()}`); }); } declare global { interface Window { initMap: () => void; } } window.initMap = initMap;
JavaScript
/** * This example creates a map with an info window that shows whether * the map render type is raster or vector. */ function initMap() { const center = { lat: 0, lng: 0 }; const map = new google.maps.Map(document.getElementById("map"), { center, zoom: 10, heading: 0.0, tilt: 0.0, // Map ID for a vector map. mapId: "6ff586e93e18149f", }); const canvas = document.createElement("canvas"); const infoWindow = new google.maps.InfoWindow({ content: "", ariaLabel: "Raster/Vector", position: center, }); infoWindow.open({ map, }); map.addListener("renderingtype_changed", () => { infoWindow.setContent(`${map.getRenderingType()}`); }); } window.initMap = initMap;
WebGL 2 के साथ काम करने की सुविधा की जांच करने के लिए, WebGL रेंडरिंग कॉन्टेक्स्ट का भी इस्तेमाल किया जा सकता है:
const canvas = document.createElement("canvas");
canvas.getContext("webgl2") ? console.log("WebGL 2 is supported") : console.log("WebGL 2 is NOT supported");
प्रोग्राम की मदद से, WebGL रेंडरिंग कॉन्टेक्स्ट का पता लगाने के अन्य तरीकों के बारे में जानें.
मोबाइल वेब के साथ काम करने की सुविधा
मोबाइल वेब पर, वेक्टर मैप की सुविधा अभी एक्सपेरिमेंट के तौर पर उपलब्ध है. डेवलपर, क्लाइंट एपीआई का इस्तेमाल करके, मोबाइल वेब ब्राउज़र का पता लगा सकते हैं. साथ ही, वेक्टर मैप के बजाय, रास्टर मैप से जुड़ी मैप आईडी का इस्तेमाल कर सकते हैं. हमें उम्मीद है कि कुछ मोबाइल डिवाइसों पर, रेंडरिंग की परफ़ॉर्मेंस धीमी होगी. अगर मोबाइल वेब पर, वेक्टर मैप का इस्तेमाल किया जाता है, तो हमें परफ़ॉर्मेंस के आंकड़े और सुझाव/राय या शिकायत भेजें. इससे हमें इस सुविधा को बेहतर बनाने में मदद मिलेगी. ऊपर बताए गए तरीके के मुताबिक, अगर वेक्टर मैप की सुविधा उपलब्ध नहीं है, तो वेक्टर मैप आईडी अपने-आप रास्टर मैप का इस्तेमाल करने लगेगी.
गड़बड़ियां
सामान्य गड़बड़ियां
- कुछ macOS डिवाइसों पर Chrome में एक सामान्य समस्या है. यह समस्या, AMD GPU वाले डिवाइसों पर होती है. यह समस्या तब और भी उलझन भरी हो सकती है, जब macOS, एक से ज़्यादा GPU वाले डिवाइसों पर, डाइनैमिक तरीके से GPU के बीच स्विच करता है. इसलिए, यह हो सकता है कि वेक्टर मैप की सुविधा उपलब्ध न हो. ऐसा, अन्य ऐप्लिकेशन के चालू होने या किसी बाहरी मॉनिटर के कनेक्ट होने की वजह से हो सकता है. ऐसा लगता है कि Chrome के आने वाले ANGLE Metal बैकएंड को चालू करने से, कुछ मामलों में यह समस्या ठीक हो जाती है. इसके रोलआउट प्लान के बारे में जानने के लिए, https://bugs.chromium.org/p/chromium/issues/detail?id=1322521 पर जाएं.
गड़बड़ियों की शिकायत करना
- गड़बड़ी की शिकायत करने से पहले, कृपया ब्राउज़र और GPU ड्राइवर को सबसे नए वर्शन पर अपडेट करें.
- पक्का करें कि
chrome://settings/system(Chrome),about:preferences#general(Firefox),edge://settings/system(Microsoft Edge) पर, हार्डवेयर से तेज़ी लाने की सेटिंग चालू हो. Safari में, यह सेटिंग macOS के 10.15 या इससे नए वर्शन में अपने-आप चालू हो जाती है. MacOS के पुराने वर्शन के लिए, कृपया Safari की अडवांस सेटिंग पर जाएं और पक्का करें कि "हार्डवेयर से तेज़ी लाने की सुविधा का इस्तेमाल करें" विकल्प चालू हो. - गड़बड़ी की रिपोर्ट में, jsfiddle के सैंपल कोड का लिंक शामिल करें.
- साथ ही, कृपया
chrome://gpu(Chrome),about:support(Firefox) याedge://gpu(Microsoft Edge) का स्क्रीनशॉट लें. अगर आपको रेंडरिंग से जुड़ी कोई समस्या आती है, तो गड़बड़ी की रिपोर्ट में, GPU से जुड़ी जानकारी शामिल करें.
हमें अपने विचार बताएं!
हम आपके सुझाव/राय या शिकायत को अहमियत देते हैं. हमारी कोशिश है कि आपको और आपके एंड-यूज़र को, वेक्टर मैप का बेहतर अनुभव मिले. कृपया हमें बताएं कि:
- आपके वेब ऐप्लिकेशन में, JavaScript की कोई नई गड़बड़ी या कोई बग/क्रैश मिला हो.
- वेक्टर मैप के लिए स्टार्टअप लेटेंसी, रास्टर मैप की तुलना में काफ़ी ज़्यादा हो. अगर ऐसा है, तो स्टार्टअप लेटेंसी रिग्रेशन की मेट्रिक बहुत काम की होती हैं. आम तौर पर, हम यह जानना चाहते हैं कि स्टार्टअप लेटेंसी, स्वीकार की जा सकने वाली थ्रेशोल्ड से ज़्यादा है या नहीं.
- वेक्टर मैप का अनुभव उतना बेहतर नहीं है जितना हो सकता है. अगर आपने एफपीएस या जैंक मेट्रिक लॉग की हैं, तो वेक्टर और रास्टर मैप के बीच इनकी तुलना कैसे की जा सकती है?
- ब्राउज़र के हिसाब से, परफ़ॉर्मेंस में काफ़ी अंतर होता है.
अगर आपने वेक्टर मैप की तुलना रास्टर मैप से करने के लिए, A/B टेस्टिंग सेट अप की है, तो कृपया परफ़ॉर्मेंस से जुड़ा कोई भी सुझाव/राय या शिकायत शेयर करें. इससे हमें इस सुविधा को बेहतर बनाने में मदद मिलेगी.