Okey la pagina è molto corposa:
codice:
<!-- FUNZIONE DI GOOGLE PER L'AUTOCOMPLETE -->
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=true&libraries=places"></script>


<script>
var placeSearch, autocomplete;
function initialize() {
  // Create the autocomplete object, restricting the search
  // to geographical location types.
  autocomplete = new google.maps.places.Autocomplete(
      /** @type {HTMLInputElement} */(document.getElementById('autocomplete')),
      { types: ['geocode'] });
  // When the user selects an address from the dropdown,
  // populate the address fields in the form.
  google.maps.event.addListener(autocomplete, 'place_changed', function() {
    fillInAddress();
  });
}


function fillInAddress() {
// Get the place details from the autocomplete object.
var place = autocomplete.getPlace();
var latitude = place.geometry.location.lat();
var longitude = place.geometry.location.lng();  
document.getElementById('lat').value = latitude;
document.getElementById('lng').value = longitude;
}
</script>
<!--FINE FUNZIONE GOOGLE -->


<script>
var but= "<?php echo($but); ?>";
var lat;
var lng;
var  myLatlng;
</script>
<?php //acquisizione parametri di ricerca
$but=$_GET['but']; //variabile passata nell'URL 1 se cerca dai campi 2 se ricerca con geocalizzazione posizione utente
$filtrodata='off'; //diventa on se imposta la data dalla pagina di ricerca
$data=date('Y-m-d');
if($but==1)
{
	if (!empty($_GET['citta']))
	{
		$citta = $_GET['citta']; 
		$lat=$_GET['lat'];
		$lng=$_GET['lng'];
	}
	
	if (!empty($_GET['data']))
	{
		$data=$_GET['data']; 
		$filtrodata='on';
	}
	if(empty($_GET['citta']))
	{
		$lat=40;
    	$lng=15;
	}
}
else
{
	$data=date('Y-m-d');
	$lat=0;
    $lng=0;
}
?>


<?php 
    
	//preparazione degli array per la creazione dei marker sulla mappa
    //cerca tutti gli eventi con la data selezionata nella pagina principale, mette nell'array idluogo l'id degli eventi corrispondenti
	
	$risultato=mysqli_query($conn,"select * from tbleventi where data = '" .$data."'");
	$aux=0;
	while($riga=mysqli_fetch_array($risultato))
    {
       	$idluogo[$aux]=$riga["id_luogo"];			 
	    $aux=$aux+1;
    }
	
	
	//mette nell'array idtuttiluoghi l'id di tutti gli eventi che ci sono con la data del filtro data
	if ($filtrodata=='on'){
	$risultato=mysqli_query($conn,"SELECT * FROM tbleventi WHERE data ='".$data."'  ORDER BY data");
	}
	else{
		//mette nell'array idtuttiluoghi l'id di tutti gli eventi che ci sono con data futura o odierna
		$risultato=mysqli_query($conn,"SELECT * FROM tbleventi WHERE data >='".date('Y-m-d')."'  ORDER BY data");
	}
			
	$aux=0;
    while($riga=mysqli_fetch_array($risultato))
    {
       $nomeevento[$aux]=$riga["nome_evento"];
	   $idevento[$aux]=$riga["ID"];		
	   $idtuttiluoghi[$aux]=$riga["id_luogo"]; 
	   $idutente[$aux]=$riga["id_utente"];
	   $menu[$aux]=$riga["menu"];
	   $postidisponibili[$aux]=$riga["posti_disponibili"];
	   $postiprenotati[$aux]=$riga["posti_prenotati"];
	   $costo[$aux]=$riga["crediti"];
	   $dataevento[$aux]=$riga["data"];
	   $oraevento[$aux]=$riga["ora"];	   
	   $aux=$aux+1;
	}
  
    for ($z=0;$z<=$aux-1;$z++)
    {
	   $result = mysqli_query($conn,"SELECT * from tblutenti where ID='".$idutente[$z]. "'");
	   if (!$result)
	    {
		    echo "no evento";	
		}
		else
        {		
	       $row = mysqli_fetch_array($result);
           $username[$z]=$row["username"];
		}
	 }	
?>


<!DOCTYPE html>
<html lang="en">


<head>
	<title>credeats</title>
    
    <link rel="stylesheet" href="css/style.css" type="text/css" />
    
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
   <script src="http://google-maps-utility-library-v3.googlecode.com/svn/trunk/markermanager/src/markermanager.js"></script>
   <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
    <script type="text/javascript">


var customIcons = //iconcince dei markers
{
    KO: {
    icon: 'http://labs.google.com/ridefinder/images/mm_20_black.png',
    shadow: 'http://labs.google.com/ridefinder/images/mm_20_shadow.png'
         },
	OK: {
    icon: 'http://labs.google.com/ridefinder/images/mm_20_red.png',
    shadow: 'http://labs.google.com/ridefinder/images/mm_20_shadow.png'
        }
}; 


var nomeevento;
var idevento;
var idutente;
var menu;
var postidisponibili;
var postiprenotati;
var costo;
var dataevento;
var oraevento;
var username;




$(document).ready(function() 
{
	
 but = "<?php echo($but) ?>";
 console.log("1.but"+but);
	//se ho schiacciato cerca attorno a me usa la geolocalizzazione
	if (but==2)
	{
		
		 if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(load);
	
    } else {
        x.innerHTML = "Geolocation is not supported by this browser.";
    }
		


	}
	if(but==1)
	{
	
	doNothing(load);
	}
	
	
});






function load(position) {	


 google.maps.event.addListener(autocomplete, 'place_changed', function() {    
	  var place= autocomplete.getPlace();
	  map.fitBounds(place.geometry.viewport);
});	


<?php
	if (isset($idluogo))
	{
	      $js_idluogo = json_encode($idluogo);
          echo "var idluogo= ". $js_idluogo . ";\n";			
     	  $controllo=1;
	}
	else
	{
		  $controllo=2;
	 }


	
		
if(isset($idevento)){
	$js_nomeevento = json_encode($nomeevento);
    echo " nomeevento= ". $js_nomeevento . ";\n";	
		
		$js_idevento = json_encode($idevento);
        echo " idevento= ". $js_idevento . ";\n";		   
		
		$js_idtuttiluoghi = json_encode($idtuttiluoghi);
        echo " idtuttiluoghi= ". $js_idtuttiluoghi . ";\n";
		
		$js_idutente=json_encode($idutente);
		echo " idutente= ". $js_idutente . ";\n";
		
		$js_menu=json_encode($menu);
		echo " menu= ". $js_menu . ";\n";
		
		$js_postidisponibili=json_encode($postidisponibili);
		echo " postidisponibili= ". $js_postidisponibili . ";\n";
		
		$js_postiprenotati=json_encode($postiprenotati);
		echo " postiprenotati= ". $js_postiprenotati . ";\n";
		
		$js_costo=json_encode($costo);
		echo " costo= ". $js_costo . ";\n";
		
		$js_dataevento=json_encode($dataevento);
		echo " dataevento= ". $js_dataevento . ";\n";
		
		$js_oraevento=json_encode($oraevento);
		echo " oraevento= ". $js_oraevento . ";\n";
		
		$js_username=json_encode($username);
		echo " username= ". $js_username . ";\n";	
		}
		else
		{
			$controllo_risultati="nessuno";
		}
?>	








$(document).ready(function() 
{
$('input[type="date"]').change(function(){
		but=0;


		lat=map.getCenter().lat();
		lng=map.getCenter().lng();
		
		 var selected_date=$(this).val();
		 load_data={'selected_date':selected_date}
		 $.post("getcountry.php", load_data, function(data) {
			var json=JSON.parse(data)			
			nomeevento=json[0].nomeevento;
			idevento=json[0].idevento;
			idtuttiluoghi=json[0].idtuttiluoghi;
			idutente=json[0].idutente;
			menu=json[0].menu;
			postidisponibili=json[0].postidisponibili;
			postiprenotati=json[0].postiprenotati;
			costo=json[0].costo;
			dataevento=json[0].dataevento;
			oraevento=json[0].oraevento;
			username=json[0].username;
		});	
	     
		
		 myLatlng = new google.maps.LatLng(lat, lng);
		load();
	  });
});


	


var filtrodistance=40;


 if (but==2)
 {
	 
    //variabile latlng delle coordinate prese mediante geolocalizzazione	


    lat=position.coords.latitude;
	lng=position.coords.longitude;


 } 
if(but==1)
 {  
 
     lat = "<?php echo($lat); ?>";
     lng = "<?php echo($lng); ?>";
     myLatlng = new google.maps.LatLng(lat, lng);
  } 


//creazione mappa
 var map = new google.maps.Map(document.getElementById("map"), 
{
    center: new google.maps.LatLng(lat, lng),
    zoom: 6,
    mapTypeId: 'roadmap'
	
});	  	  


var infoWindow = new google.maps.InfoWindow;


downloadUrl("creamappa.php", function(data) {
	
	var lat1=null;
	var lon1=null;
	var lat2=null;
	var lon2=null;
	
	


var posizionemarker=[]; 
var mkey=[];


	 var user = "<?php echo($utente); ?>";


	
	 var marker=[];    
		


		var contatore=0;
		console.log(idtuttiluoghi);
		var marker_list = [];
	      for (var y=0; y<idtuttiluoghi.length; y++)
		    {		
                $(xml).find('marker[id='+idtuttiluoghi[y]+']').each(function() {
					 lat =$(this).attr("lat");
				     lng =$(this).attr("lng");
					 var address=$(this).attr("address");
					 contatore=contatore+1;
					 console.log(contatore);
				});         
                   
		             var type = "KO";
					 var controllo = "<?php echo($controllo); ?>";							
                     var point = new google.maps.LatLng(lat, lng);
                      
					 var icon = customIcons[type] || {};
                     marker[y] = new google.maps.Marker
					 ({
                         map: map,
                         position: point,
                         icon: icon.icon,
                         shadow: icon.shadow
                     });
					
                    // bindInfoWindow(marker[y], map, infoWindow);					  
		      }	
	 
      });	  
	 
  }
  
function bindInfoWindow(marker, map, infoWindow)
	{
		//visualizza infowindow al click sul marker
        listener=google.maps.event.addListener(marker, 'click', function() 
		{
            infoWindow.setContent(html);
            infoWindow.open(map, marker);
        });
		//illumina div evento al clic sul marker dell'evento corrispondente
     	listener2=google.maps.event.addListener(marker, 'click', function() 
		{
			var idevento=$("#idevento").val();
			$("#"+idevento).css("box-shadow","5px 5px 2px #333333 ");
	 	});	
	}


function downloadUrl(url, callback) 
  {
         var request = window.ActiveXObject ?
         new ActiveXObject('Microsoft.XMLHTTP') :
         new XMLHttpRequest;
         request.onreadystatechange = function() 
		    {
               if (request.readyState == 4) 
			      {
                    request.onreadystatechange = doNothing;
                    callback(request, request.status);
                  }
            };
         request.open('GET', url, true);
         request.send(null);
     }		
  function doNothing() {}
    </script>


</head>


<body onload="initialize();load()">


<div id="header">
<?php include 'include/header_autenticato.php'; ?> <!-- header -->
</div>




<div id="map" style="width: 50%; height: 870px; float:right">
</div>