rubiks10
Messages postés224Date d'inscriptionlundi 19 décembre 2005StatutMembreDernière intervention 6 juin 20073 19 nov. 2006 à 18:51
Ok j'ai comprisen fait à la place de " dt situer; " il faut faire " dt ""+situer+""; "
voila par contre n'oublie pas d'enlever le document.close() dans la fonction Localiser car il ne sert a rien maintenant
et aussi n'oublie pas de mettre les balises <html> et de mettre tes scripts dans la balise <head> pour avoir une page html compatible
voilà mais tu peux remettre 200 au lieu de 500
le problème était que la variable n'était pas une chaine de caractère donc la fonction split était inconnue
cs_piep14
Messages postés345Date d'inscriptionlundi 15 mars 2004StatutMembreDernière intervention13 mai 2011 19 nov. 2006 à 16:43
A oué, bien joué, je ne savais pas ca !! Un autre et dernier problème, je ne souhaite pas afficher document.write(situer) mais plutot récupérer la variable pour en décortiquer les valeurs. Voici mon code :
var geocodeur = new GClientGeocoder();
var situer;
function Localiser(adresse) {
if (geocodeur) {
geocodeur.getLatLng(adresse, function(situer) {
if (!situer) {
//document.write("Impossible de localiser l'adresse :\n\n" + adresse);
dt = "Impossible de localiser l'adresse";
} else {
document.write(situer);
}
document.close();
});
}
}
</script>
<script>
Localiser('saint malo france');
//je souhait que dt soit également a ce que retourne Localiser()
//var dt = "(48.648178, -2.02609)"; // pour l'exemple
//document.write(situer);
var a = dt.split(",");
var b = a[0].split("(");
var c = a[1].split(")");
document.write("latitude : " + b[1] + " | ");
document.write("\n\n");
document.write("longitude : " + c[0]);
</script>
var geocodeur = new GClientGeocoder();
var situer;
function Localiser(adresse) {
if (geocodeur) {
geocodeur.getLatLng(adresse, function(situer) {
if (!situer) {
dt = "Impossible de localiser l'adresse";
} else {
dt = situer;
}
document.close();
});
}
}
</script>
<script>
Localiser('saint malo france');
//je souhait que dt soit également a ce que retourne Localiser()
//var dt = "(48.648178, -2.02609)"; // pour l'exemple
document.write(dt);
//var a = dt.split(",");
//var b = a[0].split("(");
//var c = a[1].split(")");
//document.write("latitude : " + b[1] + " | ");
//document.write("\n\n");
//document.write("longitude : " + c[0]);
</script>
rubiks10
Messages postés224Date d'inscriptionlundi 19 décembre 2005StatutMembreDernière intervention 6 juin 20073 19 nov. 2006 à 17:58
Oui c'est normal car en fait cela prend du temps pour localiser... donc en fait quand tu appelles le document.write(dt) la fonction localiser n'a pas encore finit!!! donc la variable dt n'est pas définie!!!
donc en fait il faut que tu mettes tout le code de traitement de la variable dt dans une fonction par exemple :
function parseResult(localisation) {
var a = localisation.split(",");
var b = a[0].split("(");
var c = a[1].split(")");
document.write("latitude : " + b[1] + " | ");
document.write("\n\n");
document.write("longitude : " + c[0]);
document.close();
}
et ensuite tu fais dans le script de ta balise div : setTimeout('parseResult(dt)',200);
le 200 veut dire 0.2s ( c'est au pif au mètre... rien ne peux prédire quand ca sera terminé mais bon tu testes )
var geocodeur = new GClientGeocoder();
var situer;
function Localiser(adresse) {
if (geocodeur) {
geocodeur.getLatLng(adresse, function(situer) {
if (!situer) {
dt = "Impossible de localiser l'adresse";
} else {
dt = situer;
}
document.close();
});
}
}
function parseResult(localisation) {
var a = localisation.split(",");
var b = a[0].split("(");
var c = a[1].split(")");
document.write("latitude : " + b[1] + " | ");
document.write("\n\n");
document.write("longitude : " + c[0]);
document.close();
}
</script>
<script>
Localiser('saint malo france');
setTimeout('parseResult(dt)',500);
</script>