Der Martin: input type="image" feststellen auf welchen Bereich geklick wurde

Beitrag lesen

Hallo,

Ist wohl so echt zu aufwaendig, da du ja fuer jedes Pixel in der Grafik rausfinden muesstest, zu welchem PLZ-Bereich es gehoert.

das ist gar nicht so kompliziert, wie es sich anhört!
Nimm die Grafik mit der Karte, und mach eine Kopie davon.
Bearbeite diese Kopie nun so, dass jeder PLZ-Bereich mit einer anderen Farbe ausgefüllt wird. Die Grafik besteht dann nur aus aneinandergrenzenden Polygonen, von denen jedes eine andere Füllfarbe hat.
Mit den gdlib-Funktionen von PHP kannst du nun diese Grafik laden, an den Koordinaten, die der Client übergibt, die Farbe bestimmen und bekommst so wieder den PLZ-Bereich raus.

Okay, das ist ein bissl Fleißarbeit, aber schlimmer als das Ermitteln der Koordinaten für die Imagemap kann es auch nicht sein.

Die einfachste Loesung waere es, wenn du das ganze auf zwei getrennten Seiten nacheinander machst.
Also beispielsweise erst ein Formular mit der Select-Box abschicken und auf der Folgeseite dann die Karte mit den areas definieren. Hier kannst du dann den vorher ausgewaehlten Wert mit PHP reinschreiben und per Link dann uebergeben:
<area href="filter.php?plz=2&rubrik=WERTVONVORHER">...
<area href="filter.php?plz=3&rubrik=WERTVONVORHER">...
<area href="filter.php?plz=4&rubrik=WERTVONVORHER">...

Auch 'ne Möglichkeit. Damit erzwingst du außerdem eine gewisse Systematik (erst Auswahl treffen, dann PLZ anklicken). Damit ist ein vorzeitiges Absenden unvollständiger Informationen ausgeschlossen.

So long,
 Martin

--
Wenn Zeit das Kostbarste ist, was wir haben, dann ist Zeitverschwendung die größte aller Verschwendungen.
  (Benjamin Franklin, amerikanischer Tüftler und Politiker)