Punkt auf Stadtplan markieren

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Punkt auf Stadtplan markieren

    Hallo,
    ich hab vor für unsere Feuerwehr im Einsatzarchiv eine Funktion anzubieten, die den Einsatzort als Punkt auf einem Teil des Stadtplans zeigt. Das ganze natürlich automatisch.

    Den Stadtplan könnte ich digitalisiert in (fast) jedem Format von der Stadt bekommen (also z.B: pdf, jpg, gif, bmp, ...)

    Mein Problem: Wie mache ich PHP klar, wo z.B: die Hauptstr. 4 ist? Wie kann ich die STraßen katalogisieren?

  • #2
    Linke obere Ecke ist x = 0; y = 0;

    Den Rest solltest du dir dann selber ausdenken können.

    Kommentar


    • #3
      Also wie ein Koordinatensystem.

      Noch eine Frage:
      Wie kann ic hdann einen Punkt oder ein Bild ins Bild einfügen?

      Kommentar


      • #4
        Positionier die Karte absolut und gib im ein z-index von -1.

        Mal einen roten Punkt, mit transparentem Hintergrund, und platziere es absolut auf der Karte mit einem z-index von größer -1.

        Kommentar


        • #5
          Machs am besten so:

          PHP-Code:
          <div style="position: relative; width: [breite_der_karte]; height: [hoehe_der_karte]; 
          background-image: url([karte]); background-repeat: no-repeat; cursor: crosshair" 
          onclick="get_mouseposition()"></div
          Mit der Funktion get_mouseposition() findest du heraus, wie weit die Maus vom Rand des divs entfernt ist (die Funktion musst du natürlich selber schreiben). Wenn jemand auf die Karte klickt, kann sich von mir aus noch eine andere Seite öffnen, wo man Einsatzdetails einfügen kann. Dann speicherst du den ganzen Schmarrn in eine DB (x, y, details).
          Dann machst du "SELECT * FROM einsaetze ORDER BY id" und dann
          PHP-Code:
          <div style="position: relative; width: [breite_der_karte]; height: [hoehe_der_karte]; 
          background-image: url([karte]); background-repeat: no-repeat; cursor: crosshair">
          <?php
          while($data mysql_fetch_array($query)){
            echo 
          '<div style="position: absolute; left: ' $data['x'] . '; top: ' $data['y'] . '>
          <img src="roter_punkt.jpg" alt="">
          </div>'
          ;
          }
          ?>
          </div>
          So würds ich machen. Das schwierigste an dem ganzen wird die Javascriptfunktion sein, die dir die Werte gibt...
          [color=black] Important: alt bei <img> ist immer erforderlich · Strings richtig trennen/verbinden · Kiddie-Code hat keine Chance[/color]

          Kommentar


          • #6
            Ne du hast mich falsch verstanden....

            Auf der Homepage gibts dann meinetwegen ne Seite wie sowas hier:



            ==========================================
            Brandeinsatz, 05.05.2005 - 02:04 Uhr

            Ort: Meierstr. 4 (Karte)

            Eingesetzte Kräfte: I. Zug, II. Zug, DRK, Kripo

            Einsatzbericht: Text

            Bilder: [Bilder]
            ==========================================

            Und wenn du auf Karte klickst, soll sich ein Auschschnitt von der Stadtkarte öffnen, auf der ein Punkt auf der Meierstr liegt.



            So wie du das da gemacht hast, zeigt er mir doch alle Einsätze an als Punkte auf der Karte, oder?


            Edit://

            Ich hab einen eigenen Vorschlag, sagt mal ob das funzen könnte:

            Wenn ich einen Einsatz neu reinstelle, geb ich in Formularfelder halt die ganzen Daten ein (Stichwort, Datum, Zeit, Ort, Kräfte, Bericht, ...) und am Ende der Seite muss ich auf nen Link klicken, ein Pop-Up öffnet sich mit dem Stadtplan und ich klicke mit der Maus auf den Stadtplan, genau an den Ort des Einsatzes.

            Dann mach hol ich mit JS mir die aktuelle Position der Maus (des Klicks) auf der Karte. Speichere dann die x und y Koordinaten in ne DB mit den Einsatzdetails.

            Wenn ein User nun den Bericht aufruft, liest PHP u.a. bei der Karte die x und y koordinaten aus und malt dann nen Kreis auf den Stadtplan, wo zuvor der Redakteur im ACP geklickt hat.

            Könnte das gehen?
            --

            Bevor ich diese Idee hatte, dachte ich ich sollte alle Straßen katalogisieren und so und der Redakteur soll in einem Drop-Down Menu auswählen, wo der Einsatz war und PHP sollte dann schon mit dieser Angabe damit was anfangen können.....
            Zuletzt geändert von Lord_Sikon; 04.08.2005, 09:09.

            Kommentar


            • #7
              Naja, führe deinen Gedanken doch noch ein wenig weiter. Hast du dir schon überlegt, dass du bei deinem Vorhaben die (Pixel)koordinaten von jedem Haus in deiner Stadt brauchst? Je nach Größe deiner Stadt hast du da ja ganz schön zu tun, mal abgesehen davon, dass man auf den meisten Stadtkarten ja nicht mal erkennen kann, wo ein Haus aufhört und das nächste beginnt.

              Meiner Meinung nach sparst du dir eine Menge Probleme wenn du ein wenig Geld ausgibst und dir einen Kartenservice von Falk oder Map24 oder irgendeinem anderen Anbieter zulegst.
              Dort sind die Hausnummern schon verortet und über ein Interface relativ leicht anzusprechen.

              Nachtrag:
              Wenn du in der Tat die erledigten Einsätze nur erfassen möchtest und nicht auf eine Menge von bekannten Häusern zugreifen möchtest (wo ist Hausnr 4?), kannst du das so machen, wie von dir beschrieben.
              Zuletzt geändert von frabron; 04.08.2005, 09:17.

              Kommentar


              • #8
                Deshalb hatte ich mir ja eben schon folgenden Gedanken gemacht, wo der ACP-User den EInsatzort manuell definiert (ideal bspw. bei Verkehrsunfall auf einer Bundesstraße).

                Hier nachmal die Idee:



                Ich hab einen eigenen Vorschlag, sagt mal ob das funzen könnte:

                Wenn ich einen Einsatz neu reinstelle, geb ich in Formularfelder halt die ganzen Daten ein (Stichwort, Datum, Zeit, Ort, Kräfte, Bericht, ...) und am Ende der Seite muss ich auf nen Link klicken, ein Pop-Up öffnet sich mit dem Stadtplan und ich klicke mit der Maus auf den Stadtplan, genau an den Ort des Einsatzes.

                Dann mach hol ich mit JS mir die aktuelle Position der Maus (des Klicks) auf der Karte. Speichere dann die x und y Koordinaten in ne DB mit den Einsatzdetails.

                Wenn ein User nun den Bericht aufruft, liest PHP u.a. bei der Karte die x und y koordinaten aus und malt dann nen Kreis auf den Stadtplan, wo zuvor der Redakteur im ACP geklickt hat.

                Könnte das gehen?

                Kommentar


                • #9
                  Ja klar geht das. Du bekommst die Koordinaten sogar frei Haus ohne JS. Das geht mit
                  Code:
                  <input type="image" ... name="karte"
                  Die Koordinaten kannst du dann mittels
                  Code:
                   $_REQUEST['karte_x'] und $_REQUEST['karte_y']
                  in dein Datenbankscript reinholen. Ziemlich simpel sogar

                  Kommentar


                  • #10
                    Original geschrieben von Lord_Sikon
                    Ich hab einen eigenen Vorschlag, sagt mal ob das funzen könnte:

                    Wenn ich einen Einsatz neu reinstelle, geb ich in Formularfelder halt die ganzen Daten ein (Stichwort, Datum, Zeit, Ort, Kräfte, Bericht, ...) und am Ende der Seite muss ich auf nen Link klicken, ein Pop-Up öffnet sich mit dem Stadtplan und ich klicke mit der Maus auf den Stadtplan, genau an den Ort des Einsatzes.

                    Dann mach hol ich mit JS mir die aktuelle Position der Maus (des Klicks) auf der Karte. Speichere dann die x und y Koordinaten in ne DB mit den Einsatzdetails.

                    Wenn ein User nun den Bericht aufruft, liest PHP u.a. bei der Karte die x und y koordinaten aus und malt dann nen Kreis auf den Stadtplan, wo zuvor der Redakteur im ACP geklickt hat.

                    Könnte das gehen?
                    Haben Schnopp bzw. ich diese Idee nicht schon gehabt, aber du hast nur gemeint
                    Ne du hast mich falsch verstanden....
                    ?

                    However, wie das gehen könnte, siehst du hier (<- anklickbar)
                    [color=black] Important: alt bei <img> ist immer erforderlich · Strings richtig trennen/verbinden · Kiddie-Code hat keine Chance[/color]

                    Kommentar


                    • #11
                      bei dir sah mir das allerdings eher nach einer übersicht aller Einsätze auf der Stadtkarte aus. D.h. ich hab das Bild des Stadtplans und darauf sind viele rote Punkte - jeder für nen Einsatz und dann klcikste auf den und dann öffnen sich erst die Details....

                      Naja ist ja auch egal.
                      Danke, das funktioniert jetzt!

                      Kommentar

                      Lädt...
                      X