Lokale Kontextkarte anpassen

In diesem Beispiel werden benutzerdefinierte Kartenstile auf die Basiskarte angewendet. Diese Karte zeigt Waikiki auf Hawaii und hat ein tropisches Farbschema. Außerdem wurde maxPlaceCount auf 18 gesetzt, um mehr POIs anzuzeigen.

Code verstehen

Auf die Basiskarte zugreifen

Auf die Basiskarte kann über das map-Attribut eines google.maps.localContext.LocalContextMapView-Objekts zugegriffen werden. Diese Karte ist ein reguläres google.maps.Map-Objekt und kann mit allen Parametern und Methoden angepasst werden, die für diese Klasse verfügbar sind. So lassen sich beispielsweise benutzerdefinierte Markierungen und Ereignis-Listener hinzufügen.

var marker = new google.maps.Marker({position: center, map:  localContextMapView.map});
localContextMapView.map.addListener('click', () => {
    localContextMapView.hidePlaceDetailsView();
  });

Benutzerdefinierte Stile anwenden

Die Standardstile eines google.maps.localContext.LocalContextMapView.map-Objekts unterscheiden sich von denen eines Standard-Map-Objekts. Sie können die Standardstile entweder überschreiben oder Ihren benutzerdefinierten Stil mit den Standardstilen der lokalen Kontextbibliothek zusammenführen. Weitere Informationen finden Sie unter Karte gestalten.

So ergänzen Sie die Standardstile von LocalContextMapView mit benutzerdefinierten Stilen (stylesArray):

TypeScript

// Merge map styles.
const mergedStyles = map.get("styles").concat(styles);

map.setOptions({
  center: center,
  zoom: 14,
  styles: mergedStyles,
});

JavaScript

// Merge map styles.
const mergedStyles = map.get("styles").concat(styles);

map.setOptions({
  center: center,
  zoom: 14,
  styles: mergedStyles,
});

Benutzerdefinierte Markierung hinzufügen

In diesem Beispiel wird ein Hotelsymbol verwendet, um den Mittelpunkt von der standardmäßigen roten Markierung zu unterscheiden. Lesen Sie sich durch, wie Sie eine Markierung (Marker) anpassen können, indem Sie deren label- und icon-Attribut ändern.

Standardmäßig werden diese Markierungen unter den POI-Markierungen der lokalen Kontextbibliothek angezeigt. Damit die Markierungen der lokalen Kontextbibliothek die benutzerdefinierte Markierung nicht verdecken, setzen Sie das Attribut zIndex auf einen höheren Wert als maxPlaceCount.

TypeScript

// Add a marker at the center point
new google.maps.Marker({
  position: center,
  map: map,
  icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAdUlEQVR4AWMYOWAU/AfhYWMBCxA3A/FlIN4MxN7I6gjg80DcD8QC+CzIxqIxH6aOSHwfYQmmBZexuQymjgTcj8uCz1gUHybDgvO4LFiMRXE4GRb8x2UBDxCXQ8PxPdSrLNSxAD+g3ALCeNQCKoHhZcHAg1EAAM3cyWj3TGxhAAAAAElFTkSuQmCC",
  zIndex: 30,
});

JavaScript

// Add a marker at the center point
new google.maps.Marker({
  position: center,
  map: map,
  icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAdUlEQVR4AWMYOWAU/AfhYWMBCxA3A/FlIN4MxN7I6gjg80DcD8QC+CzIxqIxH6aOSHwfYQmmBZexuQymjgTcj8uCz1gUHybDgvO4LFiMRXE4GRb8x2UBDxCXQ8PxPdSrLNSxAD+g3ALCeNQCKoHhZcHAg1EAAM3cyWj3TGxhAAAAAElFTkSuQmCC",
  zIndex: 30,
});

Testbeispiel