Module:Coordinates
Appearance
Documentation for this module may be created at Module:Coordinates/doc
require('strict')
local getArgs = require('Module:Arguments').getArgs
local coordinates = {}
local coord_link = 'https://geohack.toolforge.org/geohack.php'
function coordinates.coord(frame)
local args = getArgs(frame, {
wrappers = 'Template:Coord'
})
return coordinates._coord(args)
end
-- Only accepts decimal degrees coordinates eg. {{#invoke:Coordinates|coord|26.047889|N|50.509947|E}}
function coordinates._coord(args)
local latitude = args[1]
local latitude_dir = args[2]
local longitude = args[3]
local longitude_dir = args[4]
-- dimension of object in meters (for geohack to estimate zoom level)
local dim = 300
if tonumber(args.dim) ~= nil then
dim = args.dim
end
local coord_text = string.format('%s°%s %s°%s', latitude, latitude_dir, longitude, longitude_dir)
local text = string.format(
'<span class="plainlinks">[%s?params=%s_%s_%s_%s_dim:%s %s]</span>',
coord_link,
latitude,
latitude_dir,
longitude,
longitude_dir,
dim,
coord_text
)
return text
end
return coordinates