New file |
0,0 → 1,347 |
var map = null; |
var tableau_marqueurs = new Array(); |
var infowindow = new google.maps.InfoWindow(); |
var infos_observations = new Array(); |
|
var type_espece = '0'; |
var espece = '0'; |
var evenement = '0'; |
var annee = '0'; |
var mois = '1'; |
|
function getUrlBaseJrest() { |
|
url_page_courante = document.URL; |
|
if(url_page_courante.indexOf('http://www.') != -1) { |
return urlBaseJrest; |
} else { |
return urlBaseJrest.replace('http://www.','http://'); |
} |
} |
|
function traiterParametresUrl() { |
|
var vars = [], hash; |
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); |
for(var i = 0; i < hashes.length; i++) |
{ |
hash = hashes[i].split('='); |
vars.push(hash[0]); |
vars[hash[0]] = hash[1]; |
} |
|
if(vars['type_espece'] != null) { |
type_espece = vars['type_espece']; |
$('#selecteur_liste_types_especes').val(type_espece); |
} |
|
if(vars['espece'] != null) { |
if(type_espece != '0') { |
modifierTableauEspeces(); |
} |
espece = vars['espece']; |
$('#selecteur_especes').val(espece); |
|
} |
|
if(vars['evenement'] != null) { |
if(espece != 0) { |
modifierTableauEvenement() |
} |
evenement = vars['evenement']; |
$('#selecteur_evenements').val(evenement); |
} |
|
if(vars['annee'] != null) { |
annee = vars['annee']; |
$('#selecteur_liste_annees').val(annee); |
} else { |
date = new Date() |
annee = date.getFullYear(); |
$('#selecteur_liste_annees').val(annee); |
} |
|
if(vars['mois'] != null) { |
mois = vars['mois']; |
} else { |
date = new Date() |
mois = date.getMonth() + 1; |
} |
|
if(vars['cacher_criteres'] != null && vars['cacher_criteres'] == '1') { |
$(".criteres").hide(); |
} |
} |
|
function obtenirCodeWidget() { |
|
var UrlBase = window.location; |
UrlBase += '?'; |
if(type_espece != '0') UrlBase += "type_espece="+type_espece; |
if(espece != '0') UrlBase += "&espece="+espece; |
if(evenement != '0') UrlBase += "&evenement="+evenement; |
if(annee != '0') UrlBase += "&annee="+annee; |
if(mois != '0') UrlBase += "&mois="+mois; |
UrlBase += "&cacher_criteres=1"; |
|
code_widget = '<iframe src="'+UrlBase+'" width="375px" height="470px"><p>Votre navigateur ne supporte pas les iframes.</p></iframe>' |
|
return code_widget; |
} |
|
$('#lien_cette_recherche').ready(function() { |
$('#lien_cette_recherche').click(function() { |
window.alert(obtenirCodeWidget()); |
return false; |
}); |
}); |
|
$(document).ready(function() { |
traiterParametresUrl(); |
}); |
|
/** |
************************************************************************************************ |
************************************************************************************************ |
|
Fonctions concernant les gestion des filtres sur la carte |
|
************************************************************************************************ |
************************************************************************************************ |
**/ |
|
function initialiserSliderDates() { |
|
dates = new Array("jan","fev","mar","avr","mai","jun","jui","aou","sep","oct","nov","dec"); |
|
$("#slider_date").slider({ |
min: 1, |
max: 13, |
value: mois |
}); |
|
taille_criteres = Math.round($("#slider_date").width()/(dates.length)); |
|
valeurs_slider = '<table id="table_dates"><tbody><tr>'; |
|
for (i in dates) { |
valeurs_slider += '<td class="conteneur_date">'+dates[i]+'</td>'; |
} |
|
valeurs_slider += '</tr></tbody></table>'; |
|
$("conteneur_date").css(".conteneur_date{ width:"+taille_criteres+"px;}"); |
|
$("#valeurs_date").html(valeurs_slider); |
|
$("#slider_date").bind("slide", function(event, ui) { |
|
mois = $("#slider_date").slider("value"); |
obtenirObservations(); |
return true; |
}); |
|
$(window).bind("resize", resizeWindow); |
function resizeWindow( e ) { |
taille_criteres = Math.round($("#slider_date").width()/(dates.length)); |
$("#css_slider").html(".conteneur_date{ width:"+taille_criteres+"px;}"); |
} |
} |
|
function initialiserListeTypesEspeces() { |
|
$('#selecteur_liste_types_especes').change(function() { |
type_espece = $('select#selecteur_liste_types_especes option:selected').val(); |
modifierTableauEspeces(); |
obtenirObservations(); |
}); |
} |
|
function modifierTableauEspeces() { |
|
id_type_espece = $('select#selecteur_liste_types_especes option:selected').val(); |
|
$elements_liste = tableau_especes[id_type_espece]; |
|
chaine_elements_liste = ''; |
chaine_elements_liste = '<option value="0" class="espece_type_0" selected="selected"> toutes les espèces </option>'; |
for(i in $elements_liste) { |
chaine_elements_liste += '<option value='+i+'>'+$elements_liste[i]+'</option>'; |
} |
|
$('#selecteur_especes').html(chaine_elements_liste); |
} |
|
function initialiserListeEspeces() { |
|
$('#selecteur_especes').change(function() { |
espece = $('select#selecteur_especes option:selected').val(); |
modifierTableauEvenements(); |
obtenirObservations(); |
}); |
} |
|
function modifierTableauEvenements() { |
|
id_espece = $('select#selecteur_especes option:selected').val(); |
|
$elements_liste = tableau_evenements_especes[id_espece]; |
$elements_liste = $elements_liste.split(','); |
|
chaine_elements_liste = ''; |
chaine_elements_liste = '<option value="0" class="espece_type_0" selected="selected"> tous les evènements </option>'; |
for(i in $elements_liste) { |
chaine_elements_liste += '<option value='+$elements_liste[i]+'>'+tableau_evenements[$elements_liste[i]]+'</option>'; |
} |
|
$('#selecteur_evenements').html(chaine_elements_liste); |
} |
|
function initialiserListeEvenements() { |
|
$('#selecteur_evenements').change(function() { |
evenement = $('select#selecteur_evenements option:selected').val(); |
obtenirObservations(); |
}); |
} |
|
function initialiserListeAnnees() { |
|
$('#selecteur_liste_annees').change(function() { |
annee = $('select#selecteur_liste_annees option:selected').val(); |
obtenirObservations(); |
}); |
} |
|
$('#slider_date').ready(function() { |
initialiserSliderDates(); |
initialiserListeTypesEspeces(); |
initialiserListeEspeces(); |
initialiserListeEvenements(); |
initialiserListeAnnees(); |
obtenirObservations(); |
}); |
|
|
/** |
************************************************************************************************ |
************************************************************************************************ |
|
Fonctions concernant la carte permettant de pointer d'afficher l'emplacement des observation |
|
************************************************************************************************ |
************************************************************************************************ |
**/ |
|
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.HYBRID |
}; |
|
map = new google.maps.Map(document.getElementById("map_canvas"), |
myOptions); |
|
marker = new google.maps.Marker({ |
position: latlng, |
title:"" |
}); |
} |
|
function obtenirObservations() { |
|
requete = '?annee='+annee+'&mois='+mois; |
|
if(type_espece != '0' && espece == '0') { |
requete += '&type_espece='+type_espece; |
} |
|
if(espece != '0') { |
requete += '&espece='+espece; |
} |
|
if(evenement != '0') { |
requete += '&evenement='+evenement; |
} |
|
$.get(getUrlBaseJrest()+'OdsExport/ExportObservationJson/'+requete, function(data) { |
|
infos_observations = jQuery.parseJSON(data); |
|
if(tableau_marqueurs.length > 0) { |
viderMarqueurs(); |
} |
|
for(i in infos_observations) { |
creerEtAjouterMarqueur(i, infos_observations[i]); |
} |
}); |
} |
|
function creerEtAjouterMarqueur(id_marqueur, infos_obs) { |
|
latlng = new google.maps.LatLng(infos_obs['latitude'],infos_obs['longitude']); |
|
tableau_marqueurs[id_marqueur] = new google.maps.Marker({ |
position: latlng, |
title:infos_obs.evenenement |
}); |
|
google.maps.event.addListener(tableau_marqueurs[id_marqueur], 'click', function() { |
|
contenu_fenetre = formaterContenuFenetre(infos_obs.obs); |
infowindow.close(); |
infowindow.content = contenu_fenetre; |
infowindow.open(map,this); |
}); |
|
tableau_marqueurs[id_marqueur].setDraggable(false); |
tableau_marqueurs[id_marqueur].setClickable(true); |
|
tableau_marqueurs[id_marqueur].setMap(map); |
|
} |
|
function viderMarqueurs() { |
|
infowindow.close(); |
for(i in tableau_marqueurs) { |
tableau_marqueurs[i].setMap(null); |
} |
|
tableau_marqueurs = new Array(); |
} |
|
function formaterContenuFenetre(infos_obs) { |
|
contenu_fenetre = ''; |
|
for(i in infos_obs) { |
|
nom_stade =''; |
if(infos_obs[i].code_bbch != '') { |
nom_stade = ' stade '+infos_obs[i].code_bbch; |
} |
|
contenu_fenetre += '<div class="fenetre_infos">'; |
contenu_fenetre += '<div class="nom_sci">'+infos_obs[i].nom_scientifique+'</div>'; |
contenu_fenetre += '<div class="nom_sci">'+infos_obs[i].evenenement+nom_stade+'</div>'; |
contenu_fenetre += '<div class="date_obs"> Observé le : '+infos_obs[i].date+' </div>'; |
contenu_fenetre += '</div><br />'; |
} |
|
return contenu_fenetre; |
} |
|
|
$('#map_canvas').ready(function() { |
initialiserCarte(); |
}); |