Hallo Community,
ich schreibe gerade an einem kleinen Script um Daten aus einem Flugsimulator in eine Datenbank zu lesen mit echten GPS Koordinaten. Diese gebe ich auf eine Googlemap aus und kann mir virtuelle Flugzeug Positionen auf einer Realen Map ansehen. Das funktioniert weil Microsoft dafür echte Längen und Breitengrad System für den Simulator genutzt haben.
Nun zu meinem Problem
Ich schaffe es die Flugzeuge auf der Karte anzeigen zu lassen das stellt kein Problem da. Nun möchte ich allerdings noch die Flugroute anzeigen. Das bedeutet ich habe eine Koordinate Startflughafen und eine Koordinate ist der derzeitige Standpunkt des Flugzeugs. Und genau hier happert es.
Ich selecte meine Datenbank
Inhalt
latitude und longitude Sind meine Derzeitige Position
latitudex und longitudex sind mein Startflughafen
Ich gebe die Daten nun in meiner TPL Datei (Smarty) wie folgt aus was bis jetzt Fehlerfrei funktioniert.
Nun müsste bei $punkte eine art foreach Schleife mit dem Inhalt meiner
Startflughäfen. Hier stoße ich nun an meine Grenze ich bekomme es einfach nicht so gestellt das es funktiniert.
Wäre für Hilfe super dankbar.
Gruß Thomas
ich schreibe gerade an einem kleinen Script um Daten aus einem Flugsimulator in eine Datenbank zu lesen mit echten GPS Koordinaten. Diese gebe ich auf eine Googlemap aus und kann mir virtuelle Flugzeug Positionen auf einer Realen Map ansehen. Das funktioniert weil Microsoft dafür echte Längen und Breitengrad System für den Simulator genutzt haben.
Nun zu meinem Problem
Ich schaffe es die Flugzeuge auf der Karte anzeigen zu lassen das stellt kein Problem da. Nun möchte ich allerdings noch die Flugroute anzeigen. Das bedeutet ich habe eine Koordinate Startflughafen und eine Koordinate ist der derzeitige Standpunkt des Flugzeugs. Und genau hier happert es.
Ich selecte meine Datenbank
PHP-Code:
$sql= "SELECT DISTINCT
*
FROM
pilots , airports
WHERE
pilots.depar = airports.icaocode
";
$result = $db->query($sql);
$pilotsdata = array();
while($row = mysql_fetch_assoc($result))
{
$pilotsdata[] = $row;
}
PHP-Code:
Array
(
[0] => Array
(
[id] => 32
[pilotsid] => 205666
[name] => salvador cobos LEMG
[callsign] => ALZ959
[depar] => DAUH
[desti] => DAAD
[flightlevel] => 16833
[flightplan] => ELO ZIBAN BSA
[spd] => 384
[latitude] => 33.6387
[longitude] => 6.58624
[airport_id] => 29
[airport_name] => Bou saada
[icaocode] => DAAD
[runwaylength] => 2200 m
[runwaywidth] => 29 m
[height] => 459 m
[latitudex] => 35.330
[longitudex] => 4.210
)
latitudex und longitudex sind mein Startflughafen
Ich gebe die Daten nun in meiner TPL Datei (Smarty) wie folgt aus was bis jetzt Fehlerfrei funktioniert.
PHP-Code:
{include file="$temp_dir/header/header.tpl"}{include file="$temp_dir/left/left.tpl"}
<!-- Beginn Content -->
<div id="content">
{assign var=position value=$pilotsdata}
{php}
$position = $this->get_template_vars('position');
include('class.gmapper.php');
$key = "xxx";
$karte = new gmap($key);
$karte->headjs();
$karte->mapdiv('645', '100%');
$karte->bodyjs();
$karte->map(2, 50.030 , 8.540 , "karte", 1, 20, "large", 0); // Karte zentriert sich über Frankfurt
$karte->markstart();
$karte->showPhysicalControl();
foreach($position as $position)
{
// Flugzeuge aus der DB als Punkte auf der Karte anzeigen lassen
$karte->otherMarker( $position[latitude] , $position[longitude] , 'INFOS DES USERS', "img/red_white.png");
}
$punkte = array(
array('52.5', '12.7'),
array('52.5', '13'),
array('51.5', '12'),
array('51', '10'),
array('48', '11'),
array('47.5', '13')
);
$karte->polyline($punkte, '#FF0000', 1, 1, "", 1);
$dist = $karte->getDistance($punkte);
$karte->markend();
{/php}
</div>
<!-- Ende Content -->
{include file="$temp_dir/footer/footer.tpl"}
Startflughäfen. Hier stoße ich nun an meine Grenze ich bekomme es einfach nicht so gestellt das es funktiniert.
PHP-Code:
//So schaut das Original aus mit Fakezahlen
$punkte = array(
array('52.5', '12.7'),
array('52.5', '13'),
array('51.5', '12'),
array('51', '10'),
array('48', '11'),
array('47.5', '13')
);
...
//So sollte dann meine Variante klappen als foreach nur wie ?
$punkte = array(
array('$position[latitudex]', '$position[longitudex]')
);
...
Gruß Thomas
Kommentar