2015-08-06 20 views
6

W mojej bazie danych mam wartości lat/lng i próbuję wyświetlić znaczniki na mapie google. (Mam już ustawioną mapę, ale nie mogę ruszyć!).Wyświetlanie znaczników na mapie google z bazy danych mysql przy użyciu 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!" 
}); 

}     

Każda pomoc będzie wielka dzięki!

Odpowiedz

1

Myślę, że trzeba użyć „echo”:

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

Robi się dość skomplikowane, kiedy zacząć pisać skrypt PHP jak się z jego bardzo łatwo zgubić się we wszystkich średnikami.

Również łatwiej zrobić to w PHP zamiast zachować skoki i poza HTML PHP HTML PHP itp

Spróbuj

// 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

Dał że gdziekolwiek i nadal nie ma szczęście! kiedy usuwam php z funkcji initialize(), mapa ładuje się poprawnie, ale z dodaną na mapie nie pojawia się wcale! – fst104

+0

Co to jest 'initialize()' nie napisałeś nic o 'initialize()' – RiggsFolly