2015-08-06 12 views
6

Nel mio database ho valori lat/lng e sto cercando di visualizzare indicatori su una mappa di google. (Ho la mia mappa in arrivo ok ma non riesco a far andare i marcatori!).Visualizzazione di marcatori su google map dal database mysql utilizzando php/javascript

// Selects all the rows in the tester table. 
$query = 'SELECT * FROM tester WHERE 1'; 
$result = mysql_query($query); 

if (!$result) 
{ 
die('Invalid query: ' . mysql_error()); 
} 

    while ($row = mysql_fetch_assoc($result)) 
    {?> 
     var marker = new google.maps.Marker({ 
    position: <?php $row['lat']?>, <?php $row['lng']?> , 
    map: map, 
    title:"Hello World!" 
}); 

}     

Qualsiasi aiuto sarebbe fantastico grazie!

risposta

1

penso che è necessario utilizzare "echo":

position: <?php echo $row['lat']?>, <?php echo $row['lng']?> , 
1

diventa piuttosto complessa quando si inizia a scrivere javascript fuori da PHP come il suo molto facile perdersi in tutti i punti e virgola.

Inoltre trovo più facile fare tutto in PHP, piuttosto che continuare a saltare dentro e fuori di HTML-PHP-HTML-PHP ecc

Prova questo

// Selects all the rows in the tester table. 
$query = 'SELECT * FROM tester WHERE 1'; 
$result = mysql_query($query); 

if (!$result) { 
    die('Invalid query: ' . mysql_error()); 
} 

echo '<script type="text/javascript">'; 

$i = 0; 
while ($row = mysql_fetch_assoc($result)) 
    echo 'var myLatlng = new google.maps.LatLng(' . $row['lat'] ',' . $row['lng'] . ');'; 

    echo 'var marker' . $i . ' = new google.maps.Marker({'; 
    echo ' position: myLatLng ,'; 
    echo ' map: map,'; 
    echo ' title:"Hello World!"'; 
    echo '});'; 
    echo 'marker' . $i . 'setMap(map);'; 
    $i++; 
}    


echo '<script>'; 
+0

Gave che un andare e ancora fortuna! quando rimuovo il php dalla funzione initialize() la mappa viene caricata ok, ma con essa aggiunta nella mappa non appare affatto! – fst104

+0

Cosa 'initialize()' non hai pubblicato nulla su 'initialize()' – RiggsFolly