सहायता

यह पृष्ठ सदिश मैप और WebGL सुविधाओं के लिए ज्ञात समस्याओं और सुझावों को सूचीबद्ध करता है.

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

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

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

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

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

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

  • "OpenGL: चालू है"
  • "WebGL: हार्डवेयर की मदद से तेज़ी से काम किया गया"
  • "WebGL2: हार्डवेयर की मदद से तेज़ी से काम किया गया"

(ये सिर्फ़ बुनियादी शर्तें हैं, कुछ अन्य वजहों से भी सहायता पर असर पड़ सकता है. इस बारे में ज़्यादा जानने के लिए, नीचे "जानी-पहचानी गड़बड़ियां" देखें.)

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

वेक्टर मैप के साथ काम करने के लिए, ज़्यादातर ब्राउज़र में हार्डवेयर की मदद से तेज़ी लाने की सुविधा चालू होनी चाहिए. Chrome और Microsoft Edge में, हार्डवेयर से तेज़ी लाने की सुविधा चालू करने के लिए, Settings खोलें और सिस्टम चुनें. साथ ही, यह पक्का करें कि उपलब्ध होने पर, हार्डवेयर से तेज़ी लाने की सुविधा इस्तेमाल करें चालू हो.

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

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