跳转到内容

模組: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;"
|+ ]=] .. map.name .. '\n' .. [=[位置圖
|-
! 名稱
|colspan="3"| [[]=] .. map.name .. [=[]]
|-
]=]
	if map.top then
		retval = retval ..
[=[!rowspan="4"|邊界經緯
|-
|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' .. [=[
|-
! 地圖中心
|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' .. [=[
! 圖像
|colspan="3"| <code>[[:File:]=] .. map.image .. '|' .. map.image .. [=[]]</code>
|-
|colspan="4"|[[File:]=] .. map.image .. [=[|400x400px]]
|-]=]
	if map.image1 then
		retval = retval .. '\n' .. [=[
! 圖像1
|colspan="3"| <code>[[:File:]=] .. map.image1 .. '|' .. map.image1 .. [=[]]</code>
|-
|colspan="4"|[[File:]=] .. map.image1 .. [=[|400x400px]]
|-]=]
	end
	if map.image2 then
		retval = retval .. '\n' .. [=[
! 圖像2
|colspan="3"| <code>[[:File:]=] .. map.image2 .. '|' .. map.image2 .. [=[]]</code>
|-
|colspan="4"|[[File:]=] .. map.image2 .. [=[|400x400px]]
|-]=]
	end
	if map.skew then
		retval = retval .. '\n' .. [=[
! 斜交
|colspan="3"| ]=] .. map.skew .. '\n' .. [=[
|-]=]
	end
	if map.lat_skew then
		retval = retval .. '\n' .. [=[
! 緯度斜交
|colspan="3"| ]=] .. map.lat_skew .. '\n' .. [=[
|-]=]
	end
	if map.mark then
		retval = retval .. '\n' .. [=[
! 標記
|colspan="3"| <code>[[:File:]=] .. map.mark .. '|' .. map.mark .. [=[]]</code>
|-]=]
	end
	if map.marksize then
		retval = retval .. '\n' .. [=[
! 標記尺寸
|colspan="3"| ]=] .. map.marksize .. '\n' .. [=[
|-]=]
	end
	retval = retval .. '\n|}'
	return retval
end

return p