15.457
Bearbeitungen
(+ width/height auto (temporär)) |
(Umstellung width/height und nil args) |
||
| Zeile 9: | Zeile 9: | ||
function p.Karte(frame) | function p.Karte(frame) | ||
-- nur die benötigten Argumente übernehmen | -- nur die benötigten Argumente übernehmen | ||
local | local args = { | ||
"lat", "lon", "location", "locationlist", "geojson", "geocode", | "lat", "lon", "location", "locationlist", "geojson", "geocode", | ||
"zoom", "popuptitle", "popuptext", | "zoom", "popuptitle", "popuptext", | ||
| Zeile 15: | Zeile 15: | ||
"noattr", "form", | "noattr", "form", | ||
"Work", "Debug"} | "Work", "Debug"} | ||
local args = wik.getArgs(frame.args, args) | |||
return p.karte(frame, args) | return p.karte(frame, args) | ||
end | end | ||
| Zeile 39: | Zeile 33: | ||
-- defaults setzen | -- defaults setzen | ||
args["box"] = args["box"] or "Ja" | args["box"] = args["box"] or "Ja" | ||
args["zoom"] = args["zoom"] or "16" | args["zoom"] = args["zoom"] or "16" | ||
local geojson_pagename = args["geojson"] or pagename | local geojson_pagename = args["geojson"] or pagename | ||
local geojson_fullpagename = "GeoJson:" .. geojson_pagename | |||
args["geojson_pagename"] = geojson_pagename -- to do: diesen Block später rausschmeißen | args["geojson_pagename"] = geojson_pagename -- to do: diesen Block später rausschmeißen | ||
args["geojson_fullpagename"] = geojson_fullpagename -- to do: diesen Block später rausschmeißen | args["geojson_fullpagename"] = geojson_fullpagename -- to do: diesen Block später rausschmeißen | ||
-- width/height | -- width/height | ||
if com.isTrue(args["box"]) or args["width"] == "auto" then | |||
args["width"] = nil -- ohne width passt sich Karte eigenständig in Box ein | |||
-- elseif args["width"] == nil then | elseif args["width"] == nil then | ||
args["width"] = "50%" -- default bei keiner width-Angabe und keiner Box | |||
-- | |||
- | |||
end | end | ||
if args["height"] == "auto" then | if com.isTrue(args["box"]) or args["height"] == "auto" then | ||
args["height"] = "" | args["height"] = nil -- ohne height passt sich Karte eigenständig in Box ein | ||
elseif args["height"] == nil then | |||
args["height"] = "25%" -- default bei keiner height-Angabe und keiner Box | |||
end | end | ||
| Zeile 145: | Zeile 122: | ||
-- Attribute setzen | -- Attribute setzen | ||
if not com.isTrue(args["noattr"]) then | if not com.isTrue(args["noattr"]) then | ||
-- Geolokation/Geokoordinate setzen | -- Geolokation/Geokoordinate setzen | ||
for _, o in ipairs(geoobjects) do | for _, o in ipairs(geoobjects) do -- to do: obsolete, wenn sobobject genutzt | ||
setAttr(attrlist, "Geolokation", o["Geolokation"]) | setAttr(attrlist, "Geolokation", o["Geolokation"]) -- to do: obsolete, wenn sobobject genutzt | ||
setAttr(attrlist, "Geokoordinate", o["Geokoordinate"]) | setAttr(attrlist, "Geokoordinate", o["Geokoordinate"]) -- to do: obsolete, wenn sobobject genutzt | ||
end | end -- to do: obsolete, wenn sobobject genutzt | ||
-- GeoJson | -- GeoJson | ||
if wik.pageExists(geojson_fullpagename) then | if wik.pageExists(geojson_fullpagename) then | ||
setAttr(attrlist, "GeoJson", geojson_fullpagename) | setAttr(attrlist, "GeoJson", geojson_fullpagename) | ||
end | end | ||
-- zoom | -- zoom | ||
setAttr(attrlist, "Zoomlevel", args["zoom"]) | setAttr(attrlist, "Zoomlevel", args["zoom"]) | ||
-- normale Attribute setzen | -- normale Attribute setzen | ||
mw.logObject(attrlist, "attrlist") | mw.logObject(attrlist, "attrlist") | ||
mw.smw.set(attrlist) | mw.smw.set(attrlist) | ||
-- geoobjects als subobjects setzen | -- geoobjects als subobjects setzen | ||
mw.logObject(geoobjects, "geoobjects") | mw.logObject(geoobjects, "geoobjects") | ||
| Zeile 171: | Zeile 143: | ||
mw.smw.subobject(o, id) | mw.smw.subobject(o, id) | ||
end | end | ||
end | |||
end | |||
-- bisherige Vorlagen-Karte | -- bisherige Vorlagen-Karte | ||