"ഘടകം:Slippymap/sandbox" എന്ന താളിന്റെ പതിപ്പുകൾ തമ്മിലുള്ള വ്യത്യാസം
No edit summary |
No edit summary |
||
വരി 9: | വരി 9: | ||
local args = (frame:getParent() or frame).args | local args = (frame:getParent() or frame).args | ||
-- | -- Extract and process map options from arguments | ||
local options = { | local options = { | ||
latitude = tonumber(clean(args.lat)) or 51.3432699, | latitude = tonumber(clean(args.lat)) or 51.3432699, | ||
വരി 18: | വരി 18: | ||
align = clean(args.alignment) or "center", | align = clean(args.alignment) or "center", | ||
text = clean(args.text) or "Custom Marker", | text = clean(args.text) or "Custom Marker", | ||
marker = clean(args.marker) ~= "no", | |||
} | } | ||
-- GeoJSON | -- If a marker is requested, generate GeoJSON for the marker | ||
local content = mw.text.jsonEncode({ | local content = nil | ||
if options.marker then | |||
content = mw.text.jsonEncode({ | |||
type = "FeatureCollection", | |||
features = { | |||
{ | |||
type = "Feature", | |||
geometry = { | |||
type = "Point", | |||
coordinates = { options.longitude, options.latitude }, | |||
}, | |||
properties = { | |||
title = options.text, -- Use the provided text for the popup | |||
icon = { | |||
iconUrl = "//schoolwiki.in/images/5/5f/63rd_state_kalolsavam_logo.png", -- Custom marker image | |||
iconSize = { 50, 50 }, -- Width and height of the icon | |||
iconAnchor = { 25, 50 }, -- Anchor point (center bottom of the icon) | |||
popupAnchor = { 0, -50 }, -- Popup anchor position | |||
}, | |||
}, | }, | ||
}, | }, | ||
}, | }, | ||
} | }) | ||
end | |||
-- | -- Return the mapframe tag with content and options | ||
return frame:extensionTag { | return frame:extensionTag { | ||
name = "mapframe", | name = "mapframe", |
17:57, 6 ജനുവരി 2025-നു നിലവിലുണ്ടായിരുന്ന രൂപം
ഈ ഘടകത്തിന്റെ വിവരണം ഘടകം:Slippymap/sandbox/വിവരണം എന്ന താളിൽ നിർമ്മിക്കാവുന്നതാണ്
local p = {} -- Function to clean input values by trimming spaces and handling nil values local function clean(input) return input and mw.text.trim(input) or nil end function p.slippymap(frame) local args = (frame:getParent() or frame).args -- Extract and process map options from arguments local options = { latitude = tonumber(clean(args.lat)) or 51.3432699, longitude = tonumber(clean(args.lon)) or 0.52700328, height = tonumber(clean(args.height)) or 400, width = clean(args.width) == "full" and "full" or tonumber(clean(args.width)) or 400, zoom = tonumber(clean(args.zoom)) or 12, align = clean(args.alignment) or "center", text = clean(args.text) or "Custom Marker", marker = clean(args.marker) ~= "no", } -- If a marker is requested, generate GeoJSON for the marker local content = nil if options.marker then content = mw.text.jsonEncode({ type = "FeatureCollection", features = { { type = "Feature", geometry = { type = "Point", coordinates = { options.longitude, options.latitude }, }, properties = { title = options.text, -- Use the provided text for the popup icon = { iconUrl = "//schoolwiki.in/images/5/5f/63rd_state_kalolsavam_logo.png", -- Custom marker image iconSize = { 50, 50 }, -- Width and height of the icon iconAnchor = { 25, 50 }, -- Anchor point (center bottom of the icon) popupAnchor = { 0, -50 }, -- Popup anchor position }, }, }, }, }) end -- Return the mapframe tag with content and options return frame:extensionTag { name = "mapframe", content = content, args = { latitude = options.latitude, longitude = options.longitude, height = options.height, width = options.width, zoom = options.zoom, align = options.align, }, } end return p