Diese Umsetzung ist nicht ganz trivial, vor allem wegen der Daten, die Du dazu benötigst. Vor kurzem habe ich bei so einem Problem einer Projektgruppe geholfen die genau dies für Deutschland lösen sollten, gelöst wurde dies dort folgendermaßen.
-
- Eine Datenbank enthielt alle Postleitzahlregionen Deutschlands und die entsprechenden Städtenamen
-
- Eine zweite Datenbank enthielt Städte ab einer bestimmten Größenordnung mit deren geografischen Längen- und Breitengraden
-
- Es gab mehrere normierte Grafiken für ganz Deutschland und einzelne Regionen
-
Gab nun jemand eine Adresse ein, so wurde anhand der Postleitzahl geprüft, ob eine geographische Angabe zu diesem Ort existiert. War dies der Fall, so wurde die entsprechende Kartengrafik bearbeitet und die Markierung direkt eingefügt über eine Umrechnung der Koordinaten auf Pixel der Karten (deswegen normierte Grafiken).
Existierten keine direkten Daten für die angegebene Adresse, so wurde die beste Übereinstimmung der Postleitzahl mit einer vorhandenen, für die geographische Angaben existierten, gesucht und anhand derer und dem Abgleich (lineare Interpolation) der nächstgelegenen Region mit bestehenden Daten die Lage eingezeichnet.
Das größte Problem bei dieser Anwendung ist für eine Privatperson an die entsprechenden geographischen Daten zu kommen und selbst wenn man Zugriff auf eine kommerzielle Datenbank hat, so muß man immer noch davon ausgehen, daß nicht jede Adresse in geographische Punkte aufgelöst werden kann.
Für den Hausgebrauch könnte es von der Genauigkeit her aber auch reichen, nur anhand von Postleitzahlen zu operieren, an diese kommt man leichter heran und kann die Postleitzahlregionen in einer Datenbank einfach mit x/y-Koordinaten auf einer Graphik verknüpfen, dies erleichtert den Aufwand enorm.