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>