Jump to content

Module:Location map/info

From Simple English Wikipedia, the free encyclopedia
Revision as of 19:06, 13 March 2014 by Jackmcbarn (talk | changes) (rewrite centering code)


This module displays values for the map data modules such as Module:Location map/data/Belgium. These templates are used by Module:Location map to obtain values such as the file name and the border coordinates of each location map.

Usage

This module is automatically used as documentation for map data modules and should not normally be called manually.

The name parameter

The {{Location map}} family of templates uses the value assigned to name to generate alt text. It is used to construct the sentence "label is located in name". Assign a value to <name> that fits in the sentence. For example:

Chicago is located in the United States. So |name=the United states.
Santo Domingo is located in the Dominican Republic. So |name=the Dominican Republic.



local p = {}

function p.main(frame)
	local map = mw.loadData(mw.title.getCurrentTitle().prefixedText)
	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<br/>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 right = map.right
		-- normalize right to be bigger than map.left by the smallest increment possible
		while right - map.left < 0 do
			right = right + 360
		end
		while right - map.left >= 360 do
			right = right - 360
		end
		local center = (map.left + right)/2
		-- normalize center to be between -180 and 180
		while center < -180 do
			center = center + 360
		end
		while center >= 180 do
			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"| <tt>[[:File:]=] .. map.image .. '|' .. map.image .. [=[]]</tt>
|-
|colspan="4"|[[File:]=] .. map.image .. [=[|400x400px]]
|-]=]
	if map.image1 then
		retval = retval .. '\n' .. [=[
! image1
|colspan="3"| <tt>[[:File:]=] .. map.image1 .. '|' .. map.image1 .. [=[]]</tt>
|-
|colspan="4"|[[File:]=] .. map.image1 .. [=[|400x400px]]
|-]=]
	end
	if map.image2 then
		retval = retval .. '\n' .. [=[
! image2
|colspan="3"| <tt>[[:File:]=] .. map.image2 .. '|' .. map.image2 .. [=[]]</tt>
|-
|colspan="4"|[[File:]=] .. map.image2 .. [=[|400x400px]]
|-]=]
	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"| <tt>[[:File:]=] .. map.mark .. '|' .. map.mark .. [=[]]</tt>
|-]=]
	end
	if map.marksize then
		retval = retval .. '\n' .. [=[
! marksize
|colspan="3"| ]=] .. map.marksize .. '\n' .. [=[
|-]=]
	end
	retval = retval .. '\n|}'
	return retval
end

return p