Cartes des lieux
SportsPress affiche une carte interactive sur les pages d'archives des lieux et sur les pages d'événements individuels lorsque l'événement est associé à un lieu. La carte est rendue en utilisant les tuiles OpenStreetMap via la bibliothèque JavaScript Leaflet, qui est intégrée dans le plugin SportsPress principal.
Comment les cartes sont affichées
Le système de carte utilise un hook d'action WordPress, sp_venue_show_map, appelé depuis le modèle venue-map.php avec la latitude, la longitude, l'adresse, le niveau de zoom et le type de carte du lieu comme arguments. Le module OpenStreetMap (intégré dans le plugin principal à includes/sportspress/modules/sportspress-openstreetmap.php) se connecte à cette action et rend la carte.
Une carte est affichée uniquement lorsque la Latitude et la Longitude sont toutes deux définies sur le lieu. Si les coordonnées sont manquantes, aucune carte n'est rendue.
Où les cartes apparaissent
Pages d'archives des lieux — la carte apparaît en haut de la page lorsqu'un visiteur consulte l'URL publique d'un lieu (par exemple,
/venue/old-trafford/).Pages d'événements — si un événement est associé à un lieu avec des coordonnées, la section lieu de la page d'événement affiche une carte.
Shortcode — le shortcode
[event_venue]inclut la carte lorsque l'événement possède un lieu cartographié.
Réglages de la carte
Les options d'affichage de la carte se trouvent dans Événements > Réglages, sous la section Lieux :
Carte du lieu (
sportspress_event_show_maps) — case à cocher pour activer ou désactiver l'affichage de la carte globalement. Par défaut : activé.Type (
sportspress_map_type) — choisissez la source de tuiles :Défaut (
ROADMAP) — tuiles de carte routière OpenStreetMap standard depuistile.openstreetmap.orgSatellite (
SATELLITE) — tuiles d'imagerie satellite depuis ArcGIS Online (Esri World Imagery)
Zoom (
sportspress_map_zoom) — niveau de zoom entier, plage 0–21. Par défaut : 15. Les valeurs plus élevées zooment davantage (niveau rue), les valeurs plus faibles dézooment (niveau continent).
Ces réglages sont lus par le modèle venue-map.php et transmis à l'action sp_venue_show_map.
Coordonnées du lieu
Les coordonnées sont stockées par lieu dans la table des options WordPress :
Latitude — stockée comme
sp_latitudedans le tableau d'optionstaxonomy_<term_id>Longitude — stockée comme
sp_longitudedans le tableau d'optionstaxonomy_<term_id>
Pour définir les coordonnées, modifiez le lieu dans Événements > Lieux et faites glisser le marqueur de carte vers l'emplacement du lieu, ou saisissez directement des valeurs en degrés décimaux dans les champs Latitude et Longitude.
Détails de rendu OpenStreetMap
Le conteneur de carte Leaflet est rendu comme un div de 320px de hauteur enveloppant une balise d'ancre qui pointe vers la page Google Maps équivalente pour les coordonnées. La carte est initialisée avec le panoramique, le zoom tactile, le zoom par double-clic et le zoom par molette de défilement tous désactivés — la carte est en affichage seul, non interactive.
Un marqueur de type épingle standard est placé aux coordonnées stockées.
Pour l'imagerie satellite, les tuiles proviennent du service ArcGIS Online World Imagery. Pour le type par défaut (carte routière), les tuiles proviennent du serveur de tuiles public OpenStreetMap.
Intégration Google Maps
Le plugin SportsPress Pro inclut un module SportsPress Google Maps Integration (includes/sportspress-google-maps/). Lorsque ce module est actif, il supprime le gestionnaire OpenStreetMap du hook sp_venue_show_map et le remplace par un rendu de carte Google Maps en iframe.
Le module Google Maps rend la carte comme une <iframe> intégrant une tuile Google Maps via tboy.co/maps_embed (un proxy pour l'API Google Maps Embed). L'iframe mesure 600×320 pixels. Une ancre de superposition pointe vers la page Google Maps complète pour l'adresse.
Le module Google Maps n'ajoute pas ses propres réglages à l'écran des réglages d'événements ; il utilise les mêmes réglages sportspress_map_zoom et sportspress_map_type que le module OpenStreetMap. Un seul rendu de carte est actif à la fois : Google Maps remplace OpenStreetMap lorsque le module est chargé.
