इस पेज पर वेक्टर मैप और WebGL सुविधाओं से जुड़ी समस्याओं और उन्हें हल करने के तरीकों की जानकारी दी गई है.
ब्राउज़र/डिवाइस से जुड़ी सहायता
WebGL की सुविधा की झलक, Maps JavaScript API के साथ काम करने वाले ब्राउज़र और डिवाइसों पर काम करती है. यह देखने के लिए कि किसी डिवाइस पर मौजूद ब्राउज़र, WebGL के साथ काम करता है या नहीं, get.webgl.org या caniuse.com पर जाएं. कृपया यह भी पक्का करें कि ब्राउज़र की सेटिंग में हार्डवेयर एक्सेलरेशन चालू हो, अन्यथा वेक्टर मैप रेस्टर में वापस आ जाएंगे.
रेस्टर या वेक्टर?
कभी-कभी, वेक्टर मैप को फिर से रेस्टर में बदला जा सकता है. ऐसा होने पर, वेक्टर मैप पर आधारित सुविधाएं उपलब्ध नहीं होतीं. कई वजहों से, रेस्टर मैप पर फ़ॉलबैक हो सकता है. इस सेक्शन में, अपने वेब ब्राउज़र को सही तरीके से कॉन्फ़िगर करने का तरीका बताया गया है. साथ ही, प्रोग्राम के हिसाब से यह जांचने का तरीका भी बताया गया है कि वेक्टर मैप की सुविधा मौजूद है या नहीं.
Chrome पर ब्राउज़र की सुविधाएं देखना
यह पता लगाने के लिए कि Chrome के किसी खास इंस्टॉलेशन में, 'हार्डवेयर से तेज़ी लाएं' की कौनसी सुविधाएं चालू हैं, chrome://gpu/ पर जाएं. साथ ही, पक्का करें कि ये आइटम चालू हों (हरे रंग में):
- "OpenGL: चालू है"
- "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 रेंडरिंग कॉन्टेक्स्ट का पता लगाने के अन्य तरीकों के बारे में जानें.
मोबाइल वेब के लिए सहायता
वेक्टर मैप के लिए, मोबाइल वेब पर काम करने की सुविधा अब भी एक्सपेरिमेंट के तौर पर उपलब्ध है. डेवलपर, मोबाइल वेब ब्राउज़र का पता लगाने के लिए क्लाइंट एपीआई का इस्तेमाल कर सकते हैं. साथ ही, वेक्टर मैप के बजाय रेस्टर मैप से जुड़े मैप आईडी का इस्तेमाल कर सकते हैं. हमें लगता है कि कुछ मोबाइल डिवाइसों पर रेंडरिंग की परफ़ॉर्मेंस धीमी हो सकती है. अगर आपने मोबाइल वेब पर वेक्टर मैप का इस्तेमाल करने का विकल्प चुना है, तो हमें परफ़ॉर्मेंस के आंकड़ों और सुझाव/राय/शिकायत देने में मदद करें. ऊपर बताए गए तरीके की तरह, अगर वेक्टर मैप की सुविधा उपलब्ध नहीं है, तो वेक्टर मैप आईडी अपने-आप रेस्टर मैप का इस्तेमाल करने लगेगा.
गड़बड़ियां
पहले से मालूम गड़बड़ियां
- AMD जीपीयू वाले कुछ macOS डिवाइसों पर, Chrome में एक समस्या आ रही है. यह तब खास तौर पर भ्रमित करने वाला हो सकता है, जब 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 टेस्टिंग सेट अप की है, तो कृपया परफ़ॉर्मेंस से जुड़ा कोई भी सुझाव, शिकायत या राय शेयर करें. इससे हमें इस सुविधा को बेहतर बनाने में मदद मिलेगी.