Modulo:Mapframe

Da Wikivoyage.

La documentazione per questo modulo può essere creata in Modulo:Mapframe/man

--[[
	Source script:	https://it.wikivoyage.org/wiki/Modulo:Mapframe
	Maintainer:		Andyrom75
]]
local coord2Dec = require('Module:Coordinates').toDec

local function _isDefined(s)
	return s ~= '' and s
end

local function _Maplink( frame )
	local args = frame.args
	local tagArgs = {
		zoom = tonumber( _isDefined(args.zoom) ) or 'auto',
		show = args.show or 'mask,around,buy,city,do,drink,eat,go,listing,other,see,sleep,vicinity,view',
		latitude = tonumber( coord2Dec(args[1] or 0, '', 6).dec ),
		longitude = tonumber( coord2Dec(args[2] or 0, '', 6).dec ),
		text = args.nome,
		class = args.class
	}

	return frame:extensionTag( 'maplink', '', tagArgs )
end

--Interfacce del modulo
local p = {}

function p.MaplinkTemplate(frame)
	return _Maplink(frame:getParent())
end

function p.MaplinkInvoke(frame)
	return _Maplink(frame)
end

function p.MaplinkModule(frame)
	local Cframe = mw.getCurrentFrame()
	Cframe.args = frame.args
	return _Maplink(Cframe)
end

return p