2015-08-06 6 views
6

In meiner Datenbank habe ich lat/lng Werte und ich versuche, Markierungen auf einer Google-Karte anzuzeigen. (Ich habe meine Map in Ordnung, aber ich kann die Marker nicht erreichen!).Anzeigen von Markern auf Google Maps von MySQL-Datenbank mit 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!" 
}); 

}     

Jede Hilfe wäre super danke!

Antwort

1

Ich glaube, Sie brauchen „Echo“ zu verwenden:

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

Es wird ziemlich komplex, wenn Sie Javascript Schreiben beginnen sich von PHP als sehr einfach in allen Semikolons verirren.

Auch finde ich es einfacher, alles in PHP zu tun, anstatt zu halten in und aus HTML-PHP-HTML-PHP springen etc

Versuchen Sie, diese

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

gab, dass ein Sprung und noch nicht Glück! Wenn ich die PHP-Funktion aus der Funktion initialize() entferne, lädt sich die Karte in Ordnung, aber mit ihr wird in der Karte gar nichts mehr angezeigt! – fst104

+0

Was 'initialize()' Sie haben nichts über 'initialize()' gepostet – RiggsFolly