GIS limiter les points

Bonsoir,
je prends en main GIS et je ne comprends pas pourquoi les cartes affichent tous les points de la table GIS.
la boucle de mon squelette :

<BOUCLE_gis(GIS){id_fiche=#ENV{id_fiche}}>
[(#INCLURE{fond=modeles/carte_gis,lat=#LAT,lon=#LON,zoom=#ZOOM,limit=10,
overview=oui,fullscreen=oui,tooltip=oui,
titre=#NOM,description=#DESCRIPTIF})]
#SET{gis,#ID_GIS}
</BOUCLE_gis>

Les balises #LAT, #LON, #ZOOM, #ID_GIS retournent les bonnes valeurs,
si je fixe limit=1, j'ai uniquement le premier enregistrement.

le code généré :

<div id="map1" class="carte_gis" style="width:100%; height:400px;"></div>
<script type="text/javascript">/*<![CDATA[*/
var map1;
var jQgisloader;
(function (){
if (typeof jQuery.ajax == "undefined"){jQuery(init_gis);}else {init_gis();}
function init_gis(){
// Charger le javascript de GIS une seule fois si plusieurs carte
if (typeof jQgisloader=="undefined"){
jQgisloader = jQuery.ajax({url: 'local/cache-js/jsdyn-javascript_gis_js-ed81287d.js?1581695868', dataType: 'script', cache: true});
}
// et initialiser la carte (des que js GIS charge et des que DOM ready)
jQgisloader.done(function(){
jQuery(function(){
map1 = new L.Map.Gis('map1',{
mapId: '1',
callback: (typeof(callback_map1) === "function") ? callback_map1 : false,
center: [47.637434,-1.238261],
zoom: 15,
scrollWheelZoom: true,
zoomControl: true,
fullscreenControl: true,
scaleControl: false,
overviewControl:true,
layersControl: true,
layersControlOptions: {
collapsed: true
},
noControl: false,
utiliser_bb: false,
affiche_points: true,
json_points:{
url: 'http://localhost/sites/sj2v/spip.php?page=gis_json’,
limit: 10,
env: {"id_fiche":"2"},
titre: "2B R\u00e9novation",
description: "",
icone: ""
},
tooltip: true,
cluster: false,
clusterOptions: {
disableClusteringAtZoom: null,
showCoverageOnHover: false,
spiderfyOnMaxZoom: false,
maxClusterRadius: 80,
singleMarkerMode: false
},
pathStyles: null,
autocenterandzoom: false,
openId: false,
localize_visitor: false,
localize_visitor_zoom: 15,
centrer_fichier: true,
kml: false,
gpx: false,
geojson: false,
topojson: false,
options:
});
});
});
}

})()
/*]]>*/
</script>
</div>

c'est un cas connu ? ça vous parle ?
Cordialement

Le 14/02/2020 à 17:28, Escurel a écrit :

Bonsoir,
je prends en main GIS et je ne comprends pas pourquoi les cartes affichent tous les points de la table GIS.
la boucle de mon squelette :

<BOUCLE_gis(GIS){id_fiche=#ENV{id_fiche}}>
[(#INCLURE{fond=modeles/carte_gis,lat=#LAT,lon=#LON,zoom=#ZOOM,limit=10,
overview=oui,fullscreen=oui,tooltip=oui,
titre=#NOM,description=#DESCRIPTIF})]
#SET{gis,#ID_GIS}
</BOUCLE_gis>

Les balises #LAT, #LON, #ZOOM, #ID_GIS retournent les bonnes valeurs,
si je fixe limit=1, j'ai uniquement le premier enregistrement.

Le pb est que tu ne passes pas ce id_gis à la carte.
En l'absence de ce critère, elle affiche tout.

Regarde les exemples dans la doc GIS 4 - SPIP-Contrib :
[(#INCLURE{fond=modeles/carte_gis,
  autocenterandzoom=oui,
  id_article=2})]

Essaie en ajoutant le paramètre id_gis à l'#INCLURE.

Et essaie aussi sans BOUCLE, tout simplement en passant directement le paramètre id_fiche à l'#INCLURE
(comme dans l'exemple de la doc)

JL

Bonjour,
merci pour la piste, effectivement l'appel ne ciblait pas le bon modèle et pas besoin d'une boucle, l'inclure suffit :

[(#INCLURE{fond=modeles/carte_gis_objet,
id_carte_gis=fiche#ENV{id_fiche},
objet=fiche,
id_objet=#ENV{id_fiche},
zoom_molette=non,
fullscreen=oui,
centrer_auto=oui,
tooltip=oui,
titre=#NOM,
description=[(#ADRESSE1|concat{' ',#ADRESSE2})]})]

Bon week
Cordialement

Le 14/02/2020 à 19:16, JLuc a écrit :

Et essaie aussi sans BOUCLE, tout simplement en passant directement le paramètre id_fiche à l'#INCLURE
(comme dans l'exemple de la doc)