'success', 'spbu' => [], 'polyline' => [], 'polygon' => [], ]; // ─── Ambil data SPBU ───────────────────────────────────────────────────────── $query_spbu = "SELECT id, nama_spbu, status_ramai, buka_24_jam, status_operasional, nomor_hp, latitude, longitude FROM spbu ORDER BY id ASC"; $res = $koneksi->query($query_spbu); if ($res) { while ($row = $res->fetch_assoc()) { // Cast tipe data numerik $row['id'] = (int)$row['id']; $row['latitude'] = (float)$row['latitude']; $row['longitude'] = (float)$row['longitude']; $result['spbu'][] = $row; } $res->free(); } else { $result['status'] = 'partial_error'; $result['error_spbu'] = $koneksi->error; } // ─── Ambil data Polyline ────────────────────────────────────────────────────── $query_poly = "SELECT id, nama_line, keterangan, warna, koordinat FROM polyline ORDER BY id ASC"; $res = $koneksi->query($query_poly); if ($res) { while ($row = $res->fetch_assoc()) { $row['id'] = (int)$row['id']; // Decode koordinat JSON → array, kembalikan sebagai array PHP (akan di-encode ulang ke JSON) $row['koordinat'] = json_decode($row['koordinat'], true); $result['polyline'][] = $row; } $res->free(); } else { $result['status'] = 'partial_error'; $result['error_polyline'] = $koneksi->error; } // ─── Ambil data Polygon ─────────────────────────────────────────────────────── $query_pgon = "SELECT id, nama_polygon, keterangan, warna, koordinat FROM polygon ORDER BY id ASC"; $res = $koneksi->query($query_pgon); if ($res) { while ($row = $res->fetch_assoc()) { $row['id'] = (int)$row['id']; $row['koordinat'] = json_decode($row['koordinat'], true); $result['polygon'][] = $row; } $res->free(); } else { $result['status'] = 'partial_error'; $result['error_polygon'] = $koneksi->error; } $koneksi->close(); echo json_encode($result);