L'affichage des POIs est dinamique pour les zooms supérieurs à 10

This commit is contained in:
leosw committed 2026-10-17 12:09:17 +02:00
1 parent 642b89517f
commit 5c77ff2c1d
3 files changed
+226 -127

No files matched your search

+12 -2
View File
@@ -113,12 +113,22 @@ switch ($controller->splitted_url[1]) {
}
break;
case "api_list":
case "api_bbox":
// API JSON pour la liste des POIs (carte).
header("Content-Type: application/json; charset=utf-8");
$north = (float)$_GET['north'];
$south = (float)$_GET['south'];
$east = (float)$_GET['east'];
$west = (float)$_GET['west'];
$pois = new Kabano\Pois();
$pois->listPois($user->rankIsHigher("premium") ? 1 : 0);
$pois->listPoisBBOX(
$north,
$south,
$east,
$west,
$user->rankIsHigher("premium") ? 1 : 0);
$out = [];
+12 -4
View File
@@ -397,7 +397,7 @@ class Pois
public $number = 0;
// Liste des POIs publiés (ou archivés si demandé).
public function listPois($archive=0) {
public function listPoisBBOX($n,$s,$e,$w,$archive=0) {
global $config;
// Chargement des POIs avec leurs versions actives.
@@ -442,15 +442,23 @@ class Pois
ON sources.id = specs.source_id
WHERE contents.type = 'poi'
AND content_versions.is_archive = FALSE";
AND content_versions.is_archive = FALSE
AND specs.geom && ST_MakeEnvelope(
$1,
$2,
$3,
$4,
4326
)
";
if ($archive != 1)
$query .= " AND contents.is_public=TRUE ";
$query .= " ORDER BY content_versions.update_date DESC";
pg_prepare($con, "pois_list", $query);
$result = pg_execute($con, "pois_list", []);
pg_prepare($con, "pois_bbox", $query);
$result = pg_execute($con, "pois_bbox", [$w, $s, $e, $n]);
pg_close($con);