Mettre $_COOKIE['Longitude']dans une fct javascript [Résolu]

linda - 22 mars 2016 à 22:12 - Dernière réponse :  linda
- 23 mars 2016 à 03:15
Bonjour,
j'ai cette fonction et il faut que a la place de ces valeurs(43.525,1.826944); je mets
$_COOKIE['Longitude']et $_COOKIE['Latitude'] qui j'ai récupéré depuis ma base de donnée mais j'ai pas pu le faire svp aidez moi!
function initialize(){ 


var mapOptions={ 
zoom: 6, // 0 à 21 
center: new google.maps.LatLng(47,2), // centre de la carte 
mapTypeId: google.maps.MapTypeId.ROADMAP, // ROADMAP, SATELLITE, HYBRID, TERRAIN 
} 
var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions); 

var myLatLng= new google.maps.LatLng(43.525,1.826944); 
var marker = new google.maps.Marker ({ 
position: myLatLng, 
map: map, 
titre: "Auriac-sur-vendinelle" 
}); 

var myLatLng2 = new google.maps.LatLng(43.6,2.25); 
var marker2 = new google.maps.Marker ({ 
position: myLatLng2, 
map: map, 
titre: "Castres" 
}); 

//trajet 1 
var directionsService = new google.maps.DirectionsService(); 
var directionsDisplay = new google.maps.DirectionsRenderer({ 
'map': map 
}); 

var request = { 
origin: myLatLng, 
destination: myLatLng2, 
travelMode: google.maps.DirectionsTravelMode.DRIVING, 
unitSystem: google.maps.DirectionsUnitSystem.METRIC 
}; 

directionsService.route(request, function(response, status){ 
if(status == google.maps.DirectionsStatus.OK){ 
directionsDisplay.setDirections(response); 
directionsDisplay.suppressMarkers = false; 
directionsDisplay.setOptions({ 
polylineOptions: {strokeColor: '#008000'}, 
preserveViewport: false 
}); 
} 
}); 


}


EDIT : Ajout des balises de code.
Afficher la suite 

7 réponses

Répondre au sujet
jordane45 19323 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 18 décembre 2017 Dernière intervention - 23 mars 2016 à 01:01
0
Utile
6
Bonjour,

Tu peux récupérer le contenu des cookies en javascript en utilisant, par exemple, la fonction suivante :
function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

http://ppk.developpez.com/tutoriels/javascript/gestion-cookies-javascript/

Tu peux aussi utiliser la syntaxe suivante :
var lgt = <?php echo $_COOKIE['toncookie'];?>;


Mais le plus propre serait, au lieu d'utiliser les cookies... de passer par de l'ajax.... (les données provenant très certainement d'une base de données non ????);
Voici un exemple : http://forum.phpfrance.com/faq-tutoriels/geolocalisation-google-maps-avec-php-ajax-t265434.html


PS: A l'avenir, merci d'utiliser les balises de code lorsque tu postes du code sur le forum.
Je les ajoute dans ton message initiale... merci d'y penser à l'avenir.



jordane45 19323 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 18 décembre 2017 Dernière intervention > linda - 23 mars 2016 à 01:41
1 - Où sont les BALISES DE CODE ?
Merci de lire ceci : http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

2 - Il ne suffit pas de copier/colle bêtement .... as tu pensé à renommer le cookie ?? Je ne pense pas qu'il se nomme 'toncookie' ....... ??!
Si monsieur j'ai changé cookie wlh mais j'ai copié la partie fausse,dsl

function initialize() { 


var mapOptions={ 
zoom: 6, // 0 à 21 
center: new google.maps.LatLng(47,2), // centre de la carte 
mapTypeId: google.maps.MapTypeId.ROADMAP, // ROADMAP, SATELLITE, HYBRID, TERRAIN 
} 
var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions); 
 var lgt = <?php echo $_COOKIE['Latitude'];?>;
var myLatLng= new google.maps.LatLng( lgt ,1.826944);
jordane45 19323 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 18 décembre 2017 Dernière intervention > linda - 23 mars 2016 à 02:04
Et ça ne fonctionne pas ?
Que dis la CONSOLE de ton navigateur ? pas de message d'erreur ? (une capturé écran serait la bienvenue que je puisse voir ce que contient la console.... )

Au cas où, tu peux essayer en mettant des quotes autour :
 var lgt = '<?php echo $_COOKIE['Latitude'];?>';


et mets également le ligne suivante juste en dessous :
 console.log("lgt => " + lgt );

=> ça va apparaitre dans la console et on pourra ainsi voir si la variable est correctement remplie....

Après.. comme indiqué dans mon précédent message ... l'utilisation de l'AJAX serait tout de même mieux.....
avant il affiche api google map mais maintenant page vide et pour l'utilisation de l'AJAX je savais pas , cette méthode récupere les coordonnes Latitude et longitude?
maintenant j'ai remplacé ' par " ,il affiche la map mais les positions nn alrs il ne reçoit pas les valeurs et aussi j'ai testé cookie dans un code php il marche et il récupère bien les coordonnés!,j'ai pas pu trouver une solution!

 
function initialize(){
 var mapOptions={
  zoom: 6, // 0 à 21
  center: new google.maps.LatLng(47,2), // centre de la carte
  mapTypeId: google.maps.MapTypeId.ROADMAP, // ROADMAP, SATELLITE, HYBRID, TERRAIN
 }
 var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
    var lat = '<?php echo $_COOKIE["Latitude"];?>';
   console.log("lat => " + lat );
 var lng = '<?php echo $_COOKIE["Longitude"];?>';
   console.log("lng => " + lng );
 var myLatLng= new google.maps.LatLng(lat,lng);
 var marker = new google.maps.Marker ({
  position: myLatLng,
  map: map,
  titre: "Auriac-sur-vendinelle"
 });
Commenter la réponse de jordane45

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.