Modul:Straße: Unterschied zwischen den Versionen

(Änderungen Faktenbox)
 
(14 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 7: Zeile 7:
local kar = require("Modul:Karte")
local kar = require("Modul:Karte")
local wik = require("Modul:Wiki")
local wik = require("Modul:Wiki")
local smw = require("Modul:SMW")


function p.Faktenbox(frame)
function p.Faktenbox(frame)
Zeile 32: Zeile 33:
-- Straßen-spezifische Kategorien usw.
-- Straßen-spezifische Kategorien usw.
if fbdata.pargs["Stadtteil"] == nil then
if fbdata.pargs["Stadtteil"] == nil then
t = t .. "[[Kategorie:Straßen ohne Stadtteil]]"
fab.addWartungsmeldung(fbdata, "Straßen ohne Stadtteil")
end
end
if fbdata.pargs["Ort"] == nil then
if fbdata.pargs["Ort"] == nil then
Zeile 108: Zeile 109:
-- Karte erstellen
-- Karte erstellen
if karten_args_vorhanden or n_gebaeude > 0 then
if karten_args_vorhanden or n_gebaeude > 0 then
args["nomap"] = "ja" -- kar.karte() rendert NICHT die Karte!
local t_karte -- sondern füllt nur SMW-DB und geoobjects
t_karte, fbdata.geoobjects = kar.karte(fbdata.frame, args) -- und setzt Kategorien
t = t .. t_karte
-- Karten-Query zusammensetzen
-- Karten-Query zusammensetzen
local query = {
local query = gebaeude_selector
gebaeude_selector .. " OR [[" .. fbdata.pagename .. "]]",
local geojson_pagename = args["geojson"] or fbdata.pagename
if not wik.pageExists("GeoJson:" .. geojson_pagename) then
query = query .. " OR [[" .. fbdata.pagename .. "]]"
geojson_pagename = ""
end
query = {
query,
["format"] = "leaflet", ["limit"] = "10000",
["format"] = "leaflet", ["limit"] = "10000",
["zoom"] = args["zoom"],
["zoom"] = args["zoom"],
Zeile 124: Zeile 127:
table.insert(query, "?" .. q)
table.insert(query, "?" .. q)
end
end
if fbdata.geoobjects.geojson.exists then
if geojson_pagename ~= "" then
query["geojson"] = fbdata.geoobjects.geojson.pagename
query["geojson"] = geojson_pagename
elseif args["lat"] ~= nil and args["lon"] ~= nil then
elseif args["lat"] ~= nil and args["lon"] ~= nil then
query["centre"] = args["lat"] .. "," .. args["lon"]
query["centre"] = args["lat"] .. "," .. args["lon"]
Zeile 132: Zeile 135:
end
end
-- Karte per #ask rendern
-- Karte per #ask rendern
t = t .. fbdata.frame:callParserFunction("#ask", query)
local t_karte = fbdata.frame:callParserFunction("#ask", query)
-- kar.karte() hinterher schieben
if str.strip(t_karte or "") ~= "" then
t = t .. t_karte
args["nomap"] = "ja" -- kar.karte() rendert NICHT die Karte, sofern #ask-Karte erfolgreich
end
t_karte, fbdata.geoobjects = kar.karte(fbdata.frame, args) -- kar.karte() setzt Kategorien
t = t .. t_karte
end
end
end
end