सहायता

यह पेज वेक्टर मैप और WebGL सुविधाओं की जानी-पहचानी समस्याओं और उनके समाधान के बारे में बताता है.

ब्राउज़र/डिवाइस से जुड़ी सहायता

WebGL सुविधा की झलक उन ही ब्राउज़र और डिवाइसों के साथ काम करती है जिन पर Maps JavaScript API काम करता है. यह देखने के लिए कि किसी खास डिवाइस पर मौजूद ब्राउज़र, WebGL के साथ काम करेगा या नहीं, get.webgl.org या caniuse.com पर जाएं. कृपया यह भी पक्का करें कि ब्राउज़र की सेटिंग में, हार्डवेयर से तेज़ी लाने की सुविधा चालू हो. ऐसा न करने पर, वेक्टर मैप रास्टर में बदल जाएंगे.

रास्टर या वेक्टर?

कभी-कभी, वेक्टर मैप फिर से रास्टर में बदल सकता है. ऐसा होने पर, वेक्टर मैप के आधार पर सुविधाएं उपलब्ध नहीं होती हैं. रास्टर मैप में फ़ॉलबैक कई वजहों से हो सकता है. इस सेक्शन में, वेब ब्राउज़र को सही तरीके से कॉन्फ़िगर करने का तरीका बताया गया है. साथ ही, प्रोग्राम के हिसाब से यह जांचने का तरीका भी बताया गया है कि वेक्टर मैप की क्षमता मौजूद है या नहीं.

Chrome पर ब्राउज़र की सुविधाएं देखना

यह तय करने के लिए कि Chrome के किसी खास इंस्टॉल में हार्डवेयर से तेज़ी लाने की कौनसी सुविधाएं चालू हैं, chrome://gpu/ पर जाएं और पक्का करें कि नीचे दिए गए आइटम चालू हैं (हरे रंग में):

  • "OpenGL: चालू है"
  • "WebGL: हार्डवेयर की रफ़्तार बढ़ाई गई"
  • "WebGL2: हार्डवेयर की रफ़्तार बढ़ाई गई"

(ये सिर्फ़ बुनियादी ज़रूरतें हैं. कुछ और चीज़ें भी हो सकती हैं जिनसे सहायता पर असर पड़ता है. नीचे "जिन गड़बड़ियों के बारे में जानकारी है" देखें.)

हार्डवेयर से तेज़ी लाने की सुविधा चालू करें

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