Wie setzt Ihr aktuell eine Umkreissuche in SW6 um?
Meinnst du jetzt so rein programmiertechnisch oder als Plugin für SW6?
Bisschen mehr Beschreibung wäre gut. Für eine POS Suche?
Wie immer gilt:
Erst mit ein paar Begriffen unter docs.shopware.com suchen und dann im Shopware Store (store.shopware.com) schauen und dann hier genaue und ausführliche Fragen stellen.
Primär benötigst du eine Schnittstelle zu einem Geocoder (z.B. übe die Google API). Dann speicherst du dir einmal die Längen-/Breitengrade deiner Entität ab (z.B. Filiale). Bei der Suche durch den Kunden, musst du dann „in Echtzeit“ die eingegebene Adresse über die Geocoder-API ebenfalls wieder in Längen-/Breitengrad umwandeln.
Und mit der entsprechenden FormelBefehle zur Umkreisssuche kannst du dir eine SQL-Abfrage erstellen.
Mal ganz einfach gesagt.
Danke allerseits, tatsächlich interessieren mich die technischen Grundlage dahinter. Die Plugins sind ja bekannt, aber bieten nicht die gewünschten Entities.
Wir haben mittelmäßig Erfahrungen gemacht die Pluginanbieter anzuschreiben für Erweiterung des Plugins. Vielleicht hast du ja einen der das kostenlos oder per Vorkasse erweitert.
Oder hier in Auftrag geben: Job Posting - Shopware Community Forum
Ich habe so etwas früher programmiert. Zu jeder PLZ gibt es ein Längen- und Breitengrad. Die eigentliche Berechnung macht ein MySQL-Query. Es berechnet mittels vom Längen- und Breitengrad die Entfernung in Meter oder umgerechnet in Kilometer. Hier gab es mal im Netz eine Liste welche PLZ ungefähr welchen Längen- und Breitengrad hat. Das ist eigentlich schon die Grundlage. Das nötige Query kann man sich heute ja mit KI oder ChatCPT erstellen lassen.
Allerdings muss man sich immer vor Augen behalten, diese Berechnung ist auf rein Luftlinie bezogen. In meinem Falle würde so eine Umkreissuche Ort ergeben, die zwar Luftlinie 30 Km sind, aber per Auto dennoch über 100 km fahren muss.
@R4M Danke, Logik ist jetzt nachvollziehbar, muss mir erstmal strukturell Gedanken machen.
Hier gibt es eine PLZ-Geo-CSV mit den geographischen Mittelpunkten der jeweiligen PLZ:
Zudem gibt/gab es mal OpenGeoDB - wird aber glaube ich nicht mehr aktiv weiterentwickelt.:
Bei beiden hast du halt nur den Mittelpunkt von Städten/PLZ-Gebieten - also sehr rudimentär genau. Zudem werden beide - so wie es aussieht - nicht mehr wirklich aktiv gepflegt.
Wenn es etwas genauer sein soll, empfehlen sich GeoCoding-Anbieter, z.B.:
Kann man sich nicht an die Google Maps API andocken, wenn man Fahrzeiten und Gehwegzeiten und nicht nur Luftlinie ausgeben lassen möchte?
Oder natürlich auch OpenStreetMap: DE:API – OpenStreetMap Wiki
Für einzelne Datensätze („Wie lange brauche ich bis zur Filiale XYZ?“) sicherlich. Für eine Echtzeit-Umkreissuche mit x Datensätze performance-technisch keine Option.