Mappe delle sedi
SportsPress visualizza una mappa interattiva nelle pagine archivio delle sedi e nelle singole pagine degli eventi quando l'evento ha una sede assegnata. La mappa viene visualizzata usando i tile OpenStreetMap tramite la libreria JavaScript Leaflet, inclusa nel plugin core SportsPress.
Come vengono visualizzate le mappe
Il sistema delle mappe usa un hook azione WordPress, sp_venue_show_map, chiamato dal template venue-map.php con la latitudine, la longitudine, l'indirizzo, il livello di zoom e il tipo di mappa della sede come argomenti. Il modulo OpenStreetMap (incluso nel plugin core in includes/sportspress/modules/sportspress-openstreetmap.php) si aggancia a questa azione e visualizza la mappa.
Una mappa viene mostrata solo quando sia la Latitudine che la Longitudine sono impostate sulla sede. Se le coordinate mancano, non viene visualizzata alcuna mappa.
Dove appaiono le mappe
Pagine archivio delle sedi — la mappa appare in cima alla pagina quando un visitatore visualizza l'URL pubblico di una sede (ad es.
/sede/san-siro/).Pagine degli eventi — se a un evento è assegnata una sede con coordinate, la sezione sede della pagina dell'evento visualizza una mappa.
Shortcode — lo shortcode
[event_venue]include la mappa quando l'evento ha una sede mappata.
Impostazioni della mappa
Le opzioni di visualizzazione della mappa si trovano in Eventi > Impostazioni, nella sezione Sedi:
Mappa sede (
sportspress_event_show_maps) — casella di controllo per abilitare o disabilitare globalmente la visualizzazione della mappa della sede. Predefinito: attivato.Tipo (
sportspress_map_type) — scegli la fonte dei tile:Predefinito (
ROADMAP) — tile mappa stradale standard OpenStreetMap datile.openstreetmap.orgSatellite (
SATELLITE) — tile immagini satellitari da ArcGIS Online (Esri World Imagery)
Zoom (
sportspress_map_zoom) — livello di zoom intero, intervallo 0–21. Predefinito: 15. Valori più alti zoomano di più (livello stradale), valori più bassi zoomano di meno (livello continente).
Queste impostazioni vengono lette dal template venue-map.php e passate all'azione sp_venue_show_map.
Coordinate della sede
Le coordinate sono memorizzate per sede nella tabella delle opzioni di WordPress:
Latitudine — memorizzata come
sp_latitudenell'array di opzionitaxonomy_<term_id>Longitudine — memorizzata come
sp_longitudenell'array di opzionitaxonomy_<term_id>
Per impostare le coordinate, modifica la sede in Eventi > Sedi e trascina il marcatore della mappa nella posizione della sede, oppure digita direttamente valori in gradi decimali nei campi Latitudine e Longitudine.
Dettagli sulla visualizzazione OpenStreetMap
Il contenitore della mappa Leaflet viene visualizzato come un div alto 320px che racchiude un tag anchor che si collega alla pagina Google Maps equivalente per le coordinate. La mappa viene inizializzata con panoramica, zoom tocco, zoom doppio clic e zoom con rotella del mouse tutti disabilitati — la mappa è solo display, non interattiva.
Un marcatore pin standard viene posizionato alle coordinate memorizzate.
Per le immagini satellitari, i tile provengono dal servizio ArcGIS Online World Imagery. Per il tipo predefinito (roadmap), i tile provengono dal server tile pubblico OpenStreetMap.
Integrazione Google Maps
Il plugin SportsPress Pro include un modulo SportsPress Google Maps Integration (includes/sportspress-google-maps/). Quando questo modulo è attivo, rimuove il gestore OpenStreetMap dall'hook sp_venue_show_map e lo sostituisce con un renderer iframe Google Maps.
Il modulo Google Maps visualizza la mappa come un <iframe> che incorpora un tile Google Maps tramite tboy.co/maps_embed (un proxy per l'API Google Maps Embed). L'iframe è 600×320 pixel. Un anchor overlay si collega alla pagina Google Maps completa per l'indirizzo.
Il modulo Google Maps non aggiunge le proprie impostazioni alla schermata Impostazioni eventi; usa le stesse impostazioni sportspress_map_zoom e sportspress_map_type del modulo OpenStreetMap. Solo un renderer di mappe è attivo alla volta: Google Maps sostituisce OpenStreetMap quando il modulo è caricato.
