Landkarte mit Koordinatenausgabe für die Maus
Neuss
- javascript
0 AllesMeins0 Neuss
0 fastix®0 Daniel Thoma
Tach
Ich überlege schon einige Tage wie ich es hinbekommen könnte ein Bild von einer DE-Landkarte darzustellen und die User klicken auf die Stelle wo sie wohnen und die Koordinaten wo sie geklickt haben kann ich in meiner MYSQL-DB speichern (und später dann mit einem kleinen punkt versehen > oder ein layer bei onmouseover)...
Ich habe es bisher nur soweit gebracht dass ich die Koordinaten der Maus für das Gesamte Fenster bekomme (und das sogar als Hidden-Fields für X & Y und speicherung)... aber eben nicht wie ich das nur auf einem Bild mache...
Ich könne natürlich einfach das Fenster so gross wie die Karte machen und so... =)
Zusätzlich wäre es noch richtig gut wenn man es hinbekommen könnte dass die Koordinaten nur als OK übertragen werden wenn man innerhalb einer abmassung war... damit halt kein schwezvogel aufs Wasser klickt =) (aber ich glaube das könnte man noch mit Imagemaps deklarieren wo man wasserflächen mit makiert und wenn man auf ein imagemap-Spot klickt bekommt man sowieso ein alert() ausgegeben)
jemand ne idee? Bzw. schonmal irgendwo gesehen?
ciao
Hiho,
ich kann dir keine antwort geben ich kann dich nur warnen und dir raten von der Idee wieder Abstand zu nehmen. Ansonsten wirst du die nächsten Wochen nur Stress haben (und höchst wahrscheinlich trotzdem zu keinem Ergebniss kommen). Das ganez hat folgende Gründe:
1.) Der Mozilla und der IE nutzen völlig verschiedene Funktionen um die Mausposition zu ermitteln, die auch noch total unterschiedlich angesprochen werden. Da wirst du schon etwas basteln dürfen bis das klappt.
2.) Hast du 1. gemeistert wirst du fest stellen das der IE un der Mozilla die Koordinaten auch noch anders berechnen. Ich bin mir nicht mehr sicher, meine aber der IE rechnet die Koordinaten auf den ganzen Bildschirm, der Mozilla nur auf den sichtbaren Bereich bzw. in relation zum Mutterelement, oder sowas. Du wirst auf jeden Fall höchst wahrscheinlich zwei unterschiedliche Koordinaten bekommen, je nachdem mit welchem browser der Nutzer unterwegs ist.
3.) Soltest du 1 und 2 gelöst haben wirst du fest stellen das die Koordinaten auch nicht mehr stimmen, wenn der Nutzer gescrollt hat. Denn einer der Browser rechnet auf das gesamte Dokument (ich glaube der Mozilla) der andere auf den sichtbaren bereich. Sprich jemand scrollt runter und klickt dann unterscheiden sich die Koordinaten nicht von einem Klick auf den un gescrollten Dokument
4.) wenn du immer noch nicht genug hast versuch dann noch mal die Fesnter-Grösse zu verändern (also kein Vollbild-Browser-Fenster) und die Koordinaten sind schon wieder anders.
Und das war nur für die neueren Browser (Mozilla und IE6) wie sich ältere verhalten ist noch gar nicht berücksichtigt. Wie dem auchs ei, wenn du kein fertiges Script findest wirst du jede Menge Spass haben!
Grüsse
Hiho,
ich kann dir keine antwort geben ich kann dich nur warnen und dir raten von der Idee wieder Abstand zu nehmen. Ansonsten wirst du die nächsten Wochen nur Stress haben (und höchst wahrscheinlich trotzdem zu keinem Ergebniss kommen). Das ganez hat folgende Gründe:
1.)
Könnte Probleme geben... stimmt! Aber mit etwas recherche... könnte gehen!
2.)
Das wird gelöst da die Koordinaten nicht nur gespeichert werden sondern die GD-Library die Karte automatisch mit einem Punkt ergänzt und somit es nur eine FESTE Grafik ist
3.)
(löst man wie bei Punkt 2)
anderseits: Man könnte die Ausgabe in einem eignene Fenster machen dass nur so gross ist wie die Grafik und man es nicht Resizen kann.
4.)
Da es ein Fenster ohne RESIZE-Funktion ist können wir davon absehen
Das ist mir nicht sonderlich wichtig. Ich gehe davon aus dass Menschen immer aktuell auf dem Stand sind (maximale dürfen sie 0,5 versionen hinterherhängen > z.B. 4.0 Aktuell dann dürfen sie 3.8 bis 3.5 auch noch gerade so haben). Wenn sie nicht aktuell sind haben sie im Internet/Meiner Seite nicht viel verloren. Auf der Seite läuft nicht Opa Heinz rum sondern Leute die von der Materie ahnung haben.
Grüsse
Dito =)
Und Danke!
ciao
Das wird gelöst da die Koordinaten nicht nur gespeichert werden sondern die GD-Library die Karte automatisch mit einem Punkt ergänzt und somit es nur eine FESTE Grafik ist
Nein, eben nicht. Denn es bringt dir nichts wenn die GD den Punkt setzt aber falsche Koordinaten bekommt, weil der IE/Mozilla anders rechnen.
Grüsse
Moin!
jemand ne idee? Bzw. schonmal irgendwo gesehen?
geht gaaaanz einfach.
<form><input type="image" src="bild.gif" onclick="submit()"></form>
Überträgt die Position der Maus über der Grafik zum Zeitpunkt des Klicks. JS vorausgesetzt...
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
hi,
<form><input type="image" src="bild.gif" onclick="submit()"></form>
Überträgt die Position der Maus über der Grafik zum Zeitpunkt des Klicks. JS vorausgesetzt...
nein, kein JS vorrausgesetzt, und das onClick kannste dir auch sparen - input type="image" fungiert automatisch als submit-button.
wäre auch mein vorschlag gewesen, um möglichst einfach an die koordinaten des klicks ranzukommen ...
gruss,
wahsaga
Moin!
nein, kein JS vorrausgesetzt, und das onClick kannste dir auch sparen - input type="image" fungiert automatisch als submit-button.
hehe :) Stimmt, aber das das JS kann ich nicht voraussetzen, weil ich tatsächlich das onclick="submit()" sparen kann.
Einziges Risiko: Opera vergrößert gegebenenfalls die Grafiken auf Benutzerwunsch und ich weiss nicht, wie der sich bezüglich der Koordinaten dann verhält.
wäre auch mein vorschlag gewesen, um möglichst einfach an die koordinaten des klicks ranzukommen
Jepp. Es ist ja auch der beste :)
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Moment moment....
Wo finde ich die Koordinaten?
Wo gibt er sie mir aus?
Wer ist der handler?
ciao
Moin!
Moment moment....
Schreib einfach das mal ab und Klicke auf die Grafik :)
Die Daten werden als GET- Parameter in der URI übertragen und sind in der Adresszeile zu sehen.
Eventuell gibts Probleme mit Session- ID's, die dann in ein verstecktes Formularfeld gehören, weil sie sonst ignoriert (oder überschrieben) werden. Wenn Du nicht weisst, was das ist, mache Dir keine Sogen und klicke auf [weiter].
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Hallo Neuss,
Erstmal 2 Lösungsvorschläge ohne Jacascript:
Bei Imagebuttons werden die Coordinaten des Clicks mitgeschickt.
Die Parameter haben die Namen x und y.
http://selfhtml.teamone.de/html/formulare/formularbuttons.htm#grafische
Außerdem könntest Du auch serverseitige Imagemaps verwenden:
http://selfhtml.teamone.de/html/grafiken/verweis_sensitive.htm#server_seitig
Um die Koordinaten an den Server zu übertragen, sind das vermutlich die geschicktesten Möglichkeiten.
Mit Javascript gestaltet sich das etwas schwieriger. Die verschieden Eigenschaften, die Du verwenden kannst, findest Du hier:
http://selfhtml.teamone.de/javascript/objekte/event.htm
Grüße
Daniel