Modul:Interaktivna karta
Dokumentacija modula
local p = {}
function p.karta(frame)
local parent = frame:getParent() or frame
local args = parent.args or parent
local width = args.width or args.sirina or "100%"
local height = args.height or args.visina or "400px"
local lat = tonumber(args.lat) or 45.8
local lon = tonumber(args.lon) or 15.9
local zoom = tonumber(args.zoom) or 10
local markers = {}
for k, v in pairs(args) do
if type(k) == "string" and k:match("^marker") then
table.insert(markers, v)
end
end
local divId = "map_" .. math.random(1000000, 9999999)
local container = mw.html.create("div")
:attr("id", divId)
:addClass("leaflet-map")
:css("width", width)
:css("height", height)
:attr("data-lat", lat)
:attr("data-lon", lon)
:attr("data-zoom", zoom)
:attr("data-markers", table.concat(markers, ";"))
return tostring(container)
end
return p