var map=null;var mgr=null;var icons=[];var point_actif=null;var xml=null;var iconsXml=null;var pointsXml=null;var markers=[];var lat_site='46.227638';var lng_site='2.213749';var title_site='';var adresse_site='';var zoom_site=5;var fichierXML;function InitDefaultPoint(lat,lng,title,adresse,zoom){lat_site=lat;lng_site=lng;title_site=title;adresse_site=adresse;zoom_site=zoom}function InitXMLFile(fichier){fichierXML=fichier}function InitGoogleMaps(){if(GBrowserIsCompatible()&&document.getElementById('google_map')){map=new GMap2(document.getElementById('google_map'));map.setUIToDefault();map.addControl(new GOverviewMapControl());point_actif=new GLatLng(lat_site,lng_site);map.setCenter(point_actif,zoom_site);if(adresse_site!=''){var marker=new GMarker(point_actif);map.addOverlay(marker);marker.openInfoWindowHtml(adresse_site);GEvent.addListener(marker,"click",function(){map.setCenter(point,map.getZoom()+1)})}map.setMapType(G_HYBRID_MAP);mgr=new MarkerManager(map);window.setTimeout(setupMarkers,0)}}function setupMarkers(){if(adresse_site!=''){InitGoogleMap(lat_site,lng_site,title_site,adresse_site);mgr.addMarkers(markers,0);markers.length=0}LoadMarkers(fichierXML)}function getIcon(color){if(color=='')return null;if(!icons[color]){icons[color]=new GIcon();icons[color].image='http://labs.google.com/ridefinder/images/mm_20_'+color+'.png';icons[color].shadow='http://labs.google.com/ridefinder/images/mm_20_shadow.png';icons[color].iconSize=new GSize(12,20);icons[color].shadowSize=new GSize(22,20);icons[color].iconAnchor=new GPoint(6,20);icons[color].infoWindowAnchor=new GPoint(5,1)}return icons[color]}function InitGoogleMap(lat,lng,title,adresse,icon){var marker=null;var point=null;if(map){point=new GLatLng(lat,lng);if(icon){marker=new GMarker(point,{title:title,icon:icon})}else{marker=new GMarker(point,{title:title})}markers.push(marker);if(adresse!=''){GEvent.addListener(marker,"click",function(){marker.openInfoWindowHtml(adresse);point_actif=point})}GEvent.addListener(marker,"dblclick",function(){map.closeInfoWindow();map.setCenter(point,map.getZoom()+1)})}}function zoomPoint(){map.closeInfoWindow();map.setCenter(point_actif,map.getZoom()+1);return false}function LoadMarkers(fichier){GDownloadUrl(fichier,function(data){xml=GXml.parse(data);iconsXml=xml.documentElement.getElementsByTagName("icon");for(var i=0;i<iconsXml.length;i++){pointsXml=iconsXml[i].childNodes;for(var j=0;j<pointsXml.length;j++){if(pointsXml[j].nodeName=="point"){InitGoogleMap(parseFloat(pointsXml[j].getAttribute("lat")),parseFloat(pointsXml[j].getAttribute("lng")),pointsXml[j].getAttribute("title"),pointsXml[j].getAttribute("address")+"<br>Double-cliquez pour <a href=\"#\" onclick=\"return zoomPoint();\" title=\"zoomer sur ce point\">zoomer</a>",getIcon(iconsXml[i].getAttribute("color")))}}if(iconsXml[i].getAttribute("max")){mgr.addMarkers(markers,iconsXml[i].getAttribute("min"),iconsXml[i].getAttribute("max"))}else if(iconsXml[i].getAttribute("min")){mgr.addMarkers(markers,iconsXml[i].getAttribute("min"))}else{mgr.addMarkers(markers)}markers.length=0}mgr.refresh()})}window.onload=InitGoogleMaps;window.onunload=GUnload;
