Menyesuaikan Peta Konteks Lokal

Dalam contoh ini, kami menerapkan gaya visual peta kustom ke peta dasar. Peta ini melihat Waikiki di Hawaii dan diberi gaya dengan skema warna tropis. Kami juga telah menetapkan maxPlaceCount ke 18 untuk menampilkan lebih banyak POI.

Memahami kode

Mengakses peta dasar

Peta dasar dapat diakses sebagai properti map dari objek google.maps.localContext.LocalContextMapView. Peta ini adalah objek google.maps.Map biasa dan dapat disesuaikan dengan semua parameter dan metode yang tersedia untuk class tersebut. Misalnya, Anda dapat menambahkan penanda kustom dan pemroses peristiwa.

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

Menerapkan gaya kustom

Karena google.maps.localContext.LocalContextMapView.map memiliki gaya default yang berbeda dari Map standar, Anda dapat memilih untuk mengganti gaya default atau menggabungkan gaya kustom dengan default Library Konteks Lokal. Lihat Menata Gaya Peta untuk mengetahui detail selengkapnya.

Untuk menimpa gaya default LocalContextMapView dengan gaya kustom (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,
});

Menambahkan penanda kustom

Contoh ini menggunakan ikon hotel untuk membedakan titik tengah dengan penanda pin merah default. Pelajari lebih lanjut cara menyesuaikan penanda dengan mengubah properti label dan icon dari Marker.

Secara default, penanda ini akan muncul di bawah penanda POI Library Konteks Lokal. Untuk memastikan penanda Library Konteks Lokal tidak mengaburkan penanda kustom, tetapkan properti zIndex penanda ke nilai yang lebih tinggi daripada 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,
});

Mencoba Contoh