Neuss: Landkarte mit Koordinatenausgabe für die Maus

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

  1. 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

    1. 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

      1. 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

  2. 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®

    --
    Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
    1. 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

      1. 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®

        --
        Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
        1. Moment moment....

          Wo finde ich die Koordinaten?
          Wo gibt er sie mir aus?
          Wer ist der handler?

          ciao

          1. 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®

            --
            Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
  3. 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