La boucle GEOPOINTS sert à parcourir les points géographiques définis sur un élément SPIP. Elle est directement reliée à la table <i>gmap_points</i> qui contient les points définis dans l'interface de géolocalisation.
Cette boucle peut-être utilisée pour ajouter les marqueurs correspondants aux points sur les cartes de l'interface publique. Elle s'utilise donc dans deux cas :
La syntaxe est la suivante :
<B_points> <BOUCLE_points(GEOPOINTS){identificateur d'objet}[{visible}][{meilleur}]> ... </BOUCLE_points> </B_points>
Le critère {identificateur d'objet} est obligatoire, il permet d'identifier l'objet duquel on cherche les points. Il peut s'agir de critère faisant référence au contexte des boucles, comme {id_article}, ou une indication explicite comme {id_rubrique=2}, ou encore un couple {objet=document}{id_objet=123}.
Le critère {visible} indique que seuls les points dont le type est marqué visible seront renvoyés.
Le critère {meilleur} indique que l'on souhaite ne récupérer qu'un seul point. La requête recherche alors le point défini sur l'objet ayant le meilleur niveau de priorité, c'est-à-dire le plus faible champ priorite de la table gmap_types.
Dans le contexte de la boucle GEOPOINTS, on peut utiliser les balises suivantes :
Dans le contexte de la création d'un fichier KML, on peut également utiliser les balises spéciales (parce que non liée à la base de données) suivantes :
<BOUCLE_art_documents(DOCUMENTS){id_article}> <BOUCLE_art_documents_points(GEOPOINTS){id_document}{visible}{meilleur}> <Placemark> [<styleUrl>(#URL_PAGE{gmap-styles-default}|ancre_url{GMapDocument})</styleUrl>] <ExtendedData>[ (#GEOMARKERICONS{format=kml})] <markerParams[ type="(#TYPE_POINT)"][ zoom="(#ZOOM)"][ objectName="(#OBJET)"][ objectId="(#ID_OBJET)"][ visible="(#VISIBLE)][ priority="(#PRIORITE)"] /> </ExtendedData> [<Style> <BalloonStyle> <bgColor>ffffffff</bgColor> <text>(#GEOPOPUP{objet_parent=article,id_objet_parent=#_articles:ID_ARTICLE})</text> </BalloonStyle> </Style>] <Point> <coordinates>#LONGITUDE,#LATITUDE,0</coordinates> </Point> </Placemark> </BOUCLE_art_documents_points> </BOUCLE_art_documents>