Na tej stronie znajdziesz znane problemy i sposoby obejścia problemów z mapami wektorowymi i funkcjami WebGL.
Obsługa przeglądarek/urządzeń
Wersja testowa funkcji WebGL działa w tych samych przeglądarkach i na tych samych urządzeniach co interfejs Maps JavaScript API. Aby sprawdzić, czy przeglądarka na danym urządzeniu będzie obsługiwać WebGL, wejdź na get.webgl.org lub caniuse.com. Upewnij się również, że akceleracja sprzętowa jest włączona w ustawieniach przeglądarki. W przeciwnym razie mapy wektorowe zostanie przełączony na format rastrowy.
Raster czy wektor?
Czasami mapa wektorowa może wrócić do mapy rastrowej. W takim przypadku funkcje zależne od mapy wektorowej. Może wystąpić błąd mapy rastrowej z różnych powodów. Z tej sekcji dowiesz się, jak prawidłowo skonfigurować ustawienia. przeglądarki i sposobu automatycznego sprawdzania, czy mapa wektorowa mają duże możliwości.
Sprawdzanie możliwości przeglądarki Chrome
Aby określić, które funkcje akceleracji sprzętowej są włączone w danym zainstaluj Chrome, otwórz chrome://gpu/ i sprawdź, które są włączone (zaznaczone na zielono):
- „OpenGL: włączono”
- „WebGL: akceleracja sprzętowa”
- „WebGL2: akcelerowana sprzętowa”
(Są to jedynie wymagania podstawowe. Istnieją też inne czynniki, które mogą pomoc w rozwiązaniu problemu, patrz „Znane błędy” below.)
Włącz akcelerację sprzętową
Aby możliwe było korzystanie z map wektorowych, w większości krajów musi być włączona akceleracja sprzętowa przeglądarki. Aby włączyć akcelerację sprzętową w Chrome i Microsoft Edge, otwórz Ustawienia, wybierz System i upewnij się, że opcja Użyj akceleracji sprzętowej gdy ta funkcja jest dostępna.
- Dowiedz się, jak zmienić ustawienia witryn w Safari.
- Dowiedz się więcej o ustawieniach wydajności Firefoksa.
Programowe sprawdzanie rastrów lub wektorów
Możesz programowo sprawdzić, czy mapa jest rastrowa, czy wektorowa,
Dzwonię pod map.getRenderingType()
. Poniżej znajduje się przykład kodu do monitorowania
zdarzenie renderingtype_changed
i wyświetli okno informacyjne,
rastrowa lub wektorowa.
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;
Możesz też użyć kontekstu renderowania WebGL, aby sprawdzić obsługę WebGL 2:
const canvas = document.createElement("canvas");
canvas.getContext("webgl2") ? console.log("WebGL 2 is supported") : console.log("WebGL 2 is NOT supported");
Poznaj inne sposoby automatycznego wykrywania kontekstu renderowania WebGL.
Obsługa internetu mobilnego
Obsługa map wektorowych w internecie mobilnym jest wciąż w fazie eksperymentalnej. Programiści mogą używać interfejsów API klienckich do wykrywania przeglądarek mobilnych i użycia identyfikatora mapy powiązanego z na mapie rastrowej, a nie wektorowej. Przewidujemy wolniejsze renderowanie. na niektórych urządzeniach mobilnych. Jeśli zdecydujesz się korzystać z map wektorowych w przeglądarce mobilnej, bardzo cenimy sobie statystyki skuteczności i opinie. Tak jak powyżej, jeśli Obsługa map wektorowych nie jest dostępna. Identyfikator mapy wektorowej zostanie automatycznie zamiast mapy rastrowej.
Błędy
Znane błędy
- Na niektórych urządzeniach z systemem macOS i procesorami graficznymi AMD występuje znany problem w Chrome. Może to spowodować mogą być mylące, gdy macOS dynamicznie przełącza się między procesorami graficznymi z wieloma procesorami graficznymi i mapy wektorowe mogą być niedostępne w zależności od jakie są uruchomione inne aplikacje i czy jest podłączony monitor zewnętrzny. Włączenie nadchodzącego backendu ANGLE Metal w Chrome prawdopodobnie rozwiąże ten problem w: w niektórych przypadkach. Ogólne plany wdrażania znajdziesz na stronie https://bugs.chromium.org/p/chromium/issues/detail?id=1322521.
Zgłaszanie błędów
- Zanim zgłosisz błąd, zaktualizuj przeglądarkę i sterownik GPU do najnowszej wersji.
- Upewnij się, że ustawienie akceleracji sprzętowej na urządzeniach
chrome://settings/system
(Chrome),about:preferences#general
(Firefox) iedge://settings/system
(Microsoft Edge) jest włączone. W Safari to ustawienie jest włączane automatycznie w systemie macOS 10.15 lub nowszym. W przypadku starszych wersji systemu macOS otwórz ustawienia zaawansowane w Safari i zaznacz opcję „Użyj akceleracji sprzętowej” jest włączona. - Dołącz do raportu o błędzie link do przykładowego kodu jsfiddle.
- Zrób też zrzut ekranu przeglądarki
chrome://gpu
(Chrome),about:support
(Firefox) lubedge://gpu
(Microsoft Edge). Jeśli napotkasz problemy z renderowaniem, dołącz informacje dotyczące GPU w raporcie o błędzie.
Chcemy poznać wasze opinie
Twoja opinia jest dla nas ważna, ponieważ staramy się ulepszać mapy wektorowe Tobie i Twoim użytkownikom. Poinformuj nas, czy:
- wykryliśmy nowe błędy JavaScript lub usterki/awarie wykryte w aplikacji internetowych.
- Czas oczekiwania na uruchomienie w przypadku map wektorowych jest znacznie mniejszy niż w przypadku map rastrowych map. W takim przypadku wskaźniki regresji czasu oczekiwania na uruchomienie są bardzo pomocne. Ogólnie rzecz biorąc, chcemy wiedzieć, czy czas oczekiwania na uruchomienie pogarsza się po akceptowalne progi.
- Korzystanie z map wektorowych nie jest tak płynne, jak byłoby to możliwe. Jeśli rejestrujesz klatki na sekundę lub Jakie są różnice między mapami wektorowymi i rastrowymi?
- Wydajność różni się znacznie w zależności od przeglądarki.
Jeśli skonfigurowano Testy A/B dla porównania map wektorowych z mapami rastrowymi, prześlij nam swoją opinię na temat skuteczności. Będzie nam ona bardzo przydatna aby pomóc nam ulepszyć tę funkcję.