Salve a tutti!
vi chiedo una mano su questa porzione di codice. In pratica carico dei punti di interesse da un db mysql e per ogni punto di interesse lancio la funzione showAddress che mi permette caricare il markers sulla mappa:
codice:
<body onload="load()<?php
while ($mappa = mysql_fetch_array($rs)){
$indi = $mappa["via"]." ".$mappa["citta"]." ".$mappa["cap"];
?>;showAddress('<?php echo $indi ?>') <?php
} ?>"onunload="GUnload();">
Questa invece è la funzione showAddress:
codice:
function showAddress(address) {
if (geocoder) {
geocoder.getLatLng(
address,
function(point) {
if (!point) {
alert(address + " L'indirizzo segnalato per la mappa non è corretto" );
} else {
map.setCenter(point, 10);
var marker = new GMarker(point);
map.addOverlay(marker);
var html = 'Indirizzo: '+address;
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml(html);
});
}
}
);
} }
La pagina mi carica solo i primi 10 markers, dopodichè viene restituito il messaggio di "indirizzo segnalato non corretto". Lo potete verificare direttamente QUI
Il problema credo sia nel fatto che chiamo la funzione showAdress tante volte quanti sono gli indirizzi da "mappare".
Invece, anche da un punto di vista concettuale, sarebbe più corretto passare a showAdress solamente 1 array che contiene tutti gli indirizzi, e poi ciclare gli indirizzi direttamente dentro la funziona javascript.
Vorrei provare questa idea, ma come faccio a passare ad una funzione javascript, un array di php? e poi come faccio a ciclarlo dentro la funzione? (non sono un vero esperto di javascript, ma mastico bene il php)
Per il resto, qualcuno ha qualche idea o ha dovuto risolvere un problema simile???
Grazie mille della collaborazione!
Ciao!