Es geht auch ohne Google-Maps: Autovervollständigung von Adressen und Koordinaten für Webseiten

Jeder hat es schonmal gesehen: Wir geben die Adresse ein und durch Magie erhalten wir automatisch direkt passende Ergebnisse. Diese Ergebnisse kommen natürlich nicht von ungefähr, sondern werden aus einer API passend ausgelesen und dargestellt. Dies ist nicht nur komfortabel für den Nutzer sondern bietet auch zuverlässige Datensätze. Es gibt nichts Schlimmeres als hunderte Datensätze mit falschen oder unvollständigen Adressen, die ohne Abgleich in der Datenbank abgelegt worden sind. Zugleich ist für das System nicht nur die Bezeichnung interessant, sondern auch die Koordinaten der Adresse – somit kommt man kaum an einem solchen Service vorbei.
Autovervollständigung mit Daten von Openstreetmap und der richtigen API

Die Autovervollständigung von Algolia bietet viele Optionen. (Screenshot: Algolia)
Nicht immer muss man ein großes Fass aufmachen um sein Ziel zu erreichen. Google-Maps und die dazugehörige API können zwar viel, sind aber wiederum auch an ein Lizenz-Model gekoppelt und benötigen einen registrierten Account inklusive API-Key. Wer jetzt noch eine private Applikation entwickelt, die nicht öffentlich zugänglich ist, darf tief in die Tasche greifen, um die API von Google-Maps nutzen zu dürfen. Für kleine Projekte und Webseiten, die ausschließlich eine Autovervollständigung benötigen, wird hier mit Kanonen auf Spatzen geschossen – es wird Zeit für eine passendere und kleinere Lösung.
Der Service von Algolia Places bietet eine echte Alternative an. Für die Verwendung muss lediglich die bereitgestellte Javascript-Lib integriert und der Input-Container selektiert werden. Fertig ist unsere Autovervollständigung. Das ganze kann in der Praxis folgendermaßen aussehen:
<input type="search" id="address-input" placeholder="Where are we going?" />
<script src="https://cdn.jsdelivr.net/places.js/1/places.min.js"></script>
<script>
var placesAutocomplete = places({
container: document.querySelector('#address-input')
});
</script>
Die API selbst bietet der Service Algolia kostenfrei (bis 1000 Requests/Tag) an, die Stammdaten hingegen werden von Openstreetmap geliefert und basieren auf der Open-Source-Datenbank Planet.osm. Openstreetmap selbst bietet keine API an, da die Kosten und Unterhaltung der Server einem Open-Source-Projekt nicht gerecht werden würden. Natürlich dürfen auch keine Events, Optionen und Templates fehlen – alle wichtigen Informationen könnt ihr aus der Dokumentation entnehmen oder euch weitere Demos auf der offiziellen Webseite unter den Beispielen angucken.
Das Fazit: Autovervollständigung ohne Google-Maps
Google-Maps ist definitiv der Platzhirsch und sorgt mit einem guten Funktionsumfang für einen tollen Service. Nur leider ist genau dieser Funktionsumfang auch ein Hindernis bei kleineren Projekten. Wer die Google-API nicht aus dem Effeff kennt, benötigt für einfache Aufgaben viel Zeit – wie zum Beispiel bei der Autovervollständigung. Genau für solche Fälle bietet der Service von Algolia den richtigen Ansatzpunkt und verhilft schnell und einfach zu guten Ergebnissen. Wer zudem sowieso lieber mit Openstreetmap arbeitet, wird sich direkt wohlfühlen.
Wir sollten des Öfteren einmal mehr über den Tellerrand hinausblicken und andere Lösungen und Ansätze präferieren. Nicht immer ist die größte auch die beste Lösung!
Benutzt ihr lieber Openstreetmap oder Google-Maps? Schreibt es uns in die Kommentare.
Gleich mal getestet. Ist halt leider nur ein Eingabefeld für die Gesamt-Adress-Daten, die man dann für einen Datenbankimport erst wieder separieren müsste. Außerdem kam bei der Teststadt gleich mal ein falsches Bundesland als Info mit. Ansatz gut, hat aber noch Potential
Hallo Souciaro,
die Daten können natürlich auch separiert abgerufen werden:
https://community.algolia.com/places/examples.html#complete-form
Wenn falsche Datensätze hinterlegt sind, liegt das leider an einem Falsch-Eintrag von Openstreetmap.
Beste Grüße,
Jonathan