//Renseignements sur la salle : Chargement ... '), new GInfoWindowTab("Streetview", '
Street View en cours de chargement ...
'), new GInfoWindowTab("Anomalie", '
Formulaire pour bientôt ...
') ]; window.onresize = handleResize; // Cette fonction récupère la hauteur de la fenêtre function windowHeight() { // Standard browsers (Mozilla, Safari, etc.) if (self.innerHeight) { return self.innerHeight; } // IE 6 if (document.documentElement && document.documentElement.clientHeight) { return document.documentElement.clientHeight; } // IE 5 if (document.body) { return document.body.clientHeight; } // Just in case. return 0; } // Cette fonction redimensionne la carte function handleResize() { var height = windowHeight() - 95; document.getElementById('map').style.height = height + 'px'; document.getElementById('sidebar').style.height = height + 'px'; setTimeout("handleResizeListe("+height+");",500); } // Cette fonction redimensionne la liste des gymnases function handleResizeListe(height) { document.getElementById('liste_salles').style.height = height-155 + 'px'; } // Cette fonction repère le click et ouvre la fenêtre d\'infos correpondante function myclick(i,tp) { map.setCenter(gmarkers[i].getPoint(),10); lati = gmarkers[i].getPoint().lat(); longi = gmarkers[i].getPoint().lng(); gmarkers[i].openInfoWindowTabsHtml(infoTabs); setTimeout("afficheRenseignements('" + tp + "','" + i + "', " + lati + ", " + longi + ");",2000); setTimeout("afficheStreetView("+lati+","+longi+");",2000); setTimeout("afficheAnomalie('" + tp + "','" + i +"');",500); } function afficheRenseignements(tp, idi, lat, lng){ retour = '' ; document.getElementById("Renseignements").innerHTML='
Renseignements sur la salle : Chargement ...
'; ll = GLatLng.fromUrlValue(lat + "," + lng) ; geocoder.getLocations(ll, function(response) { if (!response || response.Status.code != 200) { $("#Renseignements").load("./carte/detail_gymnase.php", { tp: tp, id: idi, ad: '' } ) ; // alert("Status Code:" + response.Status.code); } else { place = response.Placemark[0]; retour = place.address ; $("#Renseignements").load("./carte/detail_gymnase.php", { tp: tp, id: idi, ad: retour } ) ; } }); } function afficheAnomalie(tp, idi){ $("#Anomalie").load("./carte/formAnomalie.php", { tp: tp, id: idi } ) ; } function afficheStreetView(latistreetview, longistreetview){ lalo = GLatLng.fromUrlValue(latistreetview + "," + longistreetview) ; document.getElementById("EmplacementStreetView").innerHTML=""; StreetViewOptions = { latlng:lalo }; StreetView = new GStreetviewPanorama(document.getElementById("EmplacementStreetView"), StreetViewOptions); GEvent.addListener(StreetView, "error", handleNoFlash); } function handleNoFlash(errorCode) { if (errorCode == 600) { document.getElementById("EmplacementStreetView").innerHTML="Désolé, la fonctionnalité Streetview n'est pas prise en charge à cet endroit !"; return; } } // Cette fonction crée les points function createMarker(id,point,nom,tp,icone) { var im_icon = eval(icone) ; markerOptions = { title:nom, icon:im_icon }; var marker = new GMarker(point,markerOptions); GEvent.addListener(marker, "click", function(point) { lati = point.lat(); longi = point.lng(); marker.openInfoWindowTabsHtml(infoTabs); setTimeout("afficheRenseignements('" + tp + "'," + id + ", " + lati + ", " + longi + ");",1500); setTimeout("afficheStreetView("+lati+","+longi+");",1000); }); GEvent.addListener(marker, "infowindowbeforeclose", function() { document.getElementById("Renseignements").innerHTML='
Renseignements sur la salle : Chargement ...
'; }); gmarkers[id] = marker; htmls[id] = id; if (tp=='com' || tp=='lig' || tp=='inst') { // add a line to the sidebar html sidebar_inst_html += '' + '• ' + nom + '
'; } else { // add a line to the sidebar html sidebar_html += '' + '• ' + nom + '
'; } // add a line to the sidebar html // sidebar_html += '' + '• ' + nom + '
'; return marker; } // Fonction principale function initialize() { if (GBrowserIsCompatible()) { var urlstr = "./carte/liste_point_GeoJson_google.php"; var mapOptions = {googleBarOptions : {style : "new"}} ; map = new GMap2(document.getElementById("map"), mapOptions); map.setCenter(new GLatLng(47,2),6); map.enableGoogleBar(); /* map.setUIToDefault();*/ var topRight = new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(10,10)); var topLeft = new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(10,10)); var topLeftR = new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(70,10)); var bottomRight = new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(20,10)); var bottomLeft = new GControlPosition(G_ANCHOR_BOTTOM_LEFT, new GSize(10,40)); var mapTypeControl = new GMapTypeControl(); map.addControl(new GLargeMapControl3D(), topLeft); map.addControl(mapTypeControl, topLeftR); map.addControl(new GScaleControl(), bottomRight); map.enableScrollWheelZoom() ; map.enableContinuousZoom() ; geocoder = new GClientGeocoder(); GDownloadUrl(urlstr, function(data) { var xml = GXml.parse(data); var markers = xml.documentElement.getElementsByTagName("marker"); // sidebar_html += '
'; for (var i = 0; i < markers.length; i++) { var id = markers[i].getAttribute("id"); var nom = markers[i].getAttribute("nom"); var type = markers[i].getAttribute("type"); var icone = markers[i].getAttribute("icone"); var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),parseFloat(markers[i].getAttribute("long"))); var marker = createMarker(id,point,nom,type,icone); map.addOverlay(marker); } // sidebar_html += '
'; // document.getElementById("infos").innerHTML = sidebar_html; document.getElementById("liste_salles").innerHTML = sidebar_html; }); // sidebar_html += '
'; var point = new GLatLng(48.811940, 2.351390); var marker = createMarker(99999, point, 'Fédération Française de HandBall', 'inst', iconFede) ; map.addOverlay(marker); var point = new GLatLng(48.830350, 2.379260); var marker = createMarker(99998, point, 'Ligue Nationale de Handball', 'inst', iconFede) ; map.addOverlay(marker); // Affectation du contenu de la sidebar_html au container sidebar div // document.getElementById("infos").innerHTML = sidebar_html; document.getElementById("institutionnels").innerHTML = sidebar_inst_html; document.getElementById("liste_salles").innerHTML = sidebar_html; document.getElementById("logos").innerHTML = 'Accès au site ArbitrHand  '; handleResize() ; } else{ alert('Désolé, mais votre navigateur n\'est pas compatible avec Google Maps'); } } //]]>