इस पेज पर, वेक्टर मैप और WebGL की सुविधाओं से जुड़ी सामान्य समस्याओं और उन्हें ठीक करने के तरीकों के बारे में बताया गया है.
ब्राउज़र/डिवाइस से जुड़ी सहायता
WebGL की सुविधा का प्रीव्यू, Maps JavaScript API के साथ काम करने वाले ब्राउज़र और डिवाइसों पर काम करता है. यह देखने के लिए कि किसी डिवाइस पर मौजूद ब्राउज़र, WebGL के साथ काम करेगा या नहीं, get.webgl.org या caniuse.com पर जाएं. साथ ही, पक्का करें कि ब्राउज़र की सेटिंग में हार्डवेयर से तेज़ी लाने की सुविधा चालू हो. ऐसा न होने पर, वेक्टर मैप रास्टर में बदल जाएंगे.
रास्टर या वेक्टर?
कभी-कभी, वेक्टर मैप, रास्टर में बदल सकता है. ऐसा होने पर, वेक्टर मैप पर निर्भर करने वाली सुविधाएं उपलब्ध नहीं होती हैं. रास्टर मैप पर वापस जाने की कई वजहें हो सकती हैं. इस सेक्शन में, वेब ब्राउज़र को सही तरीके से कॉन्फ़िगर करने और प्रोग्राम की मदद से यह देखने का तरीका बताया गया है कि वेक्टर मैप की सुविधा उपलब्ध है या नहीं.
Chrome पर ब्राउज़र की क्षमताओं की जांच करना
Chrome के किसी खास इंस्टॉलेशन में, हार्डवेयर से तेज़ी लाने की कौनसी सुविधाएं चालू हैं, यह जानने के लिए chrome://gpu/ पर जाएं. साथ ही, पक्का करें कि ये आइटम चालू हों (हरे रंग में):
- "OpenGL: Enabled"
- "WebGL: Hardware accelerated"
- "WebGL2: Hardware accelerated"
(ये सिर्फ़ बुनियादी ज़रूरतें हैं. इनके अलावा, अन्य वजहों से भी सहायता पर असर पड़ सकता है. इसके लिए, नीचे "सामान्य गड़बड़ियां" देखें.)
हार्डवेयर से तेज़ी लाने की सुविधा चालू करना
वेक्टर मैप के साथ काम करने के लिए, ज़्यादातर ब्राउज़र में हार्डवेयर से तेज़ी लाने की सुविधा चालू होनी चाहिए. 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 रेंडरिंग कॉन्टेक्स्ट का पता लगाने के अन्य तरीकों के बारे में जानें.
मोबाइल वेब पर काम करने की सुविधा
वेक्टर मैप के लिए, मोबाइल वेब पर काम करने की सुविधा अब भी एक्सपेरिमेंट के तौर पर उपलब्ध है. डेवलपर, क्लाइंट एपीआई का इस्तेमाल करके, मोबाइल वेब ब्राउज़र का पता लगा सकते हैं. साथ ही, वेक्टर मैप के बजाय, रास्टर मैप से जुड़ी मैप आईडी का इस्तेमाल कर सकते हैं. हमें उम्मीद है कि कुछ मोबाइल डिवाइसों पर, रेंडरिंग की परफ़ॉर्मेंस धीमी होगी. अगर मोबाइल वेब पर वेक्टर मैप का इस्तेमाल किया जाता है, तो हम परफ़ॉर्मेंस के आंकड़ों और सुझाव/राय या शिकायत का स्वागत करते हैं. इससे हमें इस सुविधा को बेहतर बनाने में मदद मिलेगी. जैसा कि ऊपर बताया गया है, अगर वेक्टर मैप के साथ काम करने की सुविधा उपलब्ध नहीं है, तो वेक्टर मैप आईडी अपने-आप रास्टर मैप का इस्तेमाल करने लगेगी.
गड़बड़ियां
सामान्य गड़बड़ियां
- Chrome में, कुछ macOS डिवाइसों पर एएमडी जीपीयू के साथ एक सामान्य समस्या है. यह समस्या तब और भी उलझन भरी हो सकती है, जब macOS, एक से ज़्यादा जीपीयू वाले डिवाइसों पर, जीपीयू के बीच डाइनैमिक तरीके से स्विच करता है. इसलिए, यह इस बात पर निर्भर करता है कि अन्य कौनसे ऐप्लिकेशन चल रहे हैं या कोई बाहरी मॉनिटर कनेक्ट है या नहीं. इस वजह से, वेक्टर मैप उपलब्ध नहीं हो सकते हैं. ऐसा लगता है कि Chrome के आने वाले ANGLE Metal बैकएंड को चालू करने से, कुछ मामलों में यह समस्या ठीक हो जाती है. इसके रोलआउट प्लान के बारे में जानने के लिए, https://bugs.chromium.org/p/chromium/issues/detail?id=1322521 पर जाएं.
गड़बड़ियों की शिकायत करना
- गड़बड़ी की शिकायत करने से पहले, कृपया ब्राउज़र और जीपीयू ड्राइवर को सबसे नए वर्शन पर अपडेट करें.
- पक्का करें कि
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) का स्क्रीनशॉट लें. साथ ही, गड़बड़ी की रिपोर्ट में जीपीयू से जुड़ी जानकारी शामिल करें.
हमें अपने विचार बताएं!
हम आपके सुझाव/राय या शिकायत को अहमियत देते हैं. हमारी कोशिश है कि आपको और आपके उपयोगकर्ताओं को वेक्टर मैप का सबसे अच्छा अनुभव मिले. कृपया हमें बताएं कि:
- आपके वेब ऐप्लिकेशन में, JavaScript की कोई नई गड़बड़ी या बग/क्रैश है या नहीं.
- वेक्टर मैप के लिए स्टार्टअप लेटेन्सी, रास्टर मैप की तुलना में काफ़ी ज़्यादा है या नहीं. अगर ऐसा है, तो स्टार्टअप लेटेन्सी रिग्रेशन की मेट्रिक बहुत काम की होती हैं. आम तौर पर, हम यह जानना चाहते हैं कि स्टार्टअप लेटेन्सी, स्वीकार की जा सकने वाली थ्रेशोल्ड से ज़्यादा है या नहीं.
- वेक्टर मैप का अनुभव, बेहतर नहीं है या नहीं. अगर आपने एफपीएस या जैंक मेट्रिक लॉग की हैं, तो वेक्टर और रास्टर मैप के बीच इनकी तुलना कैसे की जाती है?
- ब्राउज़र के हिसाब से, परफ़ॉर्मेंस में काफ़ी अंतर है या नहीं.
अगर आपने वेक्टर मैप की तुलना रास्टर मैप से करने के लिए, A/B टेस्टिंग सेट अप की है, तो कृपया परफ़ॉर्मेंस से जुड़ा कोई भी सुझाव/राय या शिकायत शेयर करें. इससे हमें इस सुविधा को बेहतर बनाने में मदद मिलेगी.