Ankündigung

Einklappen
Keine Ankündigung bisher.

Werte aus MYSQL DB in JS array

Einklappen

Neue Werbung 2019

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

  • Werte aus MYSQL DB in JS array

    Hi, folgendes Problem:

    ich möchte mit der Google Maps API Polylines zeichnen lassen, mit Koordinaten aus einer Datenbank.

    Momentan wird eine Testlinie gezeichnet:

    Code:
    var flightPlanCoordinates = [
        new google.maps.LatLng(37.772323, -122.214897),
        new google.maps.LatLng(21.291982, -157.821856),
        new google.maps.LatLng(-18.142599, 178.431),
        new google.maps.LatLng(-27.46758, 153.027892)
      ];
    Meine Frage nun, wie ersetze ich die Zahlenpaare (Latitude, Longitude) mit den Werten aus meiner DB?

    Die Werte bekomme ich momentan so:

    PHP-Code:
    $sql "SELECT lat, lng from locations;";
     
      
      require_once (
    'config.php');
            
    $db_link mysqli_connect (MYSQL_HOST
                               
    MYSQL_BENUTZER
                               
    MYSQL_KENNWORT
                               
    MYSQL_DATENBANK);
            
    mysqli_set_charset($db_link'utf8');
            
    $db_erg mysqli_query$db_link$sql );
         
                 if ( ! 
    $db_erg )
                    {
                        die(
    'Ungültige Abfrage: ' mysqli_error($db_link));
                    }

    while(
    $zeile mysqli_fetch_array($db_ergMYSQL_ASSOC)) 
    {
        
    $lat $zeile['lat'];
        
    $long $zeile['lng'];  


  • #2
    In in Array speichern und dann per json_encode ans Frontend/JS übergeben.

    Kommentar


    • #3
      Danke! Ein Denkanstoß, der letztendlich zum Ergebnis geführt hat!

      PHP-Code:
      <?php $wert $_POST['device'];
      $sql "SELECT lat, lng from locations where deviceid = '$wert';";
       require_once (
      'config.php');
              
      $db_link mysqli_connect (MYSQL_HOST
                                 
      MYSQL_BENUTZER
                                 
      MYSQL_KENNWORT
                                 
      MYSQL_DATENBANK);
              
      mysqli_set_charset($db_link'utf8');
              
      $db_erg mysqli_query$db_link$sql );
           
                   if ( ! 
      $db_erg )
                      {
                          die(
      'Ungültige Abfrage: ' mysqli_error($db_link));
                      }
      while( 
      $zeile mysqli_fetch_array($db_ergMYSQL_NUM ) ) {
          
      $json[] = $zeile;
      }
      echo 
      json_encode$json );?>

      var polylinePlanCoordinates  = [];
       var polyline_data = <?php echo json_encode$json ); ?>;
       for (var i=0;i< polyline_data.length;i++ ){
        polylinePlanCoordinates.push(new google.maps.LatLng(polyline_data[i][0], polyline_data[i][1]));
      }

      var path= new google.maps.Polyline({
        path: polylinePlanCoordinates,
       geodesic: true,
      strokeColor: '#FF0000',
      strokeOpacity: 1.0,
      strokeWeight: 2
       });

       path.setMap(map);

      Kommentar

      Lädt...
      X