Comment executer une fonction javascript plusieurs fois

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>

3 réponses

  1. 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 
    0
    1. Merci pour vos repenses alien41 et astuces72!!je vais tester ce que vous m avez proposé !!
      0
      1. 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
        -1