Ciao Ragazzi, devo modificare un programma che inizialmente metteva su maps un marker singolo e funziona senza problemi, ora devo correggerlo per avere piu' localizzazioni.
Premetto che invio un array con 2 località e le sue coordinate. Una volta che ho l'array devo poterlo leggere in javascript ed impostarlo nella maps, qui il problema, il document.write NON mi stampa nessun dato e la mappa non viene visualizzata, insomma, il ciclo in js non funziona, posto per un aiuto.
da php ho queste righe :
Codice PHP:
$dati = $this->model->ra_object('comuni');
$cnt=0;
foreach ($dati as $comuni) : echo 'posizione cnt ='.$cnt;
if ($comuni->id >0 ) { $latit[$cnt] = $comuni->lat; $long[$cnt] = $comuni->long; $loc[$cnt] = $comuni->comune; echo ' <tr> <td>'.$comuni->lat.'</td> <td>'.$comuni->long.'</td>'; echo ' <td>'.$comuni->comune.'</td>'; echo ' </tr>'; $cnt ++;
}else{ echo ' nessun collegamento'; } endforeach;
fin qui tutto funziona, esce con un array con due località.
la parte js
codice:
<script type="text/javascript">
var initialize = function() {
for (var i = 0; i < 4; i++) {
var latit[i] =<?php $latit[i]; ?>;
var long[i] <?php $long[i]; ?>;
var loc[i] <?php $loc[i]; ?>;
alert(loc[i].'\n');
var latlng = new google.maps.LatLng(latit[i],long[i]);
document.write(loc[i].'\n');
var styleArray = [{
featureType: "all", stylers: [{ "saturation": 20 },{ "hue": "#103050" }]
}];
var options = {
zoom: 16,
center: latlng,
styles: styleArray,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById('map'), options);
var marker = new google.maps.Marker(
{
position: latlng,
map: map,
icon : '<?php echo base_url('maps/img/colonna.png');?>',
title: loc[i]
}
);
};
};
window.onload = initialize;
</script>
Non conoscendo js non riesco a vedere dove sto sbagliando, potete illuminarmi
grazie.