Module:Australian place map
| This Lua module is used on approximately 16,000 pages and changes may be widely noticed. Test changes in the module's /sandbox or /testcases subpages, or in your own module sandbox. Consider discussing changes on the talk page before implementing them. |
| This module's documentation is missing, inadequate, or does not accurately describe its functionality or the parameters in its code. Please help add, expand, or improve it. |
This module implements the selection of the location map in Template:Infobox Australian place and Template:Infobox Australian road
-- This module implements the selection of the location map
-- in [[Template:Infobox Australian place]] and [[Template:Infobox Australian road]]
require('strict')
local p = {}
local function isnotblank( s ) return s and s ~= '' end
local statenames = {
sa = 'South Australia',
vic = 'Victoria',
nsw = 'New South Wales',
qld = 'Queensland',
nt = 'Northern Territory',
wa = 'Western Australia',
tas = 'Tasmania',
act = 'Australian Capital Territory',
jbt = 'Jervis Bay Territory',
ni = 'Norfolk Island'
}
local mapwidths = {
sa = 230,
qld = 190,
nt = 190,
wa = 180,
tas = 210,
act = 180
}
function p.main(frame)
local largs = frame:getParent().args
local place_type = (largs.type or ''):lower()
local map_name = largs.map_type or ''
local map_type = (largs.map_type or 'auto'):lower()
local state_abbr = (largs.state or ''):lower()
local map_width = 270
local coords = largs.coordinates or ''
local coordsa = largs.coordinates_a or ''
local coordsb = largs.coordinates_b or ''
-- Default for LGAs is nomap
-- Default for everywhere else is auto
if map_type == '' or map_type == 'auto' then
if place_type == 'lga' then
map_type = 'nomap'
else
map_type = 'auto'
end
end
-- Apply legacy parameters
if isnotblank( largs.alternative_location_map ) then
map_type = largs.alternative_location_map
map_name = map_type
elseif isnotblank( largs.force_national_map ) then
map_type = 'national'
map_name = 'Australia'
elseif isnotblank( largs.use_lga_map ) then
map_type = 'lga'
end
-- Process the value in map_type
if map_type == 'state' or map_type == 'auto' or map_type == 'lga' then
map_name = 'Australia ' .. (statenames[state_abbr] or '')
map_width = mapwidths[state_abbr] or 270
if map_type == 'lga' then
map_name = map_name .. ' ' .. (largs.lga or '')
map_width = mapwidths[state_abbr] or 270
end
elseif map_type == 'national' or map_type == 'australia' then
map_name = 'Australia'
end
if isnotblank(coords) or isnotblank(coordsa) then
else
map_type = 'nomap'
end
-- Finally build the map
if map_type ~= 'nomap' then
local caption = largs.pushpin_map_caption or ''
if caption ~= '' then caption = '<div style="font-size: smaller;">' .. caption .. '</div>' end
if isnotblank(coordsa) then
return frame:expandTemplate{
title = 'Location map many',
args = {
map_name,
relief = largs.relief or '',
label1 = isnotblank(coordsb) and isnotblank(largs.direction_a) and (largs.direction_a .. ' end') or (largs.road_name or ''),
coordinates1 = coordsa,
position1 = isnotblank(largs.pushpin_label_position_a) and largs.pushpin_label_position_a or 'left',
coordinates2 = coordsb,
label2 = isnotblank(largs.direction_b) and (largs.direction_b .. ' end') or '',
position2 = isnotblank(largs.pushpin_label_position_b) and largs.pushpin_label_position_b or 'left',
marksize = 8,
float = 'center',
caption = caption,
border = 'infobox',
width = map_width,
alt = largs.map_alt or ''
}
}
end
return frame:expandTemplate{
title = 'Location map',
args = {
map_name,
label = largs.name or '',
relief = largs.relief or '',
coordinates = coords,
marksize = 6,
position = largs.pushpin_label_position or '',
float = 'center',
caption = caption,
border = 'infobox',
width = map_width,
alt = largs.map_alt or ''
}
}
end
return ''
end
return p
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.