              
  var geocoder;
  var map;
  var markers = new Array();
  var indexMarqueur= 0;
  var directionsDisplay;
  var directionsService;
  
   
  function initialize() {
   /* Instanciation du geocoder  */
   geocoder = new google.maps.Geocoder();
   
   var paris = new google.maps.LatLng(48.8566667, 2.3509871);

   var myOptions = {
    zoom: 11,
    center: paris,
    mapTypeId: google.maps.MapTypeId.ROADMAP,
    
   }
   /* Chargement de la carte  */
   map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);   


   directionsDisplay = new google.maps.DirectionsRenderer();
  directionsDisplay.setMap(map);
  directionsDisplay.setPanel(document.getElementById('displayinfo_canvas'));
  directionsService = new google.maps.DirectionsService();  
  }
    
  function searchAddress()
  {
   /* Récupération de la valeur de l'adresse saisie */
   var address = document.getElementById("champs_adresse").value;
   /* Appel au service de geocodage avec l'adresse en paramètre */
   geocoder.geocode( { 'address': address}, function(results, status) {
    /* Si l'adresse a pu être géolocalisée */
    if (status == google.maps.GeocoderStatus.OK) {
     /* Récupération de sa latitude et de sa longitude */
     document.getElementById('lat').value = results[0].geometry.location.lat();
     document.getElementById('lng').value = results[0].geometry.location.lng();
     map.setCenter(results[0].geometry.location);
     /* Affichage du marker */
     var marker = new google.maps.Marker({
      map: map,
      position: results[0].geometry.location
     });           
      
      var infowindow = new google.maps.InfoWindow({
      content: 'Adresse: '+address
              +'<br>Latitude: '+document.getElementById('lat').value
              +'<br>Longitude: '+document.getElementById('lng').value
              +'<br>(Double cliquez pour supprimer ce marqueur)'
      }); // Création d'une infobulle avec les informations du marker
   
      google.maps.event.addListener(marker, 'click', function() {
        infowindow.open(map, marker); }); 
        
        
      google.maps.event.addListener(marker, 'dblclick', function() {
        marker.setMap(null); }); 
     } 
     else 
     {
      alert("Le geocodage n\'a pu etre effectue pour la raison suivante: " + status);
     }
    });
  }               
  
    function showItineraire()
    {
       directionsService.route({ origin: document.getElementById('adresse_depart').value,
                              destination: document.getElementById('adresse_arrivee').value,
                              unitSystem: google.maps.DirectionsUnitSystem.METRIC,
                              travelMode: google.maps.DirectionsTravelMode.DRIVING
                            }, function(result, status){
                            if (status == google.maps.DirectionsStatus.OK){
                              directionsDisplay.setDirections(result);
                              document.getElementById('displayinfo_canvas').style.display='block';
                            } 
                            else 
                            {
                              alert('Le calcul d\’itinéraire a échoué.');
                            }});
    }        
    
    
