模組:Infobox road/map
外观
local p = {}
local format = mw.ustring.format
local mapsizes = {
DEU = "200px",
USA = "290x172px"
}
function p._map(args)
local map = args.map or ''
if args.map_custom == "yes" then
return format('<span style="white-space:nowrap;">%s</span>', map)
end
if map == '' then
local entity = mw.wikibase.getEntityObject() or {}
local claims = entity.claims or {}
local mapProp = claims.P15
if not mapProp or mapProp[1].mainsnak.snaktype ~= 'value' then
return ""
end
map = mapProp[1].mainsnak.datavalue.value
end
local mapsize = mapsizes[args.country] or '290px'
local alt = args.map_alt or ''
return require('Module:InfoboxImage').InfoboxImage{ args = {
image = map,
size = mapsize,
alt = alt,
} }
end
function p.map(frame)
local argsModule = require("Module:Arguments")
local args = argsModule.getArgs(frame)
local state = args.state or args.province
if not args.country then
local countryMask = mw.loadData("Module:Road data/countrymask")
args.country = countryMask[state]
end
return p._map(args)
end
return p