1. Latar Belakang
Setelah peta dasar berhasil ditampilkan, muncul kebutuhan berikutnya, yaitu bagaimana cara menampilkan lokasi-lokasi penting seperti tempat wisata secara langsung pada peta tersebut. Hal ini menjadi langkah lanjutan agar peta tidak hanya berfungsi sebagai tampilan visual, tetapi juga memiliki nilai informasi. Oleh karena itu, diperlukan penambahan marker sebagai penanda titik lokasi, sehingga pengguna dapat mengetahui posisi suatu tempat sekaligus memperoleh informasi terkait secara langsung.
2. Alat dan Bahan
A. Perangkat Lunak
B. Perangkat Keras
3. Pembahasan
3.1 Konsep Marker pada Peta Digital
Marker merupakan penanda yang digunakan untuk menunjukkan lokasi tertentu pada peta digital. Dalam konteks Smart City, marker digunakan untuk merepresentasikan berbagai titik penting seperti tempat wisata, fasilitas publik, maupun pusat kota. Dengan adanya marker, pengguna dapat dengan mudah mengetahui lokasi serta informasi terkait tanpa harus mencari secara manual.
Nah, Library Leaflet memiliki fitur marker untuk para
pengembang dan menyediakan kebebasan kita untuk mengkostumisasi
bentuk-bentuk dari marker tersebut.
|
|
| Contoh Marker di Leaflet |
3.2 Implementasi Marker pada Leaflet
wisataData.forEach((w) => {
const marker = L.marker([w.lat, w.lng])
.addTo(map)
.bindPopup(w.nama);
});Penjelasan:
wisataData -> berisi data lokasi wisata
L.marker() -> membuat marker berdasarkan koordinat
.addTo(map) -> menampilkan marker ke peta
.bindPopup() -> menampilkan informasi saat marker diklik3.3 Penyesuaian Tampilan Marker
const makeIcon = (color) => L.divIcon({
html: ``,
iconSize: [14, 14],
});
L.marker([w.lat, w.lng], { icon: makeIcon('#5d93c7') }).addTo(map);
L.divIcon() -> membuat icon marker custom di pusat kotacolor -> membedakan jenis lokasi3.4 Menampilkan Popup Informasi
L.marker([w.lat, w.lng])
.addTo(map)
.bindPopup(`
${w.nama}
${w.kecamatan}
`);.bindPopup() ->menampilkan informasiw.nama dan w.kecamatan -> 2 data dummy yang dibuat di mockData.js3.5 Interaksi Marker dengan URL (Fitur Fly To Lokasi)
const flyLat = parseFloat(searchParams.get('lat'));
const flyLng = parseFloat(searchParams.get('lng'));
if (flyLat && flyLng) {
map.flyTo([flyLat, flyLng], 16);
}
searchParams -> mengambil data dari URL
flyTo() -> memindahkan fokus peta.png)
0 Comments