Template:InteractiveMap
Questa pagina spiega come inserire una mappa interattiva in una pagina.
La maggior parte del codice necessario a far funzionare la mappa interattiva e la relativa tabella è preso da o comunque basato sul lavoro di Jesús Martínez. Most of the code used in interactive maps is taken from or heavily based on work by Jesús Martínez. All due credits to the original author.
Utilizzo base
{{InteractiveMap/Map|<nome del file da usare come mappa>}} {{InteractiveMap/LPAhead|<colore di sfondo della tabella>}} {{InteractiveMap/LPArow|<(vedi sotto)>}} {{InteractiveMap/LPArow|<(vedi sotto)>}} ... {{InteractiveMap/LPArow|<(vedi sotto)>}} {{InteractiveMap/LPAdiv|<periodo della giornata delle successive righe>}} {{InteractiveMap/LPArow|<(vedi sotto)>}} ... {{InteractiveMap/LPAfoot}}
Ogni riga ha un po' di parametri, la maggior parte sono abbastanza intuitivi (vedere la sua documentazione su Template:InteractiveMap/LPArow). I due parametri che richiedono un minimo di spiegazione sono principal
e coords
.
La tabella inizialmente mostra solo una riga per Pokémon (per ora del giorno) che funge da "riassunto" per quel Pokémon: a che livelli si può trovare in tutta l'area e con che probabilità. Queste righe sono dette "principali", e sono identificate dal parametro principal=1
. Le altre righe contengono più dettagli su un insieme di punti di spawn che condividono livello, probabilità, etc..., un insieme per riga. Queste righe sono inizialmente nascoste, e possono essere mostrate con il bottone "Dettagli" della riga principale associata. Una riga di dettagli è identificata da principal=0
(o l'assenza del parametro, dato che 0
è il valore di default), ed è associata alla prima riga principale sopra di essa.
Le righe principali non sono associate direttamente a punti sulla mappa, ma prendono quelli di tutte le righe di dettagli ad esse associate. Viceversa, una riga di dettagli è associata ad uno o più punti sulla mappa, specificati tramite il parametro coords
. Questo parametro deve una lista di "punti", separati da virgole e senza nessuno spazio aggiuntivo. Un "punto" è descritto da tre valori: una lettera, che indica l'icona mostrata sulla mappa, e le coordinate x e y. Questi tre valori devono essere separati da :
, senza spazi aggiuntivi. Per esempio, la stringa s:621.36:1370.92
è un punto, mentre s:621.36:1370.92,s:412.1:984.58,w:627.14:1291.94
è una lista di punti.
Al momento, le icone possibili sono:
- s: stella
- a: bacca
- c: scatola
- r: roccia
- w: distorsione
Sottotemplates
- Template:InteractiveMap/Map
- Template:InteractiveMap/LPAhead
- Template:InteractiveMap/LPArow
- Template:InteractiveMap/LPAfoot
- Template:InteractiveMap/LPAdiv
Note per gli sviluppatori
Queste sono note su come vengono implementati i template. Non servono per usarli nelle pagine, ma solo a chi deve modificare i template stessi.
L'implementazione è fatta dal JS in MediaWiki:InteractiveMaps.js, importato dal Widget:InteractiveMaps. Questo codice cerca nella pagina l'id #interactive-map
, che deve contenere la mappa, e l'id #interactive-map-controller
, che deve essere una tabella. Scorre le righe della tabella cercando il campo data-pointdata
, che parsa come liste di coordinate da mostrare sulla mappa, poi crea una "maschera" da applicare sull'immagine base della mappa. La maschera è semplicemente un SVG con le icone giuste al posto giusto (relativamente ai campi pointdata delle varie righe) e per il resto trasparente, che viene posizionata esattamente sopra la mappa.
TODO: espandere questa sezione, ma non ho voglia --Ff300 (discussioni) 12:03, 26 mar 2022 (CET)