$(document).ready(function(){ if($('#map_poi')[0]){ var json=$('#urlpoi').val(); //myMarkerImageP2 = new google.maps.MarkerImage('/public/plugins/camping/default/images/pointeur.png'); initialize_map(); } }); var map_ard; var prev_infowindow; function initialize_map() { var lat=0; var lon=0; var pois=$('#jsonpoi').val(); var obj = jQuery.parseJSON(pois); var tmp=0; $.each(obj, function(key, val) { if(tmp==0){ lat=val.la; lon=val.lo; } tmp++; }); //myMarkerImageP = new google.maps.MarkerImage('/public/plugins/camping/default/images/pointeur.png'); var zoom=$('#zoom').val()*1; var myLatlng = new google.maps.LatLng(lat,lon); var myOptions = { zoom: zoom, center: myLatlng, mapTypeId: google.maps.MapTypeId.ROADMAP }; map_ard = new google.maps.Map(document.getElementById('map_poi'), myOptions); var tmp=0; var markers = []; $.each(obj, function(key, val) { tmp++; if(tmp==1 || (val.cat==1 && $('#filtre_1')[0].checked) || (val.cat==2 && $('#filtre_2')[0].checked) || (val.cat==3 && $('#filtre_3')[0].checked) || (val.cat==4 && $('#filtre_4')[0].checked)){ var myMarkerImage = new google.maps.MarkerImage('/public/plugins/ardenne/default/images/map_' + val.id_poi_cat + '.png'); cont=""; cont+='
'; cont+=''+val.nom+'
'; cont+=val.adr+'
'; cont+=val.loc+'
'; if(val.tel!='')cont+='
Tel : ' + val.tel+'
'; if(val.web!='')cont+='' + val.web + '
'; cont+="
"; var mar = new google.maps.Marker({ position: new google.maps.LatLng(val.la,val.lo), icon: myMarkerImage, map: map_ard }); var inf = new google.maps.InfoWindow({ position: new google.maps.LatLng(val.la,val.lo), content: '
' + cont + '
' }); setEventMarker(mar,inf); if(tmp==1){ prev_infowindow=inf; prev_infowindow.open(map_ard); } markers.push(mar); } }); if($('#groupe').val()==1) var markerCluster = new MarkerClusterer(map_ard, markers); } function setEventMarker( marker, infowindow){ google.maps.event.addListener( marker, 'click', function() { // affichage InfoWindow if( prev_infowindow ) { prev_infowindow.close(); } prev_infowindow = infowindow; infowindow.open( map_ard, this); }); }