Ergebnis 1 bis 11 von 11
  1. #1
    Mitglied
    Registriert seit
    Aug 2007
    Beiträge
    265
    Danksagungen
    0

    Standard GPS Koordinaten auf Google Maps Karte anzeigen

    Hallo,

    Folgendes:
    Ich bekomme aus einem PHP-Skript GPS Koordinaten geliefert und möchte den angegebenen Standpunkt automatisch auf einer Karte (GoogleMaps) auf meiner Website anzeigen.

    Hat das vl. schon mal wer gemacht und kann mir paar Tipps geben oder ein gutes Tutorial zum implementieren der API?

    EDIT:
    Ok, dachte nicht, dass das so einfach ist XD
    http://code.google.com/intl/de-DE/ap.../tutorial.html

    Danke im Vorraus,
    Liebe Grüße
    Geändert von .:cor_nic:. (22. 05. 2011 um 19:48 Uhr)

  2. #2
    Mitglied

    (Threadstarter)


    Registriert seit
    Aug 2007
    Beiträge
    265
    Danksagungen
    0

    Standard Re: GPS Koordinaten auf Google Maps Karte anzeigen

    Hallo,

    Hätte noch eine kleine Frage.

    Ich habe jetzt mehrere Positionsdaten in einer Datenbank und kann diese auslesen.
    $gps_row["longitude"]
    $gps_row["latitude"]

    Jetzt möchte ich alle Koordinaten auf der Karte mit mehreren Markierungen anzeigen.
    Ich weiß, dass ich so eine Markierung an einer statischen stelle (hier bei x=-34.392 und y=150.644) anlegen kann.

    PHP-Code:
    <script type="text/javascript">
      function 
    initialize() {
        var 
    = -34.392;
        var 
    150.644;
        
        var 
    latlng = new google.maps.LatLng(xy);
        var 
    myOptions = {
          
    zoom13,
          
    centerlatlng,
          
    mapTypeIdgoogle.maps.MapTypeId.SATELLITE 
        
    };
        var 
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
        
        var 
    marker = new google.maps.Marker({
          
    positionlatlng
          
    mapmap
          
    title:"Markierung"
      
    });       
        
      }
    </script> 
    Nun meine Frage: wie kann ich mit den Variablen aus der mittels php durchgeführten Datenbankabfrage mehrere Markierungen auf der Karte erstellen?

    Ich hoffe, ihr versteht was ich meine!

    Wäre für jede Antwort sehr dankbar,
    Liebe Grüße
    .:cor_nic:.

  3. #3
    ex-Moderator Avatar von Kugelfisch23
    Registriert seit
    Oct 2007
    Beiträge
    18.640
    Danksagungen
    401

    Standard Re: GPS Koordinaten auf Google Maps Karte anzeigen

    Zitat Zitat von .:cor_nic:. Beitrag anzeigen
    wie kann ich mit den Variablen aus der mittels php durchgeführten Datenbankabfrage mehrere Markierungen auf der Karte erstellen?
    Erzeuge in deinem PHP-Skript JavaScript-Code, welcher die Marker hinzufügt. Du könntest die benötigten Längen- und Breitengrade etwa in Form eines (verschachtelten) JavaScript-Arrays ausgeben und dann in deinem JavaScript eine Schleife verwenden, welche für jedes Element dieses Arrays ein LatLng- und ein Marker-Objekt erzeugt.

  4. #4
    Mitglied

    (Threadstarter)


    Registriert seit
    Aug 2007
    Beiträge
    265
    Danksagungen
    0

    Standard Re: GPS Koordinaten auf Google Maps Karte anzeigen

    Hallo Kugelfisch,

    Vielen Dank für die hilfe, das klingt schon mal sehr gut.
    Allerdings bin ich noch ziemlich neu in PHP und damit daher etwas überfordert.
    Könntest du mir da eventuell ein wenig helfen?

    So bekomme ich die Werte:
    PHP-Code:
            while($gps_row mysql_fetch_assoc($gps)) 
            {
                
    $time substr($gps_row["time"],5,11);
                
    $long $gps_row["longitude"];
                
    $lat $gps_row["latitude"];    
            } 
    Und so erstelle ich die Karte mit Markierung (in dem Fall nur die letzte):
    PHP-Code:
      function initialize() { 

         
        var latlng = new google.maps.LatLng(<?php echo $long ?><?php echo $lat ?>); 
        var myOptions = { 
          zoom: 13, 
          center: latlng, 
          mapTypeId: google.maps.MapTypeId.SATELLITE  
        }; 
        var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 
         
        var marker = new google.maps.Marker({ 
          position: latlng,  
          map: map,  
          title:"<?php echo $time ?>"
      });        
         
      }
    Wie erstelle ich jetzt in PHP für jeden Wert einen Marker?

    Ich wäre dir wirklich unglaublich dankbar für die kleine Hilfe!

    Beste Grüße
    .:cor_nic:.

  5. #5
    Mitglied Avatar von The_Creed
    Registriert seit
    Dec 2008
    Beiträge
    1.140
    Danksagungen
    0

    Standard Re: GPS Koordinaten auf Google Maps Karte anzeigen

    müsste so gehen

    PHP-Code:
    <script type="text/javascript">
    function initialize()

        var myOptions = { 
            zoom: 13, 
            center: latlng, 
            mapTypeId: google.maps.MapTypeId.SATELLITE  
        }; 

        var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 
        <?php
        
    while($gps_row mysql_fetch_assoc($gps)) 
        {
            
    $time substr($gps_row["time"],5,11);
            
    $long $gps_row["longitude"];
            
    $lat $gps_row["latitude"];

            echo 
    '
            var latlng = new google.maps.LatLng(' 
    $long ', ' $lat ');
            var marker = new google.maps.Marker({ 
                position: latlng,  
                map: map,  
                title: "' 
    $time '"
            });'
    ;
        }
        
    ?>          
    }
    </script>
    center: latlng müsstest du noch durch irgendwas ersetzen. vlt den durchschnitt der jeweiligen koordinaten ermitteln
    Geändert von The_Creed (25. 05. 2011 um 20:05 Uhr) Grund: Fehler korrigiert

  6. #6
    Mitglied

    (Threadstarter)


    Registriert seit
    Aug 2007
    Beiträge
    265
    Danksagungen
    0

    Standard Re: GPS Koordinaten auf Google Maps Karte anzeigen

    Hallo,

    Danke für die Hilfe... Ich habe echt lange probiert es zu implementieren, allerdings funktioniert es nicht ganz. Keine Fehlermeldung, nichts -> aber die Markierung(en) fehlen. Die Karte wird angezeigt.

    PHP-Code:
    <script type="text/javascript">
      function initialize() {
        var latlng = new google.maps.LatLng(48.2099463256636, 16.367011070251465);
        var myOptions = {
          zoom: 8,
          center: latlng,
          mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
      
        <?php 
        $gps 
    mysql_query("SELECT * FROM `gps` WHERE `number` = '$usernumber'");
         while(
    $gps_row mysql_fetch_assoc($gps))  
            {         
                
    $long $gps_row["longitude"]; 
                
    $lat $gps_row["latitude"]; 
                
    $time $gps_row["time"]; 

                echo 

                var latlng = new google.maps.LatLng(' 
    $long ', ' $lat '); 
                var marker = new google.maps.Marker({  
                    position: latlng,
                    map: map,   
                    title: Markierung
                });'

            } 
        
    ?>          

    </script>
    So sieht der Output im Browserquelltext aus:

    PHP-Code:
    <script type="text/javascript">

      function 
    initialize() {

        var 
    latlng = new google.maps.LatLng(48.209946325663616.367011070251465);

        var 
    myOptions = {

          
    zoom8,

          
    centerlatlng,

          
    mapTypeIdgoogle.maps.MapTypeId.ROADMAP

        
    };

        var 
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

      

         

                var 
    latlng = new google.maps.LatLng(48.209231347766916.36585235595703); 

                var 
    marker = new google.maps.Marker({  

                    
    positionlatlng,

                    
    mapmap,   

                    
    titleMarkierung

                
    }); 

                var 
    latlng = new google.maps.LatLng(48.2079729624241916.37838363647461); 

                var 
    marker = new google.maps.Marker({  

                    
    positionlatlng,

                    
    mapmap,   

                    
    titleMarkierung

                
    });          



    </script> 
    Wisst ihr da vl. weiter?

    Vielen Dank an alle!
    Liebe Grüße

  7. #7
    Mitglied Avatar von The_Creed
    Registriert seit
    Dec 2008
    Beiträge
    1.140
    Danksagungen
    0

    Standard Re: GPS Koordinaten auf Google Maps Karte anzeigen

    jo die Markierer fehlen weil der Titel falsch angegeben wird, dort fehlen jeweils die doppelten Anführungszeichen

    bei der php ausgabe müsste es
    PHP-Code:
    echo 
    var latlng = new google.maps.LatLng(' 
    $long ', ' $lat '); 
    var marker = new google.maps.Marker({  
        position: latlng,
        map: map,   
        title: "Markierung"
    });'

    hab es oben auch vergessen, sorry

  8. #8
    Mitglied

    (Threadstarter)


    Registriert seit
    Aug 2007
    Beiträge
    265
    Danksagungen
    0

    Standard Re: GPS Koordinaten auf Google Maps Karte anzeigen

    Ich versteh das einfach nicht, es funktioniert immer noch nicht...


    PHP-Code:
    <script type="text/javascript">
      function initialize() {
        var latlng = new google.maps.LatLng(48.309231345763, 16.365852355957034);
        var myOptions = {
          zoom: 11,
          center: latlng,
          mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
      
        <?php 
        
         
    while($gps_row mysql_fetch_assoc($gps))  
            {         
                
    $long $gps_row["longitude"]; 
                
    $lat $gps_row["latitude"]; 
                
    $time $gps_row["time"]; 

                echo 

                var latlng = new google.maps.LatLng(' 
    $long ', ' $lat '); 
                var marker = new google.aps.Marker({  
                    position: latlng,
                    map: map,   
                    title: "Markierung"
                });'

            } 
        
    ?>          

    </script>
    Wenn ich die PHP Ausgabe aus dem Quelltext manuell ins script baue, funktionierts.. komisch

    Weiß da vl. wer weiter?
    LG

  9. #9
    Mitglied

    (Threadstarter)


    Registriert seit
    Aug 2007
    Beiträge
    265
    Danksagungen
    0

    Standard Re: GPS Koordinaten auf Google Maps Karte anzeigen

    Ich könnte den Kopf gegen die Wand hauen -.-
    Es war die Ganze Zeit ein Tippfehler.. hatte "aps" statt "maps" beim erstellen des markers....

    Trotzdem vielen Dank an alle Helfer!

    Denkt ihr ist es möglich, die Markierungen chronologisch zu verbinden (directions). Ich habe zu jedem Koordinatenpaar auch einen Timestamp in der Datenbank...

    Liebe Grüße

  10. #10
    ex-Moderator Avatar von Kugelfisch23
    Registriert seit
    Oct 2007
    Beiträge
    18.640
    Danksagungen
    401

    Standard Re: GPS Koordinaten auf Google Maps Karte anzeigen

    Zitat Zitat von .:cor_nic:. Beitrag anzeigen
    Denkt ihr ist es möglich, die Markierungen chronologisch zu verbinden (directions). Ich habe zu jedem Koordinatenpaar auch einen Timestamp in der Datenbank
    Ja, das ist möglich. Erzeuge aus deinen Punkt-Koordinaten, geordnet nach Timestamp, ein Array von LatLng-Objekten und verwende dieses zur Erzeugung eines Polyline-Overlays: http://code.google.com/intl/de-DE/ap...html#Polylines

  11. #11
    Mitglied

    (Threadstarter)


    Registriert seit
    Aug 2007
    Beiträge
    265
    Danksagungen
    0

    Standard Re: GPS Koordinaten auf Google Maps Karte anzeigen

    bisschen umständlich, aber so funktioniert es auf jeden Fall

    PHP-Code:
    <script type="text/javascript">
      function initialize() {
        var latlng = new google.maps.LatLng(48.309231345763, 16.365852355957034);
        var myOptions = {
          zoom: 11,
          center: latlng,
          mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
      

        var flightPlanCoordinates = [      
      
        <?php     
         
    while($gps_row mysql_fetch_assoc($gps))  
            {         
                
    $long $gps_row["longitude"]; 
                
    $lat $gps_row["latitude"]; 
                
    $time substr ($gps_row["time"],5,11); 
                
                echo 

                new google.maps.LatLng(' 
    $long ', ' $lat '),
                '

            } 
        
    ?>
      ];
      
      var flightPath = new google.maps.Polyline({
        path: flightPlanCoordinates,
        strokeColor: "#FF0000",
        strokeOpacity: 1.0,
        strokeWeight: 2
      });

      flightPath.setMap(map);    
      
           <?php     
         
    while($gps_row mysql_fetch_assoc($gps2))  
            {         
                
    $long $gps_row["longitude"]; 
                
    $lat $gps_row["latitude"]; 
                
    $time substr ($gps_row["time"],5,11); 

                echo 

                var latlng = new google.maps.LatLng(' 
    $long ', ' $lat '); 
                var marker = new google.maps.Marker({  
                    position: latlng,
                    map: map,   
                    title: "Postition am ' 
    $time '"
                });'

            } 
        
    ?>  
    }
    </script>
    Vielen Dank an alle Helfer!
    Liebe Grüße

  12.  
     
     

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •