//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 = '
';
handleResize() ;
}
else{
alert('Désolé, mais votre navigateur n\'est pas compatible avec Google Maps');
}
}
//]]>