Support

Auf dieser Seite finden Sie Informationen zu bekannten Problemen sowie Problemumgehungen für Vektorkarten und WebGL-Funktionen.

Browser-/Geräteunterstützung

Die WebGL-Funktionsvorschau wird von denselben Browsern und Geräten unterstützt wie die Maps JavaScript API. Ob WebGL im Browser eines bestimmten Geräts unterstützt wird, können Sie unter get.webgl.org oder caniuse.com prüfen. Außerdem muss die Hardwarebeschleunigung in den Browsereinstellungen aktiviert sein. Sonst werden Vektorkarten in Rasterkarten umgewandelt.

Raster oder Vektor?

Manchmal werden Vektorkarten als Ausweichlösung in Rasterkarten umgewandelt. In diesem Fall sind Funktionen, für die die Vektorkarte erforderlich ist, nicht verfügbar. Es kann mehrere Gründe geben, warum eine Rasterkarte in eine Vektorkarte umgewandelt wird. In diesem Abschnitt erfahren Sie, wie Sie Ihren Browser richtig konfigurieren und wie Sie programmatisch prüfen können, ob Vektorkarten unterstützt werden.

Browserfunktionen in Chrome prüfen

Um herauszufinden, welche Funktionen für die Hardwarebeschleunigung in einer bestimmten Chrome-Installation aktiviert sind, rufen Sie chrome://gpu/ auf. Die folgenden Elemente müssen aktiviert (grün) sein:

  • OpenGL: Enabled
  • WebGL: Hardware accelerated
  • WebGL2: Hardware accelerated

Dies sind nur die Grundvoraussetzungen. Es können andere Faktoren zutreffen, die sich auf die Unterstützung auswirken, siehe „Bekannte Programmfehler“ weiter unten.

Hardwarebeschleunigung aktivieren

Damit Vektorkarten dargestellt werden können, muss in den meisten Browsern die Hardwarebeschleunigung aktiviert sein. Um die Hardwarebeschleunigung in Chrome und Microsoft Edge zu aktivieren, rufen Sie die Einstellungen auf und wählen Sie System aus. Hardwarebeschleunigung verwenden, falls verfügbar muss aktiviert sein.

Programmatisch prüfen, ob eine Raster- oder Vektorkarte verwendet wird

Sie können map.getRenderingType() aufrufen, um programmatisch zu prüfen, ob eine Raster- oder Vektorkarte verwendet wird. Das folgende Beispiel zeigt Code zur Überwachung des Ereignisses renderingtype_changed und zur Anzeige eines Infofensters, in dem angegeben wird, ob eine Raster- oder Vektorkarte verwendet wird.

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;

Um zu prüfen, ob WebGL 2 unterstützt wird, können Sie auch den WebGL-Renderingkontext verwenden.

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

Andere Möglichkeiten zum programmatischen Erkennen von WebGL-Renderingkontext finden Sie hier.

Unterstützung im mobilen Web

Die Unterstützung von Vektorkarten im mobilen Web befindet sich noch in einer experimentellen Phase. Entwickler können über Client-APIs den mobilen Webbrowser ermitteln und eine Karten-ID verwenden, die mit einer Rasterkarte und nicht mit einer Vektorkarte verknüpft ist. Bei einigen Mobilgeräten dauert das Rendering voraussichtlich länger. Wenn Sie sich für den Einsatz von Vektorkarten im mobilen Web entscheiden, freuen wir uns auf Ihr Feedback sowie Informationen zur Leistung. Falls Vektorkarten nicht unterstützt werden, wird wie oben beschrieben für eine Vektorkarten-ID automatisch eine Rasterkarte verwendet.

Programmfehler

Bekannte Programmfehler

  • Es gibt ein bekanntes Problem in Chrome bei einigen macOS-Geräten mit AMD-GPUs. Das Problem kann besonders schwer durchschaubar sein, wenn macOS bei Geräten mit mehreren GPUs dynamisch zwischen GPUs wechselt, sodass Vektorkarten eventuell nicht verfügbar sind, wenn bestimmte andere Anwendungen laufen oder ein externer Bildschirm angeschlossen ist. In manchen Fällen scheint es zu helfen, das für Chrome angekündigte ANGLE Metal-Backend in Chrome zu aktivieren. Allgemeine Pläne für das Roll-out finden Sie unter https://bugs.chromium.org/p/chromium/issues/detail?id=1322521.

Fehler melden

  • Aktualisieren Sie den Browser und GPU-Treiber auf die neueste Version, bevor Sie den Fehler melden.
  • Die Einstellung für die Hardwarebeschleunigung muss unter chrome://settings/system (Chrome), about:preferences#general (Firefox) oder edge://settings/system (Microsoft Edge) aktiviert sein. In Safari ist sie ab macOS-Version 10.15 automatisch aktiviert. Rufen Sie bei älteren macOS-Versionen die erweiterten Safari-Einstellungen auf und sehen Sie nach, ob die Option zur Nutzung der Hardwarebeschleunigung aktiviert ist.
  • Geben Sie im Fehlerbericht den Link zum JSFiddle-Beispielcode an.
  • Falls Probleme beim Rendering auftreten, machen Sie einen Screenshot von chrome://gpu (Chrome), about:support (Firefox) oder edge://gpu (Microsoft Edge) und fügen Sie Informationen zur GPU an den Fehlerbericht an.

Feedback geben

Ihr Feedback ist uns wichtig, weil wir möchten, dass die Nutzung von Vektorkarten für Sie und Ihre Endnutzer möglichst reibungslos funktioniert. Bitte wenden Sie sich an uns, wenn Folgendes zutrifft:

  • Sie haben in Ihren Webanwendungen neue JavaScript-Fehler, allgemeine Fehler oder Abstürze festgestellt.
  • Die Latenz beim Start ist bei Vektorkarten erheblich schlechter als bei Rasterkarten. In diesem Fall ist es hilfreich, wenn Sie uns Messwerte für die Regression der Startlatenz senden. In der Regel möchten wir von Ihnen wissen, ob die Startlatenz die zulässigen Grenzwerte überschreitet.
  • Die Vektorkarten funktionieren nicht wie erwartet. Wie unterscheiden sich die Messwerte zur Framerate oder zu Verzögerungen zwischen Vektor- und Rasterkarten?
  • Die Leistung kann je nach Browser stark variieren.

Wenn Sie A/B-Tests für einen Vergleich zwischen Vektor- und Rasterkarten eingerichtet haben, teilen Sie uns bitte Feedback zur Leistung mit. Das hilft uns, die Funktion gezielt weiterzuentwickeln.