Rev 303 | Blame | Compare with Previous | Last modification | View Log | RSS feed
var tableau_couleurs = {"particulier": "#A9582B", "etablissement_scolaire" :"#8DC7B8","association": "#0000FF","professionnel": "#A7BD5B","autre": "#FFC730"};var infowindow = new google.maps.InfoWindow();var types_affiches = new Array();var marqueurs = new Array();function getUrlBaseJrest() {// injecté depuis le fichier de configreturn BASE_URL_JREST;}function initialiserCarte() {if($('#map_canvas').length == 0) {return;}var latlng = new google.maps.LatLng(47.0504, 2.2347);var myOptions = {zoom: 5,center: latlng,mapTypeId: google.maps.MapTypeId.ROADMAP};map = new google.maps.Map(document.getElementById("map_canvas"),myOptions);$('.lien_vers_profil').live('click', function(event) {event.preventDefault();window.open($(this).attr('href'));return false;});obtenirStations();}function obtenirStations() {$.get(getUrlBaseJrest()+'OdsExport/ExportStationJson/', function(data) {var infos_stations = data.stations;var stats = data.stats;for(i in infos_stations) {creerEtAjouterMarqueur(i, infos_stations[i]);}genererLegende(stats);});}function obtenirImagePourChaineCouleur(chaine_couleur) {chaine_couleur = encodeURIComponent(chaine_couleur);var image = getUrlBaseJrest()+"OdsMarqueur/point?couleurs="+chaine_couleur;return image;}function genererLegende(stats) {chaine_legende = '<div class="critere" id="legende">';for(i in stats) {if(i != 'total') {var intitule_type = i.formaterTypePourBalise();var id_legende = 'type_'+intitule_type;var legende = i+' ('+stats[i]+')';var couleur = tableau_couleurs[intitule_type];chaine_legende += '<input class="selecteur_type" type="checkbox" value="'+intitule_type+'" id="selecteur_'+id_legende+'" />'+'<span class="legende" style="background-color:'+couleur+'"></span>'+'<label id="'+id_legende+'">'+legende+'</label>'+'<br />';} else {$('#conteneur_nb_stations').text(stats[i]+' stations au total');}}chaine_legende += '</div>';$("#conteneur_legende").html(chaine_legende);$('.selecteur_type').change(function() {types_affiches = new Array();$('.selecteur_type:checked').each(function(){types_affiches.push($(this).attr("id").replace("selecteur_type_",''));});afficherMarqueursSelectionnes();})}function creerEtAjouterMarqueur(id_marqueur, infos_station) {latlng = new google.maps.LatLng(infos_station['latitude'],infos_station['longitude']);var intitule_type = infos_station['type_participant'].formaterTypePourBalise();var chaine_couleur = tableau_couleurs[intitule_type];var image = obtenirImagePourChaineCouleur(chaine_couleur);var nom_station = infos_station['nom'];var marqueur_station = new google.maps.Marker({position: latlng,icon:image,code:intitule_type,title:nom_station,optimized: true});google.maps.event.addListener(marqueur_station, 'click', function() {contenu_fenetre = formaterContenuFenetre(infos_station);infowindow.close();infowindow.setContent(contenu_fenetre);infowindow.open(map,this);});marqueur_station.setDraggable(false);marqueur_station.setClickable(true);marqueur_station.setMap(map);marqueurs.push(marqueur_station);}function afficherMarqueursSelectionnes() {for(i in marqueurs) {var afficher = (types_affiches.length == 0 || jQuery.inArray(marqueurs[i].code, types_affiches) > -1) ? true : false;marqueurs[i].setVisible(afficher);}}function formaterContenuFenetre(infos_station) {var contenu_fenetre = "";contenu_fenetre = "<h3> "+infos_station['nom']+"</h3>";contenu_fenetre += '<div class="infos_participant"> Participant : '+construireUrlProfilParticipant(infos_station['participant'])+'</div>';contenu_fenetre += '<div class="infos_commune"> ';if(infos_station['nom_commune'] != null && infos_station['nom_commune'] != "") {contenu_fenetre += 'Commune : '+infos_station['nom_commune'];}if(infos_station['code_commune'] != null && infos_station['code_commune'] != "") {contenu_fenetre += ' ('+infos_station['code_commune']+')';}contenu_fenetre += '</div>';contenu_fenetre += '<div class="infos_altitude"> Altitude : '+infos_station['altitude']+' m</div>';return contenu_fenetre;}function obtenirImagePourChaineCouleur(chaine_couleur) {chaine_couleur = encodeURIComponent(chaine_couleur);var image = getUrlBaseJrest()+"OdsMarqueur/point?couleurs="+chaine_couleur;return image;}function construireUrlProfilParticipant(participant) {if(participant['id'] == null && participant['nom'] == null) {return "anonyme";}var id = participant['id'];if(participant['nom'] == null || participant['nom'] == "null") {var pseudo = participant['id'];} else {var pseudo = participant['nom'];}return '<a class="lien_vers_profil" href="http://obs-saisons.fr/user/'+id+'"> '+pseudo+' </a>';}$('#map_canvas').ready(function() {initialiserCarte();});String.prototype.formaterTypePourBalise = function() {var s = this;return s.removeDiacritics().replace(' ','_').toLowerCase();}String.prototype.removeDiacritics = function() {var diacritics = [[/[\300-\306]/g, 'A'],[/[\340-\346]/g, 'a'],[/[\310-\313]/g, 'E'],[/[\350-\353]/g, 'e'],[/[\314-\317]/g, 'I'],[/[\354-\357]/g, 'i'],[/[\322-\330]/g, 'O'],[/[\362-\370]/g, 'o'],[/[\331-\334]/g, 'U'],[/[\371-\374]/g, 'u'],[/[\321]/g, 'N'],[/[\361]/g, 'n'],[/[\307]/g, 'C'],[/[\347]/g, 'c'],];var s = this;for (var i = 0; i < diacritics.length; i++) {s = s.replace(diacritics[i][0], diacritics[i][1]);}return s;}