PHP + JavaScript

cs_fb78 Messages postés 12 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 20 février 2008 - 18 févr. 2008 à 13:03
cs_fb78 Messages postés 12 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 20 février 2008 - 20 févr. 2008 à 09:58
bonjour,

je galère depuis plusieur jours pour faire fonctionner ce bout de code qui contient du PHP (pour la lecture du fichier) et du JavaScript (pour afficher la carte) :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>Emplacement des radars</title>
<script src="http://maps.google.com/maps?file=api&v=2&key=abcdefg" language="JavaScript" type="text/javascript"></script>
<script language="JavaScript" type="text/javascript">
//<![CDATA[
function affiche() {
if (GBrowserIsCompatible()) {
var plan = new GMap2(document.getElementById("carte"));
function pointbulle(point, index) {
var lettreIcone = new GIcon(icone);
var type = "X"; // a supprimer quand le test sera fini
switch (type) {
case "X":
lettreIcone.image = "http://www.google.com/mapfiles/markerX.png";
break;
case "F":
lettreIcone.image = "http://www.google.com/mapfiles/markerF.png";
break;
case "M":
lettreIcone.image = "http://www.google.com/mapfiles/markerM.png";
break;
case "P":
lettreIcone.image = "http://www.google.com/mapfiles/markerP.png";
break;
};
markerOptions = { icon:lettreIcone };
var bulle = new GMarker(point, markerOptions);
GEvent.addListener(bulle, "click", function() {
bulle.openInfoWindowHtml("Radar " + index + " = " + point + "
" +
document.forms["CarteRadars"].elements[index].value + " °");
});
return bulle;
}
plan.setCenter(new GLatLng(46.85, 1.95), 6);
plan.enableDoubleClickZoom();
plan.setMapType(G_NORMAL_MAP);
plan.addControl(new GScaleControl());
plan.addControl(new GMapTypeControl());
plan.addControl(new GLargeMapControl());
plan.addControl(new GOverviewMapControl());
var icone = new GIcon();
icone.iconSize = new GSize(20, 34);
icone.iconAnchor = new GPoint(9, 34);
icone.infoWindowAnchor = new GPoint(9, 12);
var lignes = document.getElementById("NbLignes").value;
for (i = 1; i < lignes; i++) {
var latitude = document.getElementById(i).value;
var longitude = latitude.substr(20, 9);
if (latitude.substr(30, 1) "W") longitude "-" + longitude;
latitude = latitude.substr(9, 8);
var pointradar = new GLatLng(latitude, longitude);
plan.addOverlay(pointbulle(pointradar, i));
}
} else {
alert("Votre navigateur n\'est pas compatible pour afficher la carte.");
}
}
//]]>
</script>
</head>

//<![CDATA[
<?php
$radars = "Radars.txt"; // emplacement du fichier radars
function lecture(&$tableau, &$index) {
if ($index > count($tableau)-1) return "fin";
return trim($tableau[$index++]);
}
$contenu = file($radars); // lit tout le fichier radars dans un tableau
$num_ligne = 0;
do {
$ligne = lecture($contenu, $num_ligne); // lecture ligne par ligne
if ($ligne == "fin") exit;
$champ = explode(" ", $ligne, 11); // séparation de toutes les colonnes de la ligne
if ($champ[0] == "R") echo "" + $champ[1] + " - " + $champ[6] + " km/h - " + $champ[7] + " " + $champ[8] + " - " + $champ[9] + "
";
} while (true);
document.write("" + $num_ligne + "");
?>
//]]>



</html>

dont le but est de lire un fichier qui contient entre autre des coordonnées gps de radars pour les afficher sur une carte Google Maps. Ci-dessous un extrait du fichier de données :

R RX0001 48.39083,N 004.40167,W 21/12/07 18:59:53 090 AR G 322 X
R RX0002 48.45277,N 004.37695,W 21/12/07 18:59:53 110 AV X
R RX0003 48.37638,N 004.27584,W 21/12/07 18:59:53 090 AV D X
R RX0004 47.97111,N 004.14167,W 21/12/07 18:59:53 110 AR G X
R RX0005 48.21944,N 003.99167,W 21/12/07 18:59:53 110 AV X
R RX0006 47.96888,N 003.98750,W 21/12/07 18:59:53 110 AV D X
R RX0007 47.96555,N 003.85639,W 21/12/07 18:59:53 070 AR X
R RX0008 48.61916,N 003.77417,W 21/12/07 18:59:53 090 AR X
R RX0009 48.57861,N 003.73723,W 21/12/07 18:59:53 110 AR G X
R RX0010 47.86972,N 003.59500,W 21/12/07 18:59:53 110 AR G X
R RX0011 48.04500,N 003.49362,W 21/12/07 18:59:53 090 AV D X
R RX0012 48.24527,N 003.34778,W 21/12/07 18:59:53 090 AR G X
R RX0013 48.24138,N 003.33695,W 21/12/07 18:59:53 090 AR D X
R RX0014 47.78861,N 003.25223,W 21/12/07 18:59:53 110 AR G 278 X
R RX0015 47.71166,N 003.22223,W 21/12/07 18:59:53 090 AR X
R RX0016 48.55722,N 003.17945,W 21/12/07 18:59:53 110 AR G X
R RX0017 48.55055,N 003.11195,W 21/12/07 18:59:53 110 AR G X
R RX0018 48.64527,N 003.00528,W 21/12/07 18:59:53 090 AR X
R RX0019 48.02222,N 002.96195,W 21/12/07 18:59:53 090 AV D X
R RX0020 47.66027,N 002.85973,W 21/12/07 18:59:53 110 AR G X
R RX0021 48.41611,N 002.84334,W 21/12/07 18:59:53 090 AR X
R RX0022 48.01722,N 002.79389,W 21/12/07 18:59:53 090 AR X
R RX0023 47.76333,N 002.78362,W 21/12/07 18:59:53 090 AR X
R RX0024 48.51666,N 002.74445,W 21/12/07 18:59:53 090 AV D X
R RX0025 48.51055,N 002.74028,W 21/12/07 18:59:53 090 AR D X
R RX0026 47.94111,N 002.61612,W 21/12/07 18:59:53 110 AR G 049 X
R RX0027 48.50833,N 002.60973,W 21/12/07 18:59:53 070 AR X
R RX0028 48.16972,N 002.59417,W 21/12/07 18:59:53 090 AR X
R RX0029 48.17583,N 002.56389,W 21/12/07 18:59:53 090 AR X
R RX0030 47.95000,N 002.52528,W 21/12/07 18:59:53 110 AV G 298 X

Quelqu'un peut-il m'aider à me sortir du pétrain ?
Merci de votre aide.

5 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
18 févr. 2008 à 13:43
Bonjour,

    c'est un problème PHP ?           phpcs.com aurait été plus adpaté
    c'est un problème JavaScritp ?   la page générée, plutôt que le php, fut plus adhéquate, pour qu'on réponde

    et ça plante où ? à quelle ligne ?
    il y a un message d'erreur ?
          parce que sinon, on va devoir passer un temps certain à reconstituer
            l'environnement, pour pouvoir tester.
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
cs_fb78 Messages postés 12 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 20 février 2008
18 févr. 2008 à 20:15
bonsoir bultez,

Je pensais qu'en faisant des copier/coller du code et des données, il ne serait pas trop difficile de reconstituer l'environnement.

Voici ce qui est généré par le PHP :
</head>
<body onload="affiche()" onunload="GUnload()">
//<![CDATA[
41711697118119120811021231241051061074061091301311121131341151

la série de chiffres remplace le code PHP, c'est normal, mais j'attendais plutôt ceci :

RX0001 - 090 km/h - AR G - 322

RX0002 - 110 km/h - AV    -      

pour les 2 premières lignes du fichier radars et ainsi de suite pour les suivantes.
Je ne sais pas d'ou vient cette série de chiffres qui est très longue (selon la taille du fichier sans doute) !!!!

merci
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
19 févr. 2008 à 10:35
__ document.write(... ) c'est-y pas du javascript ?
    et du javascript, ça doit être entre <script type="text/javascript"> et </script>
__ entre nous : pourquoi ne pas faire un echo en php ?
__ et cet echo, ne devrait-il pas être dans la boucle ?
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
cs_fb78 Messages postés 12 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 20 février 2008
19 févr. 2008 à 18:14
- Pardon, c'est vrai qu'il faut mettre un "echo" au lieu de "document.write" à cet endroit.
- Il n'est pas dans la boucle parce que "NbLignes" sera égal au Nb total de lignes lues et repris par le Javascript.
Mais cela ne résoud pas mon pb car la série de chiffres est créé par "echo" qui est dans la boucle.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_fb78 Messages postés 12 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 20 février 2008
20 févr. 2008 à 09:58
[RESOLU]
quel daube je suis :
dans le "echo" qui génère les lignes de radars, j'avais mis des "+" à la place de "." pour concaténer les variables (confusion entre JavaScript et PHP) !!!!

merci quand même bultez de d'ètre penché sur mon lit de souffrances.
0
Rejoignez-nous