[ Web Proxy ]
URL:
Viewing: https://developers.google.com/maps/documentation/javascript/webgl/support [Back]  [Original]

Support  |  Maps JavaScript API  |  Google for Developers Skip to main content
Send feedback

Support Stay organized with collections Save and categorize content based on your preferences.

outlined_flag

This page lists known issues and workarounds for vector maps and WebGL features.

Browser/device support

The WebGL feature preview supports the same browsers and devices as the Maps JavaScript API. To check whether the browser on a particular device will support WebGL, visit get.webgl.org or caniuse.com. Please also ensure the hardware acceleration is enabled in the browser settings, otherwise vector maps will revert to raster.

Raster or vector?

Occasionally, a vector map may fall back to raster. When this happens, features depending on the vector map are unavailable. Fallback to a raster map may occur for a variety of reasons. This section shows you how to correctly configure your web browser, and how to programmatically check whether vector map capability is present.

Check browser capabilities on Chrome

To determine which hardware acceleration capabilities are enabled in a specific installation of Chrome, navigate to chrome://gpu/, and ensure that the following items are enabled (in green):

(These are just baseline requirements, there can be other factors which impact support, see "Known bugs" below.)

Enable hardware acceleration

In order to support vector maps, hardware acceleration must be enabled in most browsers. To enable hardware acceleration in Chrome and Microsoft Edge, open Settings, select System, and ensure that Use hardware acceleration when available is enabled.

Programmatically check for raster or vector

You can programmatically check to see whether a map is raster or vector, by calling map.getRenderingType(). The following example shows code to monitor the renderingtype_changed event, and show an info window displaying whether a raster or vector map is in use.

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;
Note: Read the guide on using TypeScript and Google Maps.

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;

You can also use the WebGL rendering context to check support for WebGL 2:

const canvas = document.createElement("canvas");
canvas.getContext("webgl2") ? console.log("WebGL 2 is supported") : console.log("WebGL 2 is NOT supported");

Learn other ways to programmatically detect WebGL rendering context.

Mobile web support

Mobile web support for vector maps is still experimental. Developers can use client APIs to detect mobile web browsers and use a map ID associated with a raster map instead of a vector map. We anticipate slower rendering performance for some mobile devices. If you choose to use vector maps on mobile web, we would greatly appreciate performance statistics and feedback. As above, if Vector Maps support is not available, a vector map ID will automatically fallback to using a raster map.

Bugs

Known bugs

Reporting bugs

Tell us what you think!

We value your feedback as we strive to make the best vector map experience for you and your end-users. Please let us know if:

If you have set up A/B testing for a comparison of vector maps vs. raster maps, please share any performance feedback you acquire, as this will be very useful to help us refine the feature.

Send feedback

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2026-08-19 UTC.

Need to tell us more? [[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2026-08-19 UTC."],[],["This document details vector map and WebGL feature support, troubleshooting, and usage. Key actions include: checking browser support via `get.webgl.org` or `caniuse.com`; enabling hardware acceleration in browser settings; using `chrome://gpu/` to verify hardware acceleration in Chrome; and programmatically checking for raster or vector maps using `map.getRenderingType()`. The document also covers mobile web support limitations, known bugs, and how to report them, including updating browsers/drivers and providing relevant diagnostic information.\n"]]

Web Proxy Viewer  |  New URL  |  Original Page