Untuk membuat marker cluster pada Google Maps dengan objek polygon dan polyline, Anda dapat mengikuti langkah-langkah berikut. Di Google Maps API, MarkerClusterer
digunakan untuk mengelompokkan marker, namun secara default, marker cluster bekerja dengan marker individu, bukan untuk polygon
atau polyline
. Jadi, pendekatan yang bisa diambil adalah dengan menambahkan marker di lokasi tertentu terkait dengan polygon atau polyline Anda dan menggunakan MarkerClusterer untuk mengelompokkan marker tersebut.
Berikut adalah cara untuk mengimplementasikannya:
1. Setup Dasar Google Maps dan MarkerClusterer
Pastikan Anda sudah mengimpor Google Maps API dan library MarkerClusterer.
<!DOCTYPE html>
<html>
<head>
<title>Marker Clustering with Polygon and Polyline</title>
<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY"></script>
<script src="https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/markerclusterer.js"></script>
<style>
#map {
height: 100%;
width: 100%;
}
html, body {
height: 100%;
margin: 0;
padding: 0;
}
</style>
</head>
<body>
<div id="map"></div>
<script>
function initMap() {
// Membuat peta
const map = new google.maps.Map(document.getElementById("map"), {
zoom: 5,
center: { lat: -6.200000, lng: 106.816666 },
});
// Menambahkan polyline
const polylinePath = new google.maps.Polyline({
path: [
{ lat: -6.2, lng: 106.8 },
{ lat: -6.1, lng: 107.0 },
{ lat: -6.3, lng: 107.2 }
],
geodesic: true,
strokeColor: "#FF0000",
strokeOpacity: 1.0,
strokeWeight: 2,
});
polylinePath.setMap(map);
// Menambahkan polygon
const polygonPath = new google.maps.Polygon({
paths: [
{ lat: -6.5, lng: 106.7 },
{ lat: -6.4, lng: 106.9 },
{ lat: -6.3, lng: 106.7 },
],
strokeColor: "#FF0000",
strokeOpacity: 0.8,
strokeWeight: 2,
fillColor: "#FF0000",
fillOpacity: 0.35,
});
polygonPath.setMap(map);
// Membuat marker untuk polyline dan polygon
const markers = [
new google.maps.Marker({ position: { lat: -6.2, lng: 106.8 }, map: map }),
new google.maps.Marker({ position: { lat: -6.1, lng: 107.0 }, map: map }),
new google.maps.Marker({ position: { lat: -6.3, lng: 107.2 }, map: map }),
// Marker untuk polygon
new google.maps.Marker({ position: { lat: -6.5, lng: 106.7 }, map: map }),
new google.maps.Marker({ position: { lat: -6.4, lng: 106.9 }, map: map }),
new google.maps.Marker({ position: { lat: -6.3, lng: 106.7 }, map: map }),
];
// Menambahkan marker clusterer
const markerCluster = new MarkerClusterer(map, markers, {
imagePath:
"https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m",
});
}
window.onload = initMap;
</script>
</body>
</html>
2.Penjelasan Kode:
+Polyline dan Polygon ditambahkan ke peta dengan Polyline
dan Polygon
constructor.
+Marker diletakkan pada titik-titik yang relevan di sepanjang polyline atau di dalam polygon.
+MarkerClusterer digunakan untuk mengelompokkan marker-marker yang ditempatkan di peta.
Selamat Mencoba 🙂