<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">var init_lat = 49.1846207;
var init_lng = -0.3580856;
var init_zoom = 12;
var init_vue = google.maps.MapTypeId.SATELLITE;
var infowindow;
var map;
var marker_pt;

var markers_categorie_array = new Array();

function load(repCarte, xmlPHP, map_lat, map_lng, map_zoom, map_vue) {
      if ( repCarte == "" ){
            repCarte = "http://www.top-institut.fr/gmap/";
      }
      if(map_lat=='' || map_lat=='0') {
        map_lat = init_lat;
      }
      if(map_lng=='' || map_lng=='0') {
        map_lng = init_lng;
      }
      if(map_zoom=='' || map_zoom=='0') {
        map_zoom = init_zoom;
      }
      if(map_vue=='') {
        map_vue = init_vue;
      }
      var latlng = new google.maps.LatLng(map_lat,map_lng);
      var bounds = new google.maps.LatLngBounds();
      var myPoints = [];

    	var optionsCarte = {
    		zoom: parseInt(map_zoom),
    		center: latlng,
    		mapTypeId: map_vue,
        mapTypeControl: true,
        mapTypeControlOptions: {
          style: google.maps.MapTypeControlStyle.DROPDOWN_MENU, mapTypeIds:new Array(google.maps.MapTypeId.SATELLITE,google.maps.MapTypeId.ROADMAP,google.maps.MapTypeId.HYBRID)
        },
        navigationControl: true,
        navigationControlOptions: {
          style: google.maps.NavigationControlStyle.ZOOM_PAN
        },
        scaleControl: false,
        streetViewControl: false
    	};
    	map = new google.maps.Map(document.getElementById("map"), optionsCarte);
      //xml
      if(xmlPHP!="") {
        downloadUrl(repCarte + xmlPHP, function(data) {
        var markers = data.documentElement.getElementsByTagName("marker");

        for (var i = 0; i &lt; markers.length; i++) {
            var latlng = new google.maps.LatLng(parseFloat(markers[i].getAttribute("lat")), parseFloat(markers[i].getAttribute("lng")));
            //if ( i &lt; 4 ){
            //alert(parseFloat(markers[i].getAttribute("lat"))+ " "+parseFloat(markers[i].getAttribute("lng")));
            bounds.extend(new google.maps.LatLng(parseFloat(markers[i].getAttribute("lat")), parseFloat(markers[i].getAttribute("lng"))));
            //}
            var marker = createMarker(markers, i, latlng, repCarte);
           }
         });
        //map.fitBounds(bounds);
         //marker
        function createMarker(markers, i, latlng, repCarte) {
          element_xml = markers[i];
          var contenu = "";
          var titre = element_xml.getAttribute("titre");
         
          contenu = "&lt;b&gt;" + titre + "&lt;/b&gt;";
          
          
          if(element_xml.getAttribute("adresse")!="") {
            contenu += "&lt;br/&gt;"+element_xml.getAttribute("adresse");
          }
          if(element_xml.getAttribute("adresse2")!="") {
            contenu += "&lt;br/&gt;"+element_xml.getAttribute("adresse2");

        }          
          if(element_xml.getAttribute("ville")!="") {
            contenu += "&lt;br/&gt;"+element_xml.getAttribute("cp")+" "+element_xml.getAttribute("ville");
          }  
          
          //si lpus de 1 point, lien vers le detail
          if(markers.length&gt;0 &amp;&amp; element_xml.getAttribute("page_detail")!="") {
            contenu += "&lt;br/&gt;&lt;a href=\"" + element_xml.getAttribute("page_detail") + "\"&gt;Voir la fiche&lt;/a&gt;";
          }
          contenu += " - &lt;a href=\"/itineraire.php?ID="+element_xml.getAttribute("id_md5")+"\" rel=\"nofollow\" onclick=\"$(this).colorbox({rel:'nofollow',iframe:true,width:890,height:650});\"&gt;Itinéraire&lt;/a&gt;";
                    
          contenu = "&lt;div id=\"content\" style=\"width:250px;height:120px;border:1px solid #eee;\"&gt;" + contenu + "&lt;/div&gt;";

          var image_icon = repCarte + 'icone.png';
         var zPosition = 0;
         if ( element_xml.getAttribute("premium") == 1 ){
              image_icon = repCarte + 'icone_premium.png';
              var zPosition = 100;
          }

          var marker = new google.maps.Marker({position: latlng, map: map, icon: image_icon, title:element_xml.getAttribute("nom"), zIndex:zPosition});

          //click : info bulle avec titre + photo

          google.maps.event.addListener(marker, "click", function() {

            if (infowindow) infowindow.close();

            infowindow = new google.maps.InfoWindow({content: contenu});

            infowindow.open(map, marker);

          });
          return marker;
        }
      }
}

      function get_latlngs_str_to_array(str_latlngs) {

            array_latLngs = new Array();

            

            //decoupe la chaine pour en faire un tableau de latLngs

            var array_decoupe = str_latlngs.split(";");

            for(a=0;a&lt;array_decoupe.length;a++) {

              var array_point = array_decoupe[a].split(",");

              if(array_point[0]!="") {

                var latLng = new google.maps.LatLng(array_point[0],array_point[1]);

                array_latLngs.push(latLng);              

              }



            }

            

            

            return array_latLngs;            

          } 



//recupere un point latlng en fonction d'une adresse

  function trouve_adresse() {



    try {

      document.getElementById("liste_adresses").innerHTML = "";

    } catch(e) {

    }

    

    var geocoder;

    geocoder = new google.maps.Geocoder();





      var address = document.getElementById("adresse_gmap").value;

      if(address!='') {



      geocoder.geocode( { 'address': address}, function(results, status) {

        if (status == google.maps.GeocoderStatus.OK) {

          

          //si une adresse, creation directe du point

          

          //si 1

          if(results.length==1) {

            place_point(results[0].geometry.location.lat(), results[0].geometry.location.lng());

          

          //si &gt;1, creation d'une liste

          } else if(results.length&gt;1) {

            try {

              var div_listes = document.getElementById("liste_adresses");

              var html = "";

              for(r=0;r&lt;results.length;r++) {

                html += (r+1) + " - &lt;a href=\"javascript:void(0)\" onclick=\"place_point('" + results[r].geometry.location.lat()+ "','"+results[r].geometry.location.lng()+"')\"&gt;" + results[r].formatted_address + "&lt;/a&gt;&lt;br/&gt;";

              }

              div_listes.innerHTML = html;

              

            } catch(e) {

            

            }

          

          }

          



        

        } else if (status == google.maps.GeocoderStatus.ZERO_RESULTS) {

          alert("Aucun lieu ne correspond à cette adresse.");

        } else {

          

        }

      });

      

      }



    }

    

    function place_point(lat,lng) {

          marker_pt.setMap(null);

          var latLng = new google.maps.LatLng(lat, lng);

          map.setCenter(latLng);

          marker_pt = new google.maps.Marker({

              map: map, 

              position: latLng,

              draggable: true

          }); 





          

          try {  

    

            document.getElementById("lat").value = lat;

            document.getElementById("lng").value = lng;  

              

          //deplacement du point

            google.maps.event.addListener(marker_pt, "drag", function() {

                      var point_latlng = marker_pt.getPosition();

      

                      document.getElementById("lat").value = point_latlng.lat().toFixed(7);

                      document.getElementById("lng").value = point_latlng.lng().toFixed(7);  

           

    

        		});

        		

        		google.maps.event.addListener(marker_pt, "dragend", function() {

                      //recentre la carte sur ce point

                      var point_latlng = marker_pt.getPosition();

                      document.getElementById("lat").value = point_latlng.lat().toFixed(7);

                      document.getElementById("lng").value = point_latlng.lng().toFixed(7);  

                             

                      

                      map.setCenter(point_latlng);    		

        		});            

            

          } catch(e) {

            

          }        

    }

    

    //fonctions js de la carte pour mettre à jour les coords

    function place_lieu() {

      

      map.setOptions({draggable: true});

      

      //creation d'un marker



      

      var center_map = map.getCenter();

      

      var pt_lat = '';

      var pt_lng = '';

      

      

      if(pt_lat=='' || pt_lat==0) {

        pt_lat = init_lat;

      }

      if(pt_lng=='' || pt_lng==0) {

        pt_lng = init_lng;

      }      

      

      var latlng_ag = new google.maps.LatLng(pt_lat, pt_lng);

      marker_pt = new google.maps.Marker({position: latlng_ag, map: map, draggable: true});

      map.setCenter(latlng_ag);

      

      //deplacement du point

        google.maps.event.addListener(marker_pt, "drag", function() {

                  var point_latlng = marker_pt.getPosition();

                  document.getElementById("lat").value = point_latlng.lat().toFixed(7);

                  document.getElementById("lng").value = point_latlng.lng().toFixed(7);  

    		});

    		

    		google.maps.event.addListener(marker_pt, "dragend", function() {

                  //recentre la carte sur ce point

                  var point_latlng = marker_pt.getPosition();

                  document.getElementById("lat").value = point_latlng.lat().toFixed(7);

                  document.getElementById("lng").value = point_latlng.lng().toFixed(7);  



                  map.setCenter(point_latlng);    		

    		});

              

    }

    

    function affiche_lieux(idCategorie, checkedValue, repCarte, xmlPHP) {

      if(checkedValue) {

        //cree des markers et les range dans un tableau

        downloadUrl(repCarte + xmlPHP, function(data) {

          var markers = data.documentElement.getElementsByTagName("marker");

        

          var markers_array = new Array();

        

          for (var i = 0; i &lt; markers.length; i++) {

            var latlng = new google.maps.LatLng(parseFloat(markers[i].getAttribute("lat")), parseFloat(markers[i].getAttribute("lng")));

            var marker = createMarker_lieu(markers[i], latlng, repCarte);

            markers_array[markers_array.length] = marker;

           }

           

           markers_categorie_array[idCategorie] = markers_array;

         });

      } else {

        //recup les markers correspondant et les supprime de la carte

        markers_array = markers_categorie_array[idCategorie];

        for (var i = 0; i &lt; markers_array.length; i++) {

          var marker = markers_array[i];

          marker.setMap(null);

        }

        

      };

      

    }

    

        function createMarker_lieu(element_xml, latlng, repCarte) {

          var marker_lieu;

          var contenu = "";

          var nom = element_xml.getAttribute("nom");

          var icone = element_xml.getAttribute("icone");

          

          contenu = "&lt;b&gt;" + nom + "&lt;/b&gt;";

          if(element_xml.getAttribute("adresse")!="") {

            contenu += "&lt;br/&gt;" +  element_xml.getAttribute("adresse");

          }          

          if(element_xml.getAttribute("tel")!="") {

            contenu += "&lt;br/&gt;Tél. : " +  element_xml.getAttribute("tel");

          }

          if(element_xml.getAttribute("pagedetail")!="") {

            contenu += "&lt;br/&gt;&lt;a href=\"" + element_xml.getAttribute("pagedetail") + "\" target=\"_blank\"&gt;En savoir plus&lt;/a&gt;";

          }          

          

          contenu = "&lt;div id=\"content\" style=\"width:100%;\"&gt;" + contenu + "&lt;/div&gt;";



  

          //marker avec icone perso

          if(icone!="") {

            var image_icon = icone;

            marker_lieu = new google.maps.Marker({position: latlng, map: map, icon: image_icon, title:element_xml.getAttribute("nom")});

          //icone par defaut

          } else {

            marker_lieu = new google.maps.Marker({position: latlng, map: map, title:element_xml.getAttribute("nom")});

          }

            

          //click : info bulle avec titre 

          google.maps.event.addListener(marker_lieu, "click", function() {

            if (infowindow) infowindow.close();

            infowindow = new google.maps.InfoWindow({content: contenu});

            infowindow.open(map, marker_lieu);

          });

          

                  



  

          return marker_lieu;

        }    </pre></body></html>