Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Esta página lista problemas conhecidos e soluções alternativas para mapas vetoriais e elementos WebGL.
Compatibilidade com navegadores/dispositivos
A prévia do elemento WebGL é compatível com os mesmos navegadores e dispositivos da API Maps JavaScript.
Para verificar se o navegador em um dispositivo específico é compatível com WebGL, acesse get.webgl.org ou caniuse.com (links em inglês). Confira se a aceleração de hardware está ativada nas configurações do navegador. Caso contrário, os mapas vetoriais serão revertidos para rasterizados.
Rasterizado ou vetorial?
Em algumas ocasiões, um mapa vetorial pode ser convertido para rasterizado. Quando isso acontece, os recursos que dependem do mapa vetorial ficam indisponíveis. Essa conversão pode ocorrer por vários motivos. Nesta seção, mostramos como configurar corretamente seu navegador da Web e como verificar de modo programático a possibilidade de usar um mapa vetorial.
Verificar os recursos do navegador no Chrome
Para determinar quais recursos de aceleração de hardware estão habilitados em uma instalação específica do Chrome, acesse chrome://gpu/ e verifique se os seguintes itens estão ativados (em verde):
"OpenGL: Enabled"
"WebGL: Hardware accelerated"
"WebGL2: Hardware accelerated"
Esses são apenas requisitos de referência, porque é possível que haja outros fatores que afetam a compatibilidade. Confira "Bugs conhecidos" abaixo.
Ativar a aceleração de hardware
Para oferecer suporte a mapas vetoriais, a aceleração de hardware precisa estar ativada na maioria dos navegadores. Se quiser habilitar esse recurso no Chrome e no Microsoft Edge, abra Configurações, selecione Sistema e verifique se a opção Usar aceleração de hardware quando disponível está ativada.
Verificar de modo programático se um mapa é rasterizado ou vetorial
É possível fazer isso chamando map.getRenderingType(). Confira no exemplo a seguir o código para monitorar o evento renderingtype_changed e mostrar uma janela de informações que indica se um mapa vetorial ou rasterizado está em uso.
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;
A compatibilidade com a Web para dispositivos móveis em mapas vetoriais está na fase experimental. Os desenvolvedores podem usar APIs de clientes para detectar navegadores para dispositivos móveis e usar um ID de mapa associado a um mapa rasterizado em vez de um mapa vetorial. A renderização vai ser mais lenta em alguns dispositivos móveis. Se você escolher os mapas vetoriais para usar na Web para dispositivos móveis, será ótimo receber estatísticas e feedback sobre a performance. Como mostrado acima, se não houver compatibilidade com mapas vetoriais, um ID de mapa vetorial vai ativar automaticamente um mapa rasterizado substituto.
Bugs
Bugs conhecidos
Existe um problema conhecido no Chrome em alguns dispositivos macOS com GPUs AMD. Isso pode ser particularmente confuso quando o macOS alterna dinamicamente entre GPUs em dispositivos com várias GPUs. Portanto, os mapas vetoriais podem não estar disponíveis dependendo de quais outros aplicativos estão em execução ou caso haja um monitor externo conectado.
Em alguns casos, ativar o back-end ANGLE Metal do Chrome, que será lançado em breve, corrige esse problema. Siga os planos de lançamento gerais em https://bugs.chromium.org/p/chromium/issues/detail?id=1322521.
Informar bugs
Atualize o navegador e o driver da GPU para a versão mais recente antes de informar o bug.
Verifique se a configuração de aceleração de hardware em chrome://settings/system (Chrome), about:preferences#general (Firefox) e edge://settings/system (Microsoft Edge) está ativada. No Safari, essa configuração é ativada automaticamente na versão 10.15 ou mais recente do macOS. Para versões mais antigas do macOS, acesse as configurações avançadas do Safari e verifique se a opção "Usar aceleração de hardware" está ativada.
Inclua o link de exemplo de código jsfiddle no relatório do bug.
Faça uma captura de tela do chrome://gpu (Chrome), about:support (Firefox) ou edge://gpu (Microsoft Edge). Em caso de problemas de renderização, anexe informações relacionadas à GPU no relatório do bug.
O que você acha?
Seu feedback é importante para que possamos oferecer a melhor experiência de mapa vetorial para você e seus usuários finais. Conte para nós se:
Encontrar erros de JavaScript ou bugs/falhas nos seus apps da Web.
A latência de inicialização dos mapas vetoriais for significativamente pior do que a dos mapas rasterizados. Se esse for o caso, as métricas de regressão de latência de inicialização vão ser muito úteis. De modo geral, queremos saber se a latência de inicialização é afetada além de limites aceitáveis.
A experiência dos mapas vetoriais não for simples. Se você registrar métricas de QPS ou instabilidade, quais têm desempenho melhor, as dos mapas vetoriais ou as dos rasterizados?
A performance muda bastante de um navegador para o outro.
Se você configurou o teste A/B para comparar os mapas vetoriais e rasterizados, compartilhe feedbacks de desempenho para aprimorar esse recurso.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 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."]]