Zum Inhalt springen

Landkarte dynamisch generieren

Erstellt am 13. Oktober 2004 · 2 Antworten · letzte Antwort am 29. März 2005

Tags: Bilder, Frage

SPHolzi ·

Hallo,

ich möchte für eine Unterseite ein Extra-Menü generieren, das eine Landkarte darstellen soll. Die Karte soll als png hinterlegt sein und die einzelnen Orte (bzw. deren Koordinaten) ausgelesen und als Sympole dargestellt werden, das ganze dann noch als Imagemap.

Wie pack ich das am besten an, dass der Redakteur einen Punkt uaf der Karte anklicken kann und dieser dann als Referenz zur Seite gespeichert wird?

Bin für alle Tips dankbar,

Grüßle vom Bodensee, Steffen

Oliver Thiele ·

Eine Möglichkeit wäre eine BE oder FE-Plugin-Extension. In dieser könnte in Flash eine Karte geladen werden und per ActionScript-Programmierung könnte dann eine Auswertung der angeklickten Position gemacht werden.
Die Ausgabe der Karte könnte dann einfach in Flash oder etwas aufwendiger mit PHP und ImageMagick in einer weiteren oder auch gleichen Extension erfolgen. Für die Ausgabe habe ich mal sowas für einen Kunden mit Flash programmiert:
http://www.aumann.com/kontakt.html
Leider müssen hier noch die Positionen und die aufgerufenen URL's manuell in den Flashfilm eingetragen werden.

Als PNG-Image für die Image-Map müsste dynamisch für jeden DB-Eintrag eine weitere Ebene in der PHP-Klasse der Extension generiert werden. Desweiteren müsste auch hier der komplette HTML-Code für die Image-map dynamisch erzeugt werden. Dies ist mit Typo3-internen Sachen (IMGMENU) vermutlich nicht machbar, da hier nur ein Offset von einem zum nächsten Menüpunkt anzugeben ist. Vielleicht kann man ja mit der imgMapExtras (gibt weitere <area..->Tags an) und dem Einsatz von sehr viel TypoScript-Kniffen (z.B. so Sachen wie doNotLinktIt, dataWrap,...) was hinbekommen, habe das allerdings nie getetstet - in PHP in einer Extension hätte ich das halt schneller programmiert.

Ist zwar noch nicht die Lösung, aber vielleicht schon mal ein Lösungsansatz, den ein Programmierer dann zuende bringen könnte.