Modulo:Maplink: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
elimino versione superata |
m modulo no globals obsoleto |
||
(17 versioni intermedie di 3 utenti non mostrate) | |||
Riga 1:
require('
local getArgs = require('Module:Arguments').getArgs
Line 5 ⟶ 6:
-- Calcola centro per longitudine
-- esempio chiamata di funzione {{#invoke:
function p.centro_lon(frame)
local t = getArgs(frame)
Line 19 ⟶ 20:
-- Calcola centro per latitudine
-- esempio chiamata di funzione {{#invoke:
function p.centro_lat(frame)
local t = getArgs(frame)
Line 38 ⟶ 39:
-- Calcola la scala adeguata per mappa OSM
-- esempio chiamata di funzione {{#invoke:
function p.zoom(frame)
local t = getArgs(frame)
Line 75 ⟶ 76:
end
return scala
end
-- Calcola gradi decimali
-- esempio chiamata di funzione {{#invoke:Maplink|gradi|numero gradi|numero primi|numero secondi|punto cardinale}}
function p.gradi(frame)
local t = getArgs(frame)
local t1 = tonumber(t[1]) or 0
local t2 = tonumber(t[2]) or 0
local t3 = tonumber(t[3]) or 0
local s = 1;
if ((t[4] == 'S') or (t[4] == 'W')) then s = -1 end
return (s*(t1+t2/60+t3/3600))
end
-- Calcola gradi decimali
-- esempio chiamata di funzione {{#invoke:Maplink|gradi|numero gradi|numero primi|numero secondi|punto cardinale}}
function p.gradi(frame)
local t = getArgs(frame)
local t1 = tonumber(t[1]) or 0
local t2 = tonumber(t[2]) or 0
local t3 = tonumber(t[3]) or 0
local s = 1;
if ((t[4] == 'S') or (t[4] == 'W')) then s = -1 end
return (s*(t1+t2/60+t3/3600))
end
-- Genera il tag di maplink per un punto
--
-- Questo metodo è stato convertito da un template.
-- Per vedere il codice originale:
-- [[Speciale:PermaLink/88514901]]
function p.tagPunto( frame )
local args = getArgs( frame )
local lat = tonumber( args.lat )
local lon = tonumber( args.lon )
local zoomRaw = args.zoom
local zoom = zoomRaw and tonumber( zoomRaw ) or 13
local nome = args.nome or 'Posizione'
local icona = args.icona or 'circle'
local data = {
["type"] = "Feature",
["geometry"] = {
["type"] = "Point",
["coordinates"] = { lon, lat },
},
["properties"] = {
["title"] = nome,
["marker-symbol"] = icona,
["marker-color"] = "b80000",
},
}
local dataJson = mw.text.jsonEncode( data )
local tag = frame:callParserFunction{ name = '#tag:maplink', args = {
dataJson,
["zoom"] = zoom,
["latitude"] = lat,
["longitude"] = lon,
} }
return tag
end
|