सहायता

इस पेज पर, वेक्टर मैप और 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 में हार्डवेयर से तेज़ी लाने की सुविधा चालू करने के लिए, सेटिंग खोलें. इसके बाद, सिस्टम चुनें. साथ ही, पक्का करें कि उपलब्ध होने पर हार्डवेयर से तेज़ी लाने की सुविधा इस्तेमाल करें चालू हो.

प्रोग्राम के ज़रिए रास्टर या वेक्टर की जांच करना

प्रोग्राम के ज़रिए यह पता लगाया जा सकता है कि मैप रास्टर है या वेक्टर. इसके लिए, 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 GPU वाले कुछ 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 टेस्टिंग सेट अप की है, तो कृपया परफ़ॉर्मेंस से जुड़ा कोई भी सुझाव, शिकायत या राय शेयर करें. इससे हमें इस सुविधा को बेहतर बनाने में मदद मिलेगी.