"ഘടകം:Slippymap/sandbox" എന്ന താളിന്റെ പതിപ്പുകൾ തമ്മിലുള്ള വ്യത്യാസം

Schoolwiki സംരംഭത്തിൽ നിന്ന്
(ചെ.)No edit summary
No edit summary
വരി 17: വരി 17:
zoom = tonumber(clean(args.zoom)) or 12,
zoom = tonumber(clean(args.zoom)) or 12,
align = clean(args.alignment) or "center",
align = clean(args.alignment) or "center",
text = clean(args.text) or nil, -- Use provided text, default is nil
text = clean(args.text), -- Use provided text, no default value here
marker = clean(args.marker) ~= "no",
marker = clean(args.marker) ~= "no",
}
}


-- GeoJSON content for the marker
-- Generate GeoJSON content if the marker is enabled
local content = nil
local content = nil
if options.marker then
if options.marker then
വരി 34: വരി 34:
},
},
properties = {
properties = {
title = options.text or "Marker", -- Popup text from `args.text`, default is "Marker"
title = options.text or "Marker", -- Popup text set to `args.text`, fallback is "Marker"
icon = {
icon = {
iconUrl = "//schoolwiki.in/images/5/5f/63rd_state_kalolsavam_logo.png", -- Custom marker image
iconUrl = "//schoolwiki.in/images/5/5f/63rd_state_kalolsavam_logo.png", -- Custom marker image

18:00, 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), -- Use provided text, no default value here
		marker = clean(args.marker) ~= "no",
	}

	-- Generate GeoJSON content if the marker is enabled
	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 or "Marker", -- Popup text set to `args.text`, fallback is "Marker"
						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
"https://schoolwiki.in/index.php?title=ഘടകം:Slippymap/sandbox&oldid=2624364" എന്ന താളിൽനിന്ന് ശേഖരിച്ചത്