[Öffnungszeiten] Popup öffnet sich nicht, Country code missing
h8h opened this issue · 9 comments
Aus irgendeinen Grund funktioniert das Try-Catch für die Öffnungszeiten nicht immer, hier z.B. nicht:
https://acme.im/direktvermarkter/#49.00865,8.37582,18z
https://farmshops.eu/#49.00896,8.37555,18z
Bei diesem Popup gibt es einen Fehler weil die Bibliothek PH nicht kennt.
Siehe #34
Also bei mir (acme.im
) kommt in der Console
"uncaught exception: Country code missing which is needed to select the correct holidays (see README how to provide it)"
Lt. der opening_hours documentation README.md, steht da drin
nominatim_object (optional, type: object or null): In order to calculate the correct times for variable times (e.g. sunrise, dusk, see under Time ranges) the coordinates are needed. To apply the correct holidays (PH) and school holidays (SH) the country code and the state is needed.
Somit sollte das nominatim_object noch initialisiert werden und dann solltes es wieder funktionieren.
Ich hab heut etwas reverse engieeniert und habe herausgefunden, das folgender JSON Blob funktioniert:
{"address":{"country":"Germany","country_code":"de"}}
Das passt nun prima in unsere neue Struktur :).
{
"properties" : {
"Einrichtung " : "marketplace"
},
"geometry" : {
"coordinates" : [
6.9330994,
51.1698469
],
"type" : "Point"
},
"id" : "node/4931331156",
"website" : "http://www.hildener-wochenmarkt.de/",
"type" : "Feature",
"address" : {
"city" : "Unbekannt",
"country":"Germany",
"country_code":"de"
},
"opening_hours" : "We 07:00-13:00; Sa 07:00-13:30; PH off",
"property" : "marketplace"
}
Ich weiß nicht wie weit wir andere Europäischen Länder auch abdecken.
Am Besten wäre es vllt. dann auch einfach die OverPass API Anfrage anzupassen und nicht nach Bounding Boxes zu gehen, sondern nach Ländern, bspw.:
[out:json][timeout:742];
// gather results
area["name"="Deutschland"]->.de;
(
node["vending"~"milk|eggs|food"](area.de);
way["vending"~"milk|eggs|food"](area.de);
relation["vending"~"milk|eggs|food"](area.de);
// query part for: “amenity=marketplace”
node["amenity"="marketplace"](area.de);
way["amenity"="marketplace"](area.de);
relation["amenity"="marketplace"](area.de);
// query part for: “shop=farm”
node["shop"="farm"](area.de);
way["shop"="farm"](area.de);
relation["shop"="farm"](area.de);
);
out center;
Soll ich noch einen PR erstellen oder magst du die Änderungen einpflegen?
Hey Chris ich habe heute den ganzen Tag relativ viel um die Ohren, wenn Du Zeit und Lust hast kannst Du gerne ein PR stellen. Ansonsten gehe ich das am Wochenende an.
Hey, leider war dieses Wochende kaum Zeit um daran zu arbeiten. Ich habe eine grundsätzliche Frage: In deutschland hat jedes Bundesland eigene Feiertage, genügt das Land überhaupt um sinnvoll arbeiten zu können?
Einzelne Abfragen zu den Ländern plus eine Angabe des Landes in der Abfrage ist auch grundsätzlich eine interessante Idee, weil man damit auch andere Dinge wie z.B. länderspezifische Popups u.ä. umsetzen könnte. Kann man denn ohne weiteres die Abfragen trennen? Der Löschvorgang zu Beginn darf z.B. nur einmal stattfinden.
Ich habe nebenher das script update.sh geschrieben über das ich demnächst ein cronjob für automatische Updates umsetzen möchte und das auch so schon die Updates leichter macht. Evtl. hilft uns das auch bei diesem Problem.
Hey, danke für deine Arbeit, sehr coole Lösung. Ich habe mir das ganze angeschaut und gelegentlich wird der Ländercode nicht erkannt. Hier bei den Koordinaten #49.03224,8.35991,13z zum Beispiel, die Abfrage funktioniert, aber das Datum wird nicht erkannt:
Gute Frage, das muss ich mir glaub ich in Ruhe anschauen.
So atok finde ich keine Lösung, der geht nicht in den success, aber ein error gibt es auch nicht.
Der Grund warum das ganze synchron laufen muss, ist das Popup gerendert sein muss, bevor die popupcontent
Funktion verlassen wird (return). Vllt. gibts hier ne Race Condition.
Hey der nächste Schritt ist es die Änderungen vom Master in den New Data Structure Branch zu bringen. Da ist mittlerweile einiges zum nachziehen vorhanden. Evtl ist es anders herum einfacher.
Ich denke auch, dann sollte ich mich da mal ran machen oder :)
Gerne ich unterstütze dabei wo ich kann, habe diese Woche aber wenig Zeit dafür.