'+
'
{TPL_TITRE}'+
'
{TPL_SECTEUR}
'+
'
{TPL_VILLE}
'+
'
{TPL_DESC} '+
'
'+
'';
var tplInfoBulle = '
'+
'

'+
'
'+
'
'+
'{TPL_TITRE}
'+
'{TPL_DESC}
'+
'{TPL_SITE}'+
'
'+
'
';
// Traitement des points
var infowindow;
var traiteJson = function(e){
$("#result_map").empty();
e = eval(e); var data = e.data;
$("#mapOnglet .onglets").removeClass('select');
$("#mapOnglet .onglets[rel="+mode+"]").addClass('select');
$("#search_map").removeClass('load');
var lat = e.latitude, lng = e.longitude, zoom = Number(e.zoom);
if(lat!='' && lng!='' ){
var myLatlng = new google.maps.LatLng(lat,lng);
map.setCenter(myLatlng);
}
if( zoom!='' ){
map.setZoom(zoom);
}
var nbRes = 0;
for(i in data){
if(i=='removeDuplicates' || i=='empty') continue;
var el = data[i];
if( el.Type=='Point' ){ // Ajout de point
var myLatLng = new google.maps.LatLng(el.Lat,el.Lng);
var marker = new google.maps.Marker({
position:myLatLng,
map: map,
//,icon: icon
});
// Replace photo vide
if(el.Photo=='') el.Photo='images/blanc.gif" height="2'; else el.Photo='photos/'+el.Photo;
// Infobulle
var txt = tplInfoBulle;
txt = txt.replace('{TPL_PHOTO}',el.Photo);
txt = txt.replace('{TPL_TITRE}',el.Nom);
txt = txt.replace('{TPL_TITRE}',el.Nom);
txt = txt.replace('{TPL_VILLE}',el.Ville);
txt = txt.replace('{TPL_SECTEUR}',el.Secteur);
if( el.ShowInfos=="1" ){
var desc = el.Description;
var reg = /([a-z0-9._-]+@[a-z0-9.-]+\.[a-z0-9.-]{2,6})/gi;
desc = desc.replace( reg, '
$1' ) ;
txt = txt.replace('{TPL_DESC}',desc);
if(el.Site!=''){
var site=el.Site; if( site.indexOf('http://')==-1 ) site="http://"+site;
site='
Lien : Cliquez ici';
txt = txt.replace('{TPL_SITE}',site);
}else{
txt = txt.replace('{TPL_SITE}',"");
}
}else{
txt = txt.replace('{TPL_DESC}',"");
txt = txt.replace('{TPL_SITE}',"");
}
var length = marker.getPosition().lat()+"-"+marker.getPosition().lng();
if(length=="NaN-NaN") continue;
if(listMarker[length]) listMarker[length][0].setMap(null);
listMarker[length] = new Array(marker,txt);
google.maps.event.addListener(marker, 'click', function(e) {
var marker = this;
var length = marker.getPosition().lat()+"-"+marker.getPosition().lng();
$("#result_map .result").removeClass('select');
$("#result_map a[rel='"+length+"']").addClass('select');
var el = listMarker[length];
var txt = el[1];
if(infowindow) infowindow.close();
infowindow = new google.maps.InfoWindow({
content: txt,
maxWidth: 470
});
infowindow.open(map,marker);
});
// Liste des résultats
var html = tplResult;
html = html.replace('{TPL_MARKER}',length);
html = html.replace('{TPL_PHOTO}',el.Photo);
html = html.replace('{TPL_TITRE}',el.Nom);
html = html.replace('{TPL_TITRE}',el.Nom);
html = html.replace('{TPL_VILLE}',el.Ville);
html = html.replace('{TPL_SECTEUR}',el.Secteur);
if( el.ShowInfos=="10" ){
var desc = el.Description; var desc2 = desc;
//var pos = desc2.indexOf('Tél :');
//if(pos>0) desc2 = desc2.substring(0,pos);
//if(desc2.length>120) desc2=desc2.substring(0,120)+"...";
html = html.replace('{TPL_DESC}',desc2);
}else{
html = html.replace('{TPL_DESC}',"");
}
$("#result_map").append(html);
nbRes++;
}else{
/*
var PointLng = el.Lng.split('|');
var PointLat = el.Lat.split('|');
var points = new Array();
for(i in PointLng){
if(i=='removeDuplicates' || i=='empty') continue;
var pts = new google.maps.LatLng(PointLat[i],PointLng[i]);
points[points.length] = pts;
}
if( el.Type=='Route' ){ // Ajout de route
var marker = new GPolyline(points, el.Color, 3, 0.6);
}else{ // Ajout de zone
var marker = new GPolygon(points, el.Color, 3, 0.8, el.Color, 0.4);
}
map.addOverlay(marker);
*/
}
}
$("#result_map .result").click(function(){
var Sp = $(this).attr('rel');
var el = listMarker[Sp];
$("#result_map .result").removeClass('select');
$(this).addClass('select');
var marker = el[0];
if(infowindow) infowindow.close();
infowindow = new google.maps.InfoWindow({
content: el[1],
maxWidth: 470
});
infowindow.open(map,marker);
});
if(nbRes>1) nbRes="
Résultats pour cette route : "+nbRes; else nbRes="
Résultat pour cette route : "+nbRes;
$("#nb_result").html(nbRes);
};
// Changement de catégorie
var changeCat = function(){
var tmp=$(this).val();
if(tmp!=CatID){
CatID=tmp;
if(CatID!='') loadCat();
}
};
// Chargement catégorie
var loadCat = function(){
if(infowindow) infowindow.close();
for(i in listMarker){ if(i!="removeDuplicates" && i!="empty") listMarker[i][0].setMap(null); }
$("#result_map").html('Chargement en cours..');
$("#nb_result").empty();
listMarker=new Array();
mode='categ';
$.get('/',{mode:'getPoint',CatID:CatID},traiteJson);
};
// Recherche
var currentSearch=null;
var checkSearch = function(){
clearTimeout(currentSearch);
var txt = $.trim( $(this).val() );
if(txt!='' && txt.length>2){
currentSearch=setTimeout(makeSearch,850);
}
};
var makeSearch = function(){
var txt = $.trim( $("#search_map").val() );
if(txt!='' && txt.length>1){
$("#delSearch").show();
for(i in listMarker){ if(i!="removeDuplicates" && i!="empty") listMarker[i][0].setMap(null); }
//map.clearOverlays();
$("#result_map").html('Chargement en cours..');
$("#nb_result").empty();
listMarker=new Array();
mode='search'; $("#search_map").addClass('load');
$.get('/',{mode:'getSearch',search:txt},traiteJson);
}else{
$("#delSearch").hide();
}
}
// Supprime la recherche
var delSearch = function(){
$("#search_map").val('');
$("#delSearch").hide();
switchMode($("#MyCat"));
};
// Mode d'affichage (Categ / Search)
var switchMode = function(t){
var t = t.parent().parent();
var type = t.attr('rel');
if( type=='categ' ) var input = t.find('select');
else var input = t.find('input');
var val = input.val();
if(mode!=type && val!=''){
mode=type;
if( type=='search' ) makeSearch();
else if( type=='categ' ) loadCat();
$("#mapOnglet .onglets").removeClass('select');
t.addClass('select');
}
};
// Intération catégorie / recherche
$(function(){
$("#delSearch").click(delSearch).hide();
$("#MyCat").change(changeCat).keyup(changeCat);
$("#search_map").keyup(checkSearch).val('');
$("#mapOnglet input, #mapOnglet select").click(function(){ switchMode($(this)); });
});
// Chargement de la carte
var chargeCarte = function(){
CatID = "20";
Lng = "2.5882596";
Lat = "42.8097501";
Zoom = 13;
var myLatlng = new google.maps.LatLng(Lat,Lng);
var mapOptions = {
zoom: parseInt(Zoom),
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById('map'), mapOptions);
//Création de l'icone par défault
icon0 = {
url: 'images/marker.png',
// This marker is 20 pixels wide by 32 pixels tall.
size: new google.maps.Size(12, 23),
// The origin for this image is 0,0.
origin: new google.maps.Point(0,0),
// The anchor for this image is the base of the flagpole at 0,32.
anchor: new google.maps.Point(5, 23)
};
loadCat();
};
addOnLoad('chargeCarte');
-->