WebGIS Pontianak
= strtoupper($role) ?>
Kelola Laporan
Histori Bantuan
= htmlspecialchars($initials) ?>
= htmlspecialchars($user_nama) ?>
Keluar
Kontrol Lapisan
3
WebGIS
Peta Sosial & Warga
Pontianak
Peta Dasar
Peta Jalan
Satelit
Tambah Data
Rumah Ibadah
Warga
Laporan
Data Spasial
Rumah Ibadah
Titik lokasi rumah ibadah
Warga Miskin
Sebaran penduduk miskin
Pengaduan Warga
Laporan & aduan masyarakat
Data berhasil disimpan!
0) { while ($d = mysqli_fetch_assoc($q)) { list($lat, $lng) = ambilKoordinatBersih($d); if ($lat == 0 || $lng == 0) continue; $rad = !empty($d['radius_meter']) ? (int)$d['radius_meter'] : 500; $masjids[] = ['lat'=>$lat,'lng'=>$lng,'radius'=>$rad]; $nama_masjid = htmlspecialchars($d['nama_masjid'] ?? 'Rumah Ibadah', ENT_QUOTES); $nama_pic = htmlspecialchars($d['nama_pic'] ?? '-', ENT_QUOTES); $id = (int)$d['id']; $popup = "
{$nama_masjid}
" . "
PIC:
{$nama_pic}
Jangkauan:
{$rad} Meter" . "
" . "
" . "
" . "
Set
" . "
" . "
Edit
" . "
Hapus
"; $popupJs = json_encode($popup); echo "\n"; } } // ========================================================================= // 2. DATA PENDUDUK MISKIN // ========================================================================= $q = mysqli_query($conn, "SELECT * FROM penduduk_miskin ORDER BY id DESC"); if ($q && mysqli_num_rows($q) > 0) { while ($d = mysqli_fetch_assoc($q)) { list($lat, $lng) = ambilKoordinatBersih($d); if ($lat == 0 || $lng == 0) continue; $dalamRadius = false; foreach ($masjids as $m) { $R = 6371000; $dLat = deg2rad($lat-$m['lat']); $dLng = deg2rad($lng-$m['lng']); $a = sin($dLat/2)*sin($dLat/2)+cos(deg2rad($m['lat']))*cos(deg2rad($lat))*sin($dLng/2)*sin($dLng/2); if (($R*2*atan2(sqrt($a),sqrt(1-$a))) <= $m['radius']) { $dalamRadius = true; break; } } $hexColor = $dalamRadius ? '#6366f1' : '#db2777'; $zoneText = $dalamRadius ? "
Terjangkau Radius
" : "
Luar Radius
"; $nama_kk = htmlspecialchars($d['nama_kk'] ?? 'Warga', ENT_QUOTES); $alamat = htmlspecialchars($d['alamat'] ?? '-', ENT_QUOTES); $penyakit = htmlspecialchars($d['riwayat_penyakit'] ?? '-', ENT_QUOTES); $tgl_lahir = !empty($d['tanggal_lahir']) ? date('d M Y', strtotime($d['tanggal_lahir'])) : '-'; $rad_warga = !empty($d['radius_warga']) ? (int)$d['radius_warga'] : 300; $id = (int)$d['id']; $popup = "
{$nama_kk}
" . "
" . "
Alamat:
{$alamat}
" . "
Tgl Lahir:
{$tgl_lahir}
" . "
Riwayat Penyakit:
{$penyakit}
" . $zoneText . "
" . "
" . "
" . "
Set
" . "
" . "
Edit
" . "
Hapus
" . "
" . "
Buat Laporan
"; $popupJs = json_encode($popup); echo "\n"; } } // ========================================================================= // 3. DATA LAPORAN CEPAT // ========================================================================= $q = mysqli_query($conn, "SELECT * FROM laporan_cepat ORDER BY tgl_lapor DESC"); if ($q && mysqli_num_rows($q) > 0) { while ($d = mysqli_fetch_assoc($q)) { list($lat, $lng) = ambilKoordinatBersih($d); if ($lat == 0 || $lng == 0) continue; $nama_pelapor = htmlspecialchars($d['nama_pelapor'] ?? 'Anonim', ENT_QUOTES); $kategori = htmlspecialchars($d['kategori'] ?? '-', ENT_QUOTES); $deskripsi = htmlspecialchars(substr($d['deskripsi'] ?? '-', 0, 100), ENT_QUOTES); $status = $d['status'] ?? 'Masuk'; $statusColor = ['Masuk'=>'#d97706','Diproses'=>'#2563eb','Selesai'=>'#16a34a'][$status] ?? '#64748b'; $tgl = date('d M Y', strtotime($d['tgl_lapor'])); $id = (int)$d['id']; $popup = "
Laporan Cepat
" . "
" . "
Pelapor:
{$nama_pelapor}
" . "
Kategori:
{$kategori}
" . "
Laporan:
{$deskripsi}
" . "
Tanggal:
{$tgl}
" . "
" . "
{$status}
" . "
" . "
" . "
Edit
" . "
Hapus
" . "
"; $popupJs = json_encode($popup); echo "\n"; } } // Fallback tabel pengaduan_warga lama $q2 = mysqli_query($conn, "SHOW TABLES LIKE 'pengaduan_warga'"); if ($q2 && mysqli_num_rows($q2) > 0) { $q = mysqli_query($conn, "SELECT * FROM pengaduan_warga ORDER BY id DESC"); if ($q && mysqli_num_rows($q) > 0) { while ($d = mysqli_fetch_assoc($q)) { list($lat, $lng) = ambilKoordinatBersih($d); if ($lat == 0 || $lng == 0) continue; $nama_pelapor = htmlspecialchars($d['nama_pelapor'] ?? 'Anonim', ENT_QUOTES); $aduan = htmlspecialchars($d['deskripsi_laporan'] ?? '-', ENT_QUOTES); $id = (int)$d['id']; $popup = "
Laporan Warga
" . "
Pelapor:
{$nama_pelapor}
Aduan:
{$aduan}
" . "
" . "
Edit
" . "
Hapus
"; $popupJs = json_encode($popup); echo "\n"; } } } ?>