با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
این صفحه مشکلات و راه حل های شناخته شده برای نقشه های برداری و ویژگی های WebGL را فهرست می کند.
پشتیبانی از مرورگر/دستگاه
پیش نمایش ویژگی WebGL از همان مرورگرها و دستگاه هایی مانند Maps JavaScript API پشتیبانی می کند. برای بررسی اینکه آیا مرورگر یک دستگاه خاص از WebGL پشتیبانی می کند یا خیر، از get.webgl.org یا caniuse.com دیدن کنید. لطفاً مطمئن شوید که شتاب سختافزاری در تنظیمات مرورگر فعال است، در غیر این صورت نقشههای برداری به حالت شطرنجی برمیگردند.
رستر یا وکتور؟
گاهی اوقات، یک نقشه برداری ممکن است به حالت شطرنجی بازگردد. وقتی این اتفاق میافتد، ویژگیهای بسته به نقشه برداری در دسترس نیستند. بازگشت به نقشه شطرنجی ممکن است به دلایل مختلفی رخ دهد. این بخش به شما نشان می دهد که چگونه مرورگر وب خود را به درستی پیکربندی کنید، و چگونه به صورت برنامه نویسی بررسی کنید که آیا قابلیت نقشه برداری وجود دارد یا خیر.
قابلیت های مرورگر را در کروم بررسی کنید
برای تعیین اینکه کدام قابلیتهای شتاب سختافزاری در یک نصب خاص Chrome فعال هستند، به chrome://gpu/ بروید و مطمئن شوید که موارد زیر فعال هستند (به رنگ سبز):
"OpenGL: فعال"
"WebGL: سخت افزار شتاب گرفت"
"WebGL2: سخت افزار تسریع شده"
(اینها فقط الزامات اولیه هستند، عوامل دیگری می تواند بر پشتیبانی تأثیر بگذارد، به «اشکالات شناخته شده» در زیر مراجعه کنید.)
فعال کردن شتاب سخت افزاری
برای پشتیبانی از نقشه های برداری، شتاب سخت افزاری باید در اکثر مرورگرها فعال باشد. برای فعال کردن شتاب سختافزاری در کروم و مایکروسافت اج، تنظیمات را باز کنید، سیستم را انتخاب کنید و مطمئن شوید که استفاده از شتاب سختافزار در زمان موجود فعال است.
با فراخوانی 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. */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;
پشتیبانی وب موبایل برای نقشه های برداری هنوز آزمایشی است. توسعه دهندگان می توانند از API های سرویس گیرنده برای شناسایی مرورگرهای وب تلفن همراه استفاده کنند و به جای نقشه برداری، از شناسه نقشه مرتبط با نقشه شطرنجی استفاده کنند. ما عملکرد رندر کندتر را برای برخی از دستگاه های تلفن همراه پیش بینی می کنیم. اگر تصمیم به استفاده از نقشه های برداری در وب تلفن همراه دارید، از آمار عملکرد و بازخورد بسیار قدردانی خواهیم کرد. همانطور که در بالا ذکر شد، اگر پشتیبانی از نقشه برداری در دسترس نباشد، شناسه نقشه برداری به طور خودکار به استفاده از نقشه شطرنجی بازگشته است.
اشکالات
اشکالات شناخته شده
مشکلی در Chrome در برخی از دستگاههای macOS با پردازندههای گرافیکی AMD وجود دارد. هنگامی که macOS به طور پویا بین GPUها در دستگاههایی با چندین پردازنده گرافیکی سوئیچ میکند، این امر میتواند گیجکننده باشد، بنابراین بسته به اینکه چه برنامههایی در حال اجرا هستند یا اینکه یک مانیتور خارجی متصل است، نقشههای برداری ممکن است در دسترس نباشند. به نظر می رسد روشن کردن باطن ANGLE Metal آینده کروم در برخی موارد این مشکل را برطرف می کند. میتوانید برنامههای عمومی برای این کار را در https://bugs.chromium.org/p/chromium/issues/detail?id=1322521 دنبال کنید.
گزارش اشکالات
لطفاً قبل از گزارش اشکال، مرورگر و درایور GPU را به آخرین نسخه به روز کنید.
مطمئن شوید که تنظیمات شتاب سختافزار در chrome://settings/system (Chrome)، about:preferences#general (Firefox)، edge://settings/system (Microsoft Edge) فعال است. در Safari، این تنظیم به طور خودکار در macOS نسخه 10.15 یا جدیدتر فعال می شود. برای نسخه(های) MacOS قدیمی، لطفاً به تنظیمات پیشرفته Safari بروید و مطمئن شوید که گزینه "Use hardware acceleration" فعال است.
لینک کد نمونه jsfiddle را در گزارش اشکال وارد کنید.
لطفاً یک اسکرین شات از chrome://gpu (Chrome)، about:support (Firefox) یا edge://gpu (Microsoft Edge) نیز بگیرید، اگر با هر گونه مشکل رندر مواجه شدید، اطلاعات مربوط به GPU را در گزارش اشکال پیوست کنید.
به ما بگویید چه فکر می کنید!
ما برای بازخورد شما ارزش قائل هستیم زیرا در تلاشیم تا بهترین تجربه نقشه برداری را برای شما و کاربران نهایی شما ایجاد کنیم. لطفا به ما اطلاع دهید اگر:
هر گونه خطای جدید جاوا اسکریپت یا اشکالات / خرابی هایی که در برنامه های وب خود شناسایی می کنید وجود دارد.
تأخیر راه اندازی برای نقشه های برداری به طور قابل توجهی بدتر از نقشه های شطرنجی است. اگر اینطور باشد، معیارهای رگرسیون تاخیر راه اندازی بسیار مفید هستند. به طور کلی، میخواهیم بدانیم که آیا تأخیر استارتآپ از آستانههای قابل قبول پسرفت میکند یا خیر.
تجربه نقشه های برداری آنقدر که می تواند صاف نیست. اگر متریک های FPS یا jank را ثبت کنید، چگونه بین نقشه های برداری و شطرنجی مقایسه می شوند؟
عملکرد بر اساس مرورگر بسیار متفاوت است.
اگر آزمایش A/B را برای مقایسه نقشههای برداری با نقشههای شطرنجی تنظیم کردهاید، لطفاً هر گونه بازخورد عملکردی را که به دست میآورید به اشتراک بگذارید، زیرا این برای کمک به اصلاح ویژگی بسیار مفید خواهد بود.
تاریخ آخرین بهروزرسانی 2025-08-29 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 2025-08-29 بهوقت ساعت هماهنگ جهانی."],[[["\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."]]