diff --git a/app/Http/Controllers/DashboardController.php b/app/Http/Controllers/DashboardController.php index d803875..9aca9e3 100644 --- a/app/Http/Controllers/DashboardController.php +++ b/app/Http/Controllers/DashboardController.php @@ -19,7 +19,9 @@ public function admin() $query->select('indicator_id')->from('rule'); })->count(); $rulesCount = Rule::count(); - return view('dashboard.admin', compact('userCount', 'landCount', 'indicatorCount', 'rulesCount')); + + $evaluations = Evaluation::with('land.detailLands')->get(); + return view('dashboard.admin', compact('userCount', 'landCount', 'indicatorCount', 'rulesCount', 'evaluations')); } public function petugas() diff --git a/public/assets/js/pages/customJs/dashboard/admin.js b/public/assets/js/pages/customJs/dashboard/admin.js new file mode 100644 index 0000000..f86dcdc --- /dev/null +++ b/public/assets/js/pages/customJs/dashboard/admin.js @@ -0,0 +1,48 @@ +var map, googleHybrid, marker, polygon; + +let evaluationElement = document.getElementById("evaluations"); +let evaluation = JSON.parse(evaluationElement.dataset.evaluations); + +document.addEventListener("DOMContentLoaded", function () { + initMap(); + map.invalidateSize(); + setEvaluationToMap(); +}); + +function initMap() { + map = L.map("map", { + attributionControl: false, + }).setView([-8.159774548190976, 113.72305183874593], 10); + + googleHybrid = L.tileLayer( + "http://{s}.google.com/vt?lyrs=y&x={x}&y={y}&z={z}", + { + maxZoom: 20, + subdomains: ["mt0", "mt1", "mt2", "mt3"], + } + ).addTo(map); +} + +function setEvaluationToMap() { + evaluation.forEach((evaluation) => { + let coordinates = evaluation.land.detail_lands.map((detail) => { + return [detail.lat, detail.lng]; + }); + + let cfValue = evaluation.cf_value * 100; + + polygon = L.polygon(coordinates, { + color: "blue", + fillColor: "blue", + fillOpacity: 0.5, + }).addTo(map); + + marker = L.marker(coordinates[0]) + .addTo(map) + .bindPopup( + `
Hasil presentase CF pada lahan
${ + evaluation.land.owner + }
${cfValue.toFixed(2)} %
` + ); + }); +} diff --git a/public/assets/js/pages/customJs/dashboard/petugas.js b/public/assets/js/pages/customJs/dashboard/petugas.js index 04b0843..ed1a167 100644 --- a/public/assets/js/pages/customJs/dashboard/petugas.js +++ b/public/assets/js/pages/customJs/dashboard/petugas.js @@ -1,13 +1,14 @@ -var map, googleSat, marker, polygon; +var map, googleHybrid, marker, polygon; let evaluationElement = document.getElementById("evaluations"); let evaluation = JSON.parse(evaluationElement.dataset.evaluations); document.addEventListener("DOMContentLoaded", function () { - initMap(); - map.invalidateSize(); - console.log(evaluation); - setEvaluationToMap(); + if (evaluation.length > 0) { + initMap(); + map.invalidateSize(); + setEvaluationToMap(); + } }); function initMap() { @@ -15,8 +16,8 @@ function initMap() { attributionControl: false, }).setView([-8.172495095862395, 113.69876818661332], 10); - googleSat = L.tileLayer( - "http://{s}.google.com/vt?lyrs=s&x={x}&y={y}&z={z}", + googleHybrid = L.tileLayer( + "http://{s}.google.com/vt?lyrs=y&x={x}&y={y}&z={z}", { maxZoom: 20, subdomains: ["mt0", "mt1", "mt2", "mt3"], @@ -31,7 +32,6 @@ function setEvaluationToMap() { }); let cfValue = evaluation.cf_value * 100; - console.log(cfValue.toFixed(2)); polygon = L.polygon(coordinates, { color: "blue", diff --git a/resources/views/dashboard/admin.blade.php b/resources/views/dashboard/admin.blade.php index c15666f..309a63c 100644 --- a/resources/views/dashboard/admin.blade.php +++ b/resources/views/dashboard/admin.blade.php @@ -124,6 +124,7 @@
+
@@ -135,15 +136,6 @@ @push('other-js') - + @endpush @endsection diff --git a/resources/views/dashboard/petugas.blade.php b/resources/views/dashboard/petugas.blade.php index 9d085eb..df6bb91 100644 --- a/resources/views/dashboard/petugas.blade.php +++ b/resources/views/dashboard/petugas.blade.php @@ -79,7 +79,13 @@

Peta Lahan

-
+ @if ($evaluations->isEmpty()) +
+
Belum ada penilaian
+
+ @else +
+ @endif