diff --git a/app/Http/Controllers/Api/TourismController.php b/app/Http/Controllers/Api/TourismController.php index 041d77e..3a20e69 100644 --- a/app/Http/Controllers/Api/TourismController.php +++ b/app/Http/Controllers/Api/TourismController.php @@ -110,7 +110,7 @@ class TourismController extends Controller { $locations = Tourism::whereNotNull('longitude') ->whereNotNull('latitude') - ->select('longitude', 'latitude') + ->select('project_name', 'longitude', 'latitude') ->get(); return response()->json([ diff --git a/resources/js/dashboards/pbg.js b/resources/js/dashboards/pbg.js index 628de88..5967118 100644 --- a/resources/js/dashboards/pbg.js +++ b/resources/js/dashboards/pbg.js @@ -76,10 +76,38 @@ document.addEventListener("DOMContentLoaded", async function () { updatePieChart(dataSeriesPieChart, labelsPieChart); - // Load all location + // Load all Tourism location const allLocation = await getAllLocation(); console.log(allLocation); + // Filter hanya data yang memiliki angka valid + let validLocations = allLocation.dataLocation.filter(loc => { + return !isNaN(parseFloat(loc.longitude)) && !isNaN(parseFloat(loc.latitude)); + }); + + // Ubah string ke float + validLocations = validLocations.map(loc => ({ + name: loc.project_name, + longitude: parseFloat(loc.longitude), + latitude: parseFloat(loc.latitude) + })); + + console.log(validLocations.name) + + // Inisialisasi peta + var map = L.map('map').setView([-7.0230, 107.5275], 10); + L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { + attribution: '© OpenStreetMap contributors' + }).addTo(map); + + // Tambahkan marker ke peta + validLocations.forEach(function(loc) { + L.marker([loc.latitude, loc.longitude]) + .addTo(map) + .bindPopup(`${loc.name}`) // Popup saat diklik + .bindTooltip(loc.name, { permanent: false, direction: "top" }); // Tooltip saat di-hover + }); + // Realisasi terbit PBG const totalRealisasiTerbitPBG = document.getElementById("realisasi-terbit-pbg"); if (!totalRealisasiTerbitPBG) return; diff --git a/resources/views/dashboards/pbg.blade.php b/resources/views/dashboards/pbg.blade.php index 2915f1a..5baf94c 100644 --- a/resources/views/dashboards/pbg.blade.php +++ b/resources/views/dashboards/pbg.blade.php @@ -1,6 +1,7 @@ @extends('layouts.vertical', ['subtitle' => 'Dashboard']) @section('css') + @vite(['node_modules/gridjs/dist/theme/mermaid.min.css']) @endsection @section('content') @@ -207,8 +208,7 @@
-
-
+
@@ -319,5 +319,6 @@ @endsection @section('scripts') + @vite(['resources/js/dashboards/pbg.js']) @endsection \ No newline at end of file