Modul:Interaktivna karta: razlika između inačica
Prijeđi na navigaciju
Prijeđi na pretraživanje
mNema sažetka uređivanja |
mNema sažetka uređivanja |
||
| Redak 12: | Redak 12: | ||
local zoom = args.zoom or "12" | local zoom = args.zoom or "12" | ||
-- Dio unutar funkcije p.karta | |||
local markers = {} | local markers = {} | ||
for i = 1, 10 do | for i = 1, 10 do | ||
local m = args["marker" .. i] | local m = args["marker" .. i] | ||
if m and m ~= "" then | if m and m ~= "" then | ||
-- marker1=45.8,15.9,Zagrebačka katedrala | |||
table.insert(markers, m) | table.insert(markers, m) | ||
end | end | ||
Posljednja izmjena od 15. travanj 2026. u 12:49
Dokumentacija modula
local p = {}
function p.karta(frame)
-- Dohvaćanje argumenata iz predloška ili direktnog poziva
local args = frame:getParent().args
if not args.lat then args = frame.args end -- fallback
local width = args.width or args.sirina or "600px"
local height = args.height or args.visina or "400px"
local lat = args.lat or "45.81"
local lon = args.lon or "15.98"
local zoom = args.zoom or "12"
-- Dio unutar funkcije p.karta
local markers = {}
for i = 1, 10 do
local m = args["marker" .. i]
if m and m ~= "" then
-- marker1=45.8,15.9,Zagrebačka katedrala
table.insert(markers, m)
end
end
-- Generiranje unikatnog ID-a bez oslanjanja na math.random
-- Koristimo mw.hash ili jednostavno fiksni string s unikatom
local divId = "leaflet_map_" .. mw.ustring.sub(mw.hash.hashValue('md5', tostring(lat) .. tostring(lon)), 1, 8)
local container = mw.html.create("div")
:attr("id", divId)
:addClass("leaflet-map")
:css("width", width)
:css("height", height)
:css("background", "#eee") -- Dodano da vidiš okvir čak i ako karta zapne
:attr("data-lat", lat)
:attr("data-lon", lon)
:attr("data-zoom", zoom)
:attr("data-markers", table.concat(markers, ";"))
return tostring(container)
end
return p