Linuchs: Orte in geografischen Karten markieren

Moin,

für einen Veranstaltungskalender suche ich eine europaweite (gerne weltweite) Landkarte, in die ich die Veranstaltungsorte eintragen kann. Diese Landkarte sollte verschiebbar und zoombar sein. Im Idealfall soll der unbekannte Leser auf der Startseite "seinen" Ort in der Mitte der Karte haben.

Bein Klicken in die Karte sollte der Veranstaltungskalender des geklickten Ortes (GPS-Position) erscheinen.

Ich kenne Google Maps und Openstreetmap, weiss aber nicht, wie ich denen die Orte per PHP-Programm "anheften" und nach Ende der Events wieder löschen könnte. Sind überhaupt automatische Einträge möglich?

Was ich bisher ausprobiert habe:

  1. Auf eine Deutschlandkarte von Wikipedia setze ich Orte als rote Kreise. Die Karte ist klein und nicht zoombar, In Ansammlungen von Orten (Küste, Rhein-Main-Region) sind einzelne Orte nicht zu unterscheiden. Ausländische Orte sind ausserhalb des Karten-Ausschnitts (sieht man, wenn man die Karte verschiebt). Ausserdem positioniere ich die Orte absolut bei jedem Aufruf, was auf die Performance geht (Programm-Durchlaufzeit unten rechts auf der Seite):

Deutschland-Karte

  1. Einige Jahre später habe ich gezoomte Karten von Google Maps ausprobiert mit regionalem Charakter. So weit, so gut, aber die taugen nicht für die Startseite, weil ich den Ort des unbekannten Lesers nicht kenne. Auch hier das Problem, dass ich die Orte während der Laufzeit einzeln an Google melde und Google die Marker setzt. Ein Klick auf die Marker führt nicht zum Ort der Veranstaltung (möglicherweise geht das, habe ich noch nicht geklärt):

Regionalkarte klick auf "Landkarte ausklappen"

Mir fehlt so etwas der Ansatz, was möglich ist. Oft sehe ich auf Google-Karten Einträge von Gewerbebetrieben, obwohl ich danach gar nicht gesucht habe. Könnte ich in gleicher Weise Veranstaltungsorte einblenden lassen? Oder eben eine "eigene" Karte mit solchen Orten haben und per PHP-Programm pflegen? Manuelle Eingabe ist ausgeschlossen.

Linuchs

  1. Lieber Linuchs,

    üblicherweise löst man soetwas mit JavaScript. Die Karten bindet man über einen externen Kartendienst (z.B. OpenStreetMap.org) ein. Um in der Karte passende Marker anzeigen zu lassen verwendet man eine passende Bibliothek (z.B. OpenLayers.org).

    Du darfst Dir gerne die Anfahrtsbeschreibung zu unserer Schule genauer anschauen, da setze ich beides ein.

    Liebe Grüße,

    Felix Riesterer.

    1. Lieber Felix,

      Du darfst Dir gerne die Anfahrtsbeschreibung zu unserer Schule genauer anschauen, da setze ich beides ein.

      Jupp. Ungefragt wird ein Rechteck mit der Adresse eingeblendet. Wenn ich das wegklicke, kommt es nicht wieder, wenn ich auf den gelben Marker klicke. In meinem Fall sitzen ja einige Marker nahe beisammen. Wäre schön, beim Drübermausen eine Kurzinfo zu bekommen und beim Klicken meine Orts- Webseite aufzurufen.

      Ich vermute, du hast die Schul- Adresse von Hand und nicht per PHP-Programm eingegeben?

      Ich schaue mir die Seite noch genauer an ...

      Linuchs

      1. Lieber Linuchs,

        Ich vermute, du hast die Schul- Adresse von Hand und nicht per PHP-Programm eingegeben?

        öhm, die Info liegt einem PHP-Script in einer XML-Datei vor, welches sie ins JavaScript schreibt.

        Ich schaue mir die Seite noch genauer an ...

        Vielleicht nützt sie Dir ja.

        Liebe Grüße,

        Felix Riesterer.

  2. Hallo,

    … weil ich den Ort des unbekannten Lesers nicht kenne.

    kennst du schon Geolocation?

    Gruß
    Jürgen