Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
En esta página, se enumeran algunos problemas frecuentes y soluciones alternativas para los mapas de vectores y las funciones de WebGL.
Compatibilidad con navegadores y dispositivos
La vista previa de las funciones de WebGL admite los mismos navegadores y dispositivos que la API de Maps JavaScript.
Para verificar si el navegador de un dispositivo en particular es compatible con WebGL, visita get.webgl.org o caniuse.com. También asegúrate de que la aceleración de hardware esté habilitada en la configuración del navegador. De lo contrario, los mapas de vectores volverán a ser de trama.
¿Mapa de trama o vectores?
En ocasiones, un mapa de vectores puede volver a ser de trama. Cuando esto sucede, los elementos que dependen del mapa de vectores dejan de estar disponibles. El regreso a un mapa de trama puede ocurrir por varias razones. En esta sección, se muestra cómo configurar correctamente tu navegador web y cómo comprobar de manera programática si la capability del mapa de vectores se encuentra activa.
Verifica las capabilities del navegador en Chrome
Para determinar qué capabilities de aceleración de hardware se encuentran habilitadas en una instalación específica de Chrome, navega a chrome://gpu/ y asegúrate de que los siguientes elementos estén habilitados (en verde):
"OpenGL: Enabled"
"WebGL: Hardware accelerated"
"WebGL2: Hardware accelerated"
(Estos son solo requisitos de referencia; puede haber otros factores que afecten la compatibilidad. Consulta la sección "Errores conocidos" a continuación).
Cómo habilitar la aceleración de hardware
En la mayoría de los navegadores, la aceleración de hardware debe estar habilitada para que se admitan los mapas de vectores. Para habilitar la aceleración de hardware en Chrome y Microsoft Edge, abre Configuración, selecciona Sistema y asegúrate de que la opción Usar aceleración de hardware cuando esté disponible se encuentre habilitada.
Verifica si un mapa es de trama o vectores de forma programática
Para comprobar de manera programática si un mapa es de trama o vectores, llama a map.getRenderingType(). En el siguiente ejemplo, se muestra el código necesario para supervisar el evento renderingtype_changed y una ventana de información en la que se indica si se está usando un mapa de vectores o de trama.
TypeScript
/** * This example creates a map with an info window that shows whether * the map render type is raster or vector. */functioninitMap(){constcenter={lat:0,lng:0};constmap=newgoogle.maps.Map(document.getElementById('map')asHTMLElement,{center,zoom:10,heading:0.0,tilt:0.0,// Map ID for a vector map.mapId:'6ff586e93e18149f',});constcanvas=document.createElement("canvas");constinfoWindow=newgoogle.maps.InfoWindow({content:'',ariaLabel:'Raster/Vector',position:center,});infoWindow.open({map,});map.addListener('renderingtype_changed',()=>{infoWindow.setContent(`${map.getRenderingType()}`);});}declareglobal{interfaceWindow{initMap:()=>void;}}window.initMap=initMap;
/** * This example creates a map with an info window that shows whether * the map render type is raster or vector. */functioninitMap(){constcenter={lat:0,lng:0};constmap=newgoogle.maps.Map(document.getElementById("map"),{center,zoom:10,heading:0.0,tilt:0.0,// Map ID for a vector map.mapId:"6ff586e93e18149f",});constcanvas=document.createElement("canvas");constinfoWindow=newgoogle.maps.InfoWindow({content:"",ariaLabel:"Raster/Vector",position:center,});infoWindow.open({map,});map.addListener("renderingtype_changed",()=>{infoWindow.setContent(`${map.getRenderingType()}`);});}window.initMap=initMap;
La compatibilidad de los mapas de vectores con la Web móvil aún se encuentra en etapa experimental. Los desarrolladores pueden utilizar APIs de cliente para detectar navegadores de la Web móvil y usar un ID de mapa asociado con un mapa de trama en lugar de un mapa de vectores. Prevemos un rendimiento de renderización más lenta para algunos dispositivos móviles. Si eliges usar mapas de vectores en la Web móvil, agradecemos que nos envíes tus estadísticas de rendimiento y comentarios. Como se muestra más arriba, si la compatibilidad con mapas de vectores no está disponible, los IDs de mapas de vectores recurrirán automáticamente a los mapas de trama.
Errores
Errores conocidos
Hay un problema conocido en Chrome en algunos dispositivos macOS con GPUs AMD. Esto puede ser especialmente confuso cuando macOS cambia dinámicamente de una GPU a otra en dispositivos que tienen varias GPUs; en esos casos, los mapas de vectores pueden no estar disponibles según qué otras apps se estén ejecutando o si hay un monitor externo conectado.
En algunos casos, el problema parece resolverse al activar el próximo backend ANGLE Metal de Chrome. Puedes seguir los planes del lanzamiento general en https://bugs.chromium.org/p/chromium/issues/detail?id=1322521.
Cómo informar errores
Actualiza el navegador y el controlador de GPU a la versión más reciente antes de informar el error.
Asegúrate de que esté habilitado el parámetro de configuración de la aceleración de hardware en chrome://settings/system (Chrome), about:preferences#general (Firefox) y edge://settings/system (Microsoft Edge). En Safari, este parámetro de configuración se habilita automáticamente en macOS 10.15 o versiones posteriores. Si usas una versión anterior de MacOS, ve a la configuración avanzada de Safari y asegúrate de que la opción "Usar aceleración de hardware" esté habilitada.
Incluye el vínculo del código de muestra jsfiddle en el informe de errores.
Si tienes algún problema de renderización, toma una captura de pantalla de chrome://gpu (Chrome), about:support (Firefox) o edge://gpu (Microsoft Edge) y adjunta los datos de la GPU en el informe de errores.
¡Danos tu opinión!
Valoramos tus comentarios mientras trabajamos para ofrecerte la mejor experiencia posible en mapas de vectores a ti y tus usuarios finales. Infórmanos si sucede lo siguiente:
Detectas errores nuevos de JavaScript o fallas/errores en tus apps web.
La latencia en el inicio de los mapas de vectores es mucho peor que la de los mapas de tramas. Si es así, las métricas de regresión de latencia de inicio son muy útiles. A grandes rasgos, queremos saber si esta latencia supera los umbrales aceptables.
La experiencia de los mapas de vectores no es tan fluida como podría ser. Si registras métricas de FPS o de bloqueo, ¿cómo se comparan en los mapas de vectores y los de trama?
El rendimiento difiere mucho según el navegador.
Si configuraste pruebas A/B para comparar mapas de vectores y mapas de tramas, comparte tus comentarios sobre el rendimiento obtenido, ya que será muy útil para ayudarnos a definir mejor la función.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-05 (UTC)"],[[["\u003cp\u003eThis page addresses known issues and workarounds for vector maps and WebGL features in Google Maps.\u003c/p\u003e\n"],["\u003cp\u003eHardware acceleration must be enabled in your browser settings for vector maps to function correctly; instructions for various browsers are provided.\u003c/p\u003e\n"],["\u003cp\u003eYou can programmatically determine if a map is rendering in vector or raster mode using the \u003ccode\u003emap.getRenderingType()\u003c/code\u003e method.\u003c/p\u003e\n"],["\u003cp\u003eThere are known issues with vector maps on certain macOS devices with AMD GPUs in Chrome, potentially due to dynamic GPU switching.\u003c/p\u003e\n"],["\u003cp\u003eFeedback on performance, bugs, and user experience with vector maps is encouraged to help improve the feature.\u003c/p\u003e\n"]]],["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"],null,["# Support\n\nThis page lists known issues and workarounds for vector maps and WebGL features.\n\nBrowser/device support\n----------------------\n\nThe WebGL feature preview supports the same browsers and devices as the Maps JavaScript API.\nTo check whether the browser on a particular device will support WebGL, visit [get.webgl.org](https://get.webgl.org/)\nor [caniuse.com](https://caniuse.com/?search=webgl). Please also ensure the\nhardware acceleration is enabled in the browser settings, otherwise vector maps\nwill revert to [raster](#raster-fallback).\n\nRaster or vector?\n-----------------\n\nOccasionally, a vector map may fall back to raster. When this happens, features\ndepending on the vector map are unavailable. Fallback to a raster map may occur\nfor a variety of reasons. This section shows you how to correctly configure\nyour web browser, and how to programmatically check whether vector map\ncapability is present.\n\n### Check browser capabilities on Chrome\n\nTo determine which hardware acceleration capabilities are enabled in a specific\ninstallation of Chrome, navigate to \u003cchrome://gpu/\u003e, and ensure\nthat the following items are enabled (in green):\n\n- \"OpenGL: Enabled\"\n- \"WebGL: Hardware accelerated\"\n- \"WebGL2: Hardware accelerated\"\n\n(These are just baseline requirements, there can be other factors which\nimpact support, see \"Known bugs\" below.)\n\n### Enable hardware acceleration\n\nIn order to support vector maps, hardware acceleration must be enabled in most\nbrowsers. To enable hardware acceleration in Chrome and Microsoft Edge, open\n**Settings** , select **System** , and ensure that **Use hardware acceleration\nwhen available** is enabled.\n\n- Learn how to [change websites preferences in Safari](https://support.apple.com/guide/safari/websites-ibrwe2159f50/14.0/mac/11.0).\n- Learn about [Firefox's performance settings](https://support.mozilla.org/en-US/kb/performance-settings).\n\n### Programmatically check for raster or vector\n\nYou can programmatically check to see whether a map is raster or vector, by\ncalling `map.getRenderingType()`. The following example shows code to monitor\nthe `renderingtype_changed` event, and show an info window displaying whether a\nraster or vector map is in use.\n\n\n### TypeScript\n\n```typescript\n/**\n * This example creates a map with an info window that shows whether\n * the map render type is raster or vector.\n */\n\n function initMap() {\n const center = {lat: 0, lng: 0};\n const map = new google.maps.Map(document.getElementById('map') as HTMLElement, {\n center,\n zoom: 10,\n heading: 0.0,\n tilt: 0.0,\n // Map ID for a vector map.\n mapId: '6ff586e93e18149f',\n });\n const canvas = document.createElement(\"canvas\");\n const infoWindow = new google.maps.InfoWindow({\n content: '',\n ariaLabel: 'Raster/Vector',\n position: center,\n });\n infoWindow.open({\n map,\n });\n\n map.addListener('renderingtype_changed', () =\u003e {\n infoWindow.setContent(`${map.getRenderingType()}`);\n });\n }\n\n declare global {\n interface Window {\n initMap: () =\u003e void;\n }\n }\n window.initMap = initMap;https://github.com/googlemaps/js-samples/blob/2683f7366fb27829401945d2a7e27d77ed2df8e5/samples/vector-detector/index.ts#L8-L43\n```\n| **Note:** Read the [guide](/maps/documentation/javascript/using-typescript) on using TypeScript and Google Maps.\n\n### JavaScript\n\n```javascript\n/**\n * This example creates a map with an info window that shows whether\n * the map render type is raster or vector.\n */\nfunction initMap() {\n const center = { lat: 0, lng: 0 };\n const map = new google.maps.Map(document.getElementById(\"map\"), {\n center,\n zoom: 10,\n heading: 0.0,\n tilt: 0.0,\n // Map ID for a vector map.\n mapId: \"6ff586e93e18149f\",\n });\n const canvas = document.createElement(\"canvas\");\n const infoWindow = new google.maps.InfoWindow({\n content: \"\",\n ariaLabel: \"Raster/Vector\",\n position: center,\n });\n\n infoWindow.open({\n map,\n });\n map.addListener(\"renderingtype_changed\", () =\u003e {\n infoWindow.setContent(`${map.getRenderingType()}`);\n });\n}\n\nwindow.initMap = initMap;https://github.com/googlemaps/js-samples/blob/2683f7366fb27829401945d2a7e27d77ed2df8e5/dist/samples/vector-detector/docs/index.js#L7-L36\n```\n\n\u003cbr /\u003e\n\nYou can also use the WebGL rendering context to check support for WebGL 2: \n\n const canvas = document.createElement(\"canvas\");\n canvas.getContext(\"webgl2\") ? console.log(\"WebGL 2 is supported\") : console.log(\"WebGL 2 is NOT supported\");\n\nLearn other ways to [programmatically detect WebGL rendering context](https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/By_example/Detect_WebGL).\n\nMobile web support\n------------------\n\nMobile web support for vector maps is still experimental. Developers can use\nclient APIs to detect mobile web browsers and use a map ID associated with a\nraster map instead of a vector map. We anticipate slower rendering performance\nfor some mobile devices. If you choose to use vector maps on mobile web, we\nwould greatly appreciate performance statistics and feedback. As above, if\nVector Maps support is not available, a vector map ID will automatically\nfallback to using a raster map.\n\nBugs\n----\n\n### Known bugs\n\n- There is a known issue in Chrome on some macOS devices with AMD GPUs. This can be particularly confusing when macOS dynamically switches between GPUs on devices with multiple GPUs, so vector maps may not be available depending on what other apps are running, or whether an external monitor is connected. Turning on Chrome's upcoming ANGLE Metal backend appears to fix this issue in some cases. You can follow general rollout plans for this at \u003chttps://bugs.chromium.org/p/chromium/issues/detail?id=1322521\u003e.\n\n### Reporting bugs\n\n- Please update the browser and GPU driver to the latest version before reporting the bug.\n- Ensure that the hardware acceleration setting at `chrome://settings/system` (Chrome), `about:preferences#general` (Firefox), `edge://settings/system` (Microsoft Edge) is enabled. In Safari, this setting is enabled automatically in macOS version 10.15 or newer. For older MacOS version(s), please go to the Safari advanced settings and ensure that the \"Use hardware acceleration\" option is enabled.\n- Include [jsfiddle](https://jsfiddle.net/L320szg9/) sample code link in the bug report.\n- Please also take a screenshot of `chrome://gpu` (Chrome), `about:support` (Firefox) or `edge://gpu` (Microsoft Edge), attach GPU related info in bug report if you encounter any rendering issues.\n\nTell us what you think!\n-----------------------\n\nWe value your feedback as we strive to make the best vector map experience for\nyou and your end-users. Please let us know if:\n\n- There are any new JavaScript errors or bugs/crashes that you detect in your web apps.\n- Startup latency for vector maps is significantly worse than that for raster maps. If this is the case, metrics for startup latency regression are very helpful. In general, we want to know if startup latency regresses beyond acceptable thresholds.\n- The vector maps experience is not as smooth as it could be. If you log FPS or jank metrics, how do they compare between vector and raster maps?\n- Performance differs greatly by browser.\n\nIf you have set up A/B testing for a comparison of vector maps vs. raster maps,\nplease share any performance feedback you acquire, as this will be very useful\nto help us refine the feature."]]