Comment executer une fonction javascript plusieurs fois
eleveing
Messages postés
92
Statut
Membre
-
eleveing Messages postés 92 Statut Membre -
eleveing Messages postés 92 Statut Membre -
Bonjour tout le monde,
ca serait tres gentil si vous pouvez m'aider a resoudre le probleme suivant:
J'ai une fonction javascript qui permet d afficher des positions sur la carte, je sais pas coment rendre mettre cette fonction dans une boucle et afficher plusieurs positions et aussi comment recupere ces positions definies par x et y a partir de la base de donnees
voila mon script:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style type="text/css">
html { height: 100% }
body { height: 100%; margin: 0; padding: 0 }
#map-canvas { height: 100% }
</style>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery-ui-1.8.12.custom.min.js"></script>
<script type="text/javascript" >
function initialize() {
var x = 33.5333333
var y = -7.5833333
var latLng1 = new google.maps.LatLng(x,y);
var mapOptions1 = {
center: latLng1,
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map-canvas"),
mapOptions1);
var marker1 = new google.maps.Marker({
position : latLng1,
map : map,
title : "Lille"
//icon : "marker_lille.gif"
});
var infoWindow1 = new google.maps.InfoWindow({
scontent : contentMarker1,
position : latLng1,
});
google.maps.event.addListener(marker1, 'click', function() {
infoWindow1.open(map,marker1);
});
google.maps.event.addListener(infoWindow1, 'domready', function(){ // infoWindow est biensûr notre info-bulle
jQuery("#tabs").tabs();
});
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<div id="map-canvas"/>
</body>
</html>
ca serait tres gentil si vous pouvez m'aider a resoudre le probleme suivant:
J'ai une fonction javascript qui permet d afficher des positions sur la carte, je sais pas coment rendre mettre cette fonction dans une boucle et afficher plusieurs positions et aussi comment recupere ces positions definies par x et y a partir de la base de donnees
voila mon script:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style type="text/css">
html { height: 100% }
body { height: 100%; margin: 0; padding: 0 }
#map-canvas { height: 100% }
</style>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery-ui-1.8.12.custom.min.js"></script>
<script type="text/javascript" >
function initialize() {
var x = 33.5333333
var y = -7.5833333
var latLng1 = new google.maps.LatLng(x,y);
var mapOptions1 = {
center: latLng1,
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map-canvas"),
mapOptions1);
var marker1 = new google.maps.Marker({
position : latLng1,
map : map,
title : "Lille"
//icon : "marker_lille.gif"
});
var infoWindow1 = new google.maps.InfoWindow({
scontent : contentMarker1,
position : latLng1,
});
google.maps.event.addListener(marker1, 'click', function() {
infoWindow1.open(map,marker1);
});
google.maps.event.addListener(infoWindow1, 'domready', function(){ // infoWindow est biensûr notre info-bulle
jQuery("#tabs").tabs();
});
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<div id="map-canvas"/>
</body>
</html>
3 réponses
-
et bien dans un code javascript tu appel simplement ta fonction :
<script type="text/javascript">initialize()</script>
Ensuite, pour changer le x et y tu peux envoyer des arguments à ta fonction :
Appel de la fonction avec arguments :<script type="text/javascript">initialize(33, -7)</script>
Donc du coup :function initialize(posiX, posiY)
Tu récupère ensuite les arguments :
var x = posiX var y = posiY
-
Merci pour vos repenses alien41 et astuces72!!je vais tester ce que vous m avez proposé !!
-
hello
essaye ça avec tes paramètres de connexion à ta base:
je n'ai pas essayé si ça marche !
<body> <div id="map" style="width: 500px; height: 400px;"></div> <script type="text/javascript"> var locations = [ <?php $i=0; $query=("SELECT * FROM ta_base WHERE "); $result = mysql_query($query); while ($val = mysql_fetch_array($result)) { echo "['".$val['ville']."', ".$val['lat'].", ".$val['lng'].", ".$i."],"; $i++; } ?> ]; var map = new google.maps.Map(document.getElementById('map'), { zoom: 5, center: new google.maps.LatLng(46.604167, 2.724609), mapTypeId: google.maps.MapTypeId.ROADMAP }); var infowindow = new google.maps.InfoWindow(); var marker, i; for (i = 0; i < locations.length; i++) { marker = new google.maps.Marker({ position: new google.maps.LatLng(locations[i][1], locations[i][2]), map: map }); google.maps.event.addListener(marker, 'click', (function(marker, i) { return function() { infowindow.setContent(locations[i][0]); infowindow.open(map, marker); } })(marker, i)); } </script> </body>
si tu veux plus, comme des infobulles, regarde la source de ce moteur de recherche:
http://vuedirecte.reliefmicro.fr