Bonjour, j'ai un probleme tout bete mais je n'arrive a le resoudre pour le moment.
J'ai un tableau qui est rempli comme cela:
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77 table> <thead> <tr> <th>Ref.</th> <th>Heure</th> <th>Data</th> <th>Lat</th> <th>Long</th> <th>Alt</th> <th>Temp</th> <th>SNR</th> <th>Qualite_Liaison</th> </tr> </thead> <tbody> <?php foreach($data['data'] as $reg){ //print_r($data); ?> <tr> <td><?php echo $reg['device'];?></td> <td><?php echo date(DATE_RFC2822, $reg['time']);?></td> <td><?php $data= $reg['data']; //frame data echo $data; ?></td> <td><?php $lat_str = substr($data, 0, 6); //6 premiers caracteres $lat_int = hexdec($lat_str); //conversion hexa -> decimal $lat_result = $lat_int/(float)(0xFFFFFF/360.0)-180; //conversion, precision echo $lat_result; ?></td> <td><?php $long_str = substr($data, 6, 6); $long_int = hexdec($long_str); $long_result = $long_int/(float)(0xFFFFFF/180.0)-90; //conversion, precision echo $long_result; ?></td> <td><?php $alt_str = substr($data, 12, 4); $alt_int = hexdec($alt_str); echo $alt_int; ?></td> <td><?php $temp_str = substr($data, 16, 4); $temp_int = hexdec($temp_str); $temp_result = $temp_int/(float)(0xFFFF/200.0)-128; //conversion, precision echo $temp_result; ?></td> <td><?php echo $reg['snr'];?></td> <td><?php $qualite= $reg['linkQuality']; switch ($qualite) { case "EXCELLENT": echo "Excellente"; break; case "GOOD": echo "Bonne"; break; case "AVERAGE": echo "Moyenne"; break; case "LIMIT" : echo "Faible"; break; } ?> </td> </tr> <?php } ?> </tbody> </table>
Il se rempli automatiquement a partir d'une sorte de base de donnee.
A partir de ce tableau, je veux recuperer les trois DERNIERES valeurs d'altitude, longitude et de latitude pour les afficher sur une map google:
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 <script type="text/javascript"> var map; var initialize; var lat = '<?php echo $lat_result; ?>'; var long = '<?php echo $long_result; ?>'; initialize = function(){ var latLng = new google.maps.LatLng(lat, long); // Correspond au coordonnées du gps var myOptions = { zoom : 14, // Zoom par défaut center : latLng, // Coordonnées de départ de la carte de type latLng mapTypeId : google.maps.MapTypeId.TERRAIN, // Type de carte, différentes valeurs possible HYBRID, ROADMAP, SATELLITE, TERRAIN maxZoom : 20 }; map = new google.maps.Map(document.getElementById('map'), myOptions); var marker = new google.maps.Marker({ position : latLng, map : map, title : "Position voiture" }); var contentMarker = [ '<div id="containerTabs">', '<div id="tabs">', '<p id="voiture">Baloon</p>', '<p id="voiture">Alt:<?php echo $lat_result; ?></p>', '<p id="voiture">Long:<?php echo $long_result; ?></p>', '<p id="voiture">Alt:<?php echo $alt_int; ?></p>', '</div>', '</div>', '</div>' ].join(''); var infoWindow = new google.maps.InfoWindow({ content : contentMarker, position : latLng }); google.maps.event.addListener(marker, 'click', function() { infoWindow.open(map,marker); }); google.maps.event.addListener(infoWindow, 'domready', function(){ // infoWindow est biensûr notre info-bulle jQuery("#tabs").tabs(); }); }; initialize(); </script>
Mon probleme est le suivant: a chaque fois je recupere les valeurs qui sont le plus en bas de mon tableau, c'est a dire celles qui datent le plus. Moi je voudrais recuperer les valeurs qui viennent d'etre envoyees pour que mon marker s'actualise sur la carte.
Ce sera peut etre plus parlant avec des captures d'ecran. On voit bien sur les images que les coordonnees affichees sur la carte correspondent a celles presentes tout en bas du tableau alors que je voudrais celle qui sont tout en haut.
Merci pour votre aide!
Partager