Module:Location map/info

local p = {}

function p.main(frame)

local map = mw.loadData(string.gsub(mw.title.getCurrentTitle().prefixedText,'/doc$',''))

local retval =

[=[

class="wikitable" style="text-align:center; margin-top:0;"

|+ Location map of ]=] .. map.name .. '\n' .. [=[

name

|colspan="3"| ]=] .. map.name .. [=[

]=]

if map.top then

retval = retval ..

[=[!rowspan="4"|border
coordinates

colspan="3"| ]=] .. map.top .. '\n' .. [=[
style="width:7em;"| ]=] .. map.left .. '\n' .. [=[

| ←↕→

|style="width:7em;"| ]=] .. map.right

if map.right > 180 then

retval = retval .. ' (' .. map.right - 360 .. ')'

end

retval = retval .. '\n' .. [=[

colspan="3"| ]=] .. map.bottom .. '\n' .. [=[
map center

|colspan="4"| ]=]

local width = (map.right - map.left) % 360

if width == 0 then

width = 360

end

local center = (map.left + width/2) % 360

if center >= 180 then

center = center - 360

end

retval = retval .. frame:expandTemplate{title = 'coord', args = { (map.top + map.bottom)/2, center }}

retval = retval .. '\n' .. [=[

]=]

end

if map.x then

retval = retval .. '\n' .. [=[

! x

|colspan="3" style="overflow: auto; white-space: auto; width: 350px"| ]=] .. map.x .. '\n' .. [=[

y

|colspan="3" style="overflow: auto; white-space: auto; width: 350px"| ]=] .. map.y .. '\n' .. [=[

]=]

end

retval = retval .. '\n' .. [=[

! image

|colspan="3"| ' .. map.image .. [=[

colspan="4"|400x400px
]=]

local i = 0

while map['image' .. (i+1)] or map['image' .. (i+2)] do

i = i + 1

if map['image' .. i] then

retval = retval .. '\n' .. [=[

! image]=] .. i .. '\n' .. [=[

|colspan="3"| ' .. map['image' .. i] .. [=[

colspan="4"|400x400px
]=]

end

end

if map.skew then

retval = retval .. '\n' .. [=[

! skew

|colspan="3"| ]=] .. map.skew .. '\n' .. [=[

]=]

end

if map.lat_skew then

retval = retval .. '\n' .. [=[

! lat_skew

|colspan="3"| ]=] .. map.lat_skew .. '\n' .. [=[

]=]

end

if map.mark then

retval = retval .. '\n' .. [=[

! mark

|colspan="3"| ' .. map.mark .. [=[

]=]

end

if map.marksize then

retval = retval .. '\n' .. [=[

! marksize

|colspan="3"| ]=] .. map.marksize .. '\n' .. [=[

]=]

end

retval = retval .. '\n

'

return retval

end

return p