Modul:Faktenbox/Tabs/Karte: Unterschied zwischen den Versionen

keine Wartungsmeldungen wurde transcluded
(Änderung 769528 von HeikoBot (Diskussion) rückgängig gemacht.)
Markierung: Rückgängigmachung
(keine Wartungsmeldungen wurde transcluded)
 
(18 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 4: Zeile 4:
local str = require("Modul:String")
local str = require("Modul:String")
local wik = require("Modul:Wiki")
local wik = require("Modul:Wiki")
local que = require("Modul:Queries")
local smw = require("Modul:SMW")
local kar = require("Modul:Karte")
local kar = require("Modul:Karte")


Zeile 27: Zeile 27:
if #gebaeude > 0 then -- Gebäude angegeben?
if #gebaeude > 0 then -- Gebäude angegeben?
local locationlist = ""
local locationlist = ""
for _, g in ipairs(gebaeude) do -- alle Gebäude durchiterieren
for _, g in ipairs(gebaeude) do -- alle Gebäude durchiterieren
local seite = que.getValues(g, "Seite", true)
local seite = smw.getValues(g, "Seite", true) -- Seite mit Geolokation-Wert abfragen
if seite[1] ~= fbdata.pagename then -- Weiterleitung auf sich selbst rausfiltern
if seite[1] ~= fbdata.fullpagename then -- Weiterleitung auf sich selbst rausfiltern
local geolokation = que.getValues(g, "Geolokation", true)
local geolokation = smw.getValues(g, "Geolokation", true)
for _, l in ipairs(geolokation) do -- alle Geolokationen eines Gebäudes durchiterieren
if #geolokation > 0 then
if locationlist ~= "" then
for _, l in ipairs(geolokation) do -- alle Geolokationen eines Gebäudes durchiterieren
locationlist = locationlist .. ";"
if locationlist ~= "" then
locationlist = locationlist .. ";"
end
locationlist = locationlist .. l
end
elseif not com.isTrue(args["Ehemals"]) then
local location = g .. ",Fürth,Bayern,Deutschland" -- #geocode probieren
local geocode = fbdata.frame:callParserFunction("#geocode", location)
if geocode ~= "Geocoding failed" then
if locationlist ~= "" then
locationlist = locationlist .. ";"
end
locationlist = locationlist .. location
end
end
locationlist = locationlist .. l
end
end
end
end
Zeile 46: Zeile 57:
-- Karte erstellen
-- Karte erstellen
-- mw.logObject(args, "args")
-- mw.logObject(args, "args")
t = t .. kar.karte(fbdata.frame, args)
local t_karte = ""
if kar.kartenArgsVorhanden(args) or not com.isTrue(args["Ehemals"]) then
t_karte, fbdata.geoobjects = kar.karte(fbdata.frame, args)
end
t = t .. t_karte
end
end
-- Tab draus machen
-- Tab draus machen
Zeile 54: Zeile 69:
end
end


function p.getKartenArgs_(fbdata, zoomdefault, additional_args)
function p.getKartenArgs_(fbdata, zoomdefault)
-- mw.logObject(fbdata, "karte(fbdata, " .. tostring(zoomdefault) .. ")")
-- mw.logObject(fbdata, "karte(fbdata, " .. tostring(zoomdefault) .. ")")
-- Konsolenzeile zum Debuggen:
-- Konsolenzeile zum Debuggen:
Zeile 60: Zeile 75:


-- nur die benötigten Argumente übernehmen
-- nur die benötigten Argumente übernehmen
local args = {"lat", "lon", "location", "locationlist", "geojson", "zoom", "Debug", "GeoJsonKarte"}
local args = {
for _, a in ipairs(additional_args or {}) do
"lat", "lon", "location", "locationlist", "geojson", "GeoJsonKarte",
table.insert(args, a)
"zoom", "Ehemals", "Work"}
end
local noargs
args = wik.getArgs(fbdata.pargs, args)
args, noargs = wik.getArgs(fbdata.pargs, args)
args.noargs = noargs -- keine Karten-args vorhanden
-- geojson ermitteln
-- geojson ermitteln
if args["geojson"] == nil and com.isTrue(args["GeoJsonKarte"]) then
if args["geojson"] == nil and com.isTrue(args["GeoJsonKarte"]) then
Zeile 71: Zeile 87:
-- Defaults und Sonstiges
-- Defaults und Sonstiges
args["zoom"] = args["zoom"] or zoomdefault
args["zoom"] = args["zoom"] or zoomdefault
args["width"] = "" -- passt sich automatisch ein
args["width"] = "auto" -- passt sich automatisch ein
args["height"] = "" -- passt sich automatisch ein
args["height"] = "auto" -- passt sich automatisch ein
args["box"] = "nein" -- keine eigene Box, da Teil der Faktenbox
args["box"] = "nein" -- keine eigene Box, da Teil der Faktenbox
args["form"] = "ja" -- Formular-Hinweis
args["form"] = "ja" -- Formular-Hinweis
args["hide_loc_latlon"] = fbdata.hide_loc_latlon or "ja" -- Pin-Anzeige deaktivieren, wenn GeoJson vorhanden
args.noattr = fbdata.attr.noattr -- keine Attribute setzen
args.nowarn = fbdata.transcluded -- keine Wartungsmeldungen wurde transcluded
-- mw.logObject(args, "args")
-- mw.logObject(args, "args")
return args
return args