Payments auf Karte anzeigen lassen

Hallo,

ich würde mir gerne alle Läden auf einer Karte anzeigen lassen, welche bei “Payment” etwas hinterlegt haben. Gibt es dazu eine schöne Karte?

Danke
Manuel

Solche Abfragen kann man ganz schnell mit Overpass-Turbo selbst anlegen:
http://overpass-turbo.eu/s/A2i

Vielen Dank, das hilft mir schon mal ein bisschen weiter und habe damit auch schon herum experimentiert.

Habe mich auch mal daran versucht, mit Leaflet und Overpass eine Ausgabe für hiinzubekommen, aber die Beispiele die ich gefunden habe funktionieren nicht mehr.

Eine fertige Seite (wie openfiremap) gibt es dafür wohl nicht?

Also mir ist noch keine über den Weg gelaufen.

wie wäre es z.B. mit der Geldautomaten-Suche (github)

Vielen Dank, schau ich mir mal genauer an.

Versuche es gerade mit Leaflet und Overpass, leider sind die Infos die ich bekommen möchte, in way, node und relation gespeichert.
Overpass Turbo macht daraus dann:

[out:json][timeout:25];
// gather results
(
  // query part for: “"payment:google_pay"=yes”
  node["payment:google_pay"="yes"];
  way["payment:google_pay"="yes"];
  relation["payment:google_pay"="yes"];
);
// print results
out body;

Ich nutze folgende Grundlage: https://github.com/GuillaumeAmat/leaflet-overpass-layer

Wie bekomme ich das in

endPoint: 'https://overpass-api.de/api/',
query: '(node["payment:google_pay"="yes"];way["payment:google_pay"="yes"];relation["payment:google_pay"="yes"];);out qt;',

so dass es funktioniert.

Bekomme immer

Uncaught TypeError: Cannot read property 'lat' of undefined
    at e.onSuccess (OverPassLayer.bundle.js:1)
    at e._onRequestLoad (OverPassLayer.bundle.js:1)
    at XMLHttpRequest.r.onload (OverPassLayer.bundle.js:1)

Leider konnte ich dazu nichts finden, hat jemand eine Idee wo der Fehler liegt?

Vielen Dank schon einmal
Manuel

Naja, ich habe jetzt nicht tief in den Quellcode geguckt, aber auf der Github Seite steht ja was von POI-Layer und POIs sind normalerweise ja nur Nodes … und overpass liefert für way und relation (im Normalfall*) keine lat/lon Werte, sondern die jeweiligen Nodes als Liste in deren wiederrum dann lat/lon stehen würden, was dir aber ja nichts bringt. Eventuell hilft dir “out center” was, aber da wird lat/lon unterhalb von “center” wiedergegeben.

Habs gefunden: du musst out center verwenden :wink:

Super, vielen Dank. Wusste zuerst nicht was du genau meinst, aber mit etwas rumtüfteln hat es funktioniert.

Karte läuft nun, sieht aber etwas dürftig aus: https://osm.sonnengipfel.de/googlepay.html

Ist doch schonmal ein guter Anfang.

Aber interessant – die Akzeptanzstellen scheinen sich lokal zu häufen (Ravensburg, Velbert, Neu-Isenburg gibt es ganz viele, in Berlin hingegen gar keine). Aber vermutlich wurden sie einfach nur dort erfasst und sonstwo gibt es auch welche, aber OSM weiß nichts davon.

Richtig, kontaktlos geht ja mittlerweile bei jedem Aldi, Lidl, Kaufland, … Nur die Erfassung auf OSM fehlt noch gewaltig. Daher auch die Häufung in Ravensburg, weil da hab ich meine Erfahrung eingetragen :smiley:

Aber gerade OSM wäre für so etwas super, denn dann kann man auch kleinere Händler erfassen. Und z.B. bei Penny ist es so, dass Kreditkarten nur in Grenznähe genommen werden, pauschale Aussagen kann man bei Penny also nicht treffen.

Krass, was auf den ersten Blick gar nicht so auffällt, das Plugin führt nur beim Switch von Zoomlayer 14 zu 15 die query aus, und das ohne bbox, somit also weltweit …

PS: Ich frage mich ja immer noch, ob es überhaupt Sinn macht, nach relation[“payment:google_pay”=“yes”] zu suchen :roll_eyes:

Der Overpass Turbo Wizard hat alle 3 ausgespuckt, daher habe ich es mal drin gelassen. Aber eine Abfrage nur nach relation bringt tatsächlich ein leeres Ergebnis.

Das bbox hab ich mal beim rumrpobieren raus genommen und es hat funktioniert :smiley:

Aktuell mag das bei ingesamt 109 Objekten noch “schnell” funktionieren, sollte das aber rasant wachsen, solltest du dir nochmal Gedanken drüber machen.
Und wie schon geschrieben, bzw. jetzt anders ausgedrückt: ich sehe keinen Sinn darin, payment in einer Relation zu halten.

Und etwas abfragen, was nicht da ist (bzw. evtl. nie sein wird), kostet leider trotzdem Ressourcen.

Diesen Fall gibt es häufiger: Ein Laden ist an das Gebäude gemappt und das Gebäude hat einen Innnenhof. Damit ist der shop eine Relation vom Typ multipolygon.
Die “aktuelle” Version von overpass kennt übrigens den Typ “nwr” der gleichzeitig node, way und relation abfragt.

Yepp, auch type=site ist möglich.
Beispiel (ohne payment Attribut):
https://www.openstreetmap.org/relation/276164