ciao a tutti
ho una mappa di google che prende i valori da php
non riesco a far funzionare le infowindow e non so per quale motivo inoltre mi stampa solo gli utenti di tipo 0 e gli altri invece no
il codice è
codice:<?php $dati_map = $db->prepare("SELECT nome,cognome,rag_sociale,citta,tipo,avatar FROM mftj_utenti WHERE user_permission=:user_permission"); $dati_map->execute(array(':user_permission'=>1)); $res_map = $dati_map->fetchAll(); ?> function initMap() { var map = new google.maps.Map(document.getElementById('map'), { zoom: 3, scrollwheel:false, center: {lat: 41.87194, lng: 12.56738} }); setMarkers(map); } var data = [ <?php $riga = 0; foreach($res_map as $map) { if($map['tipo'] == 1) { $nome = $map['rag_sociale']; } else { $nome = $map['nome']." ".$map['cognome']; } $address=urlencode($map['citta']); $prepAddr = str_replace(' ','+',$address); $geocode=file_get_contents('http://maps.google.com/maps/api/geocode/json?address='.$prepAddr.'&sensor=false'); $output= json_decode($geocode); $latitude = $output->results[0]->geometry->location->lat; $longitude = $output->results[0]->geometry->location->lng; if($map['tipo'] == 0) { $icon = 'http://www.francescopassanante.com/myfacetojob/img/professionisti.png'; } elseif($map['tipo'] == 1) { $icon = 'http://www.francescopassanante.com/myfacetojob/img/aziende.png'; } else { $icon = 'http://www.francescopassanante.com/myfacetojob/img/privati.png'; } $tipo = $map['tipo']; ?> ['<?php echo $nome;?>', <?php echo $latitude;?>, <?php echo $longitude;?>, <?php echo $riga;?>, '<?php echo $icon;?>', '<?php echo $tipo;?>'], <?php $riga++; } ?> ]; function setMarkers(map) { for (var i = 0; i < data.length; i++) { var utente = data[i]; var marker = new google.maps.Marker({ position: {lat: utente[1], lng: utente[2]}, map: map, title: utente[0], zIndex: utente[3], icon: utente[4] }); var contentString = '<div id="content">'+'<div id="siteNotice">'+'</div>'+'<h1 id="firstHeading" class="firstHeading">'+utente[0]+'</h1>'+ '<div id="bodyContent">'+'<p>'+utente[5]+'</p></div></div>'; var infowindow = new.google.maps.InfoWindow(); google.maps.event.addListener(marker,'click', (function(marker,contentString,infowindow){ return function() { infowindow.setContent(contentString); infowindow.open(map,marker); }; })(marker,contentString,infowindow)); } }

Rispondi quotando