Modul:Interaktivna karta

Izvor: Hrvatska internetska enciklopedija
Inačica 754252 od 15. travanj 2026. u 11:19 koju je unio WikiSysop (razgovor | doprinosi)
Prijeđi na navigaciju Prijeđi na pretraživanje
Dokumentacija modula
Modul koji pokreće {{Interaktivna karta}}, drugih imena {{Mapframe}} i {{Maplink}}.


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