2016-06-20 14 views
1

Ich möchte Multi-Marker auf der Karte zeigen, aber es kommt nur eine. Wenn ich die Konsole überprüfe, können alle Längen- und Breitenwerte gesehen werden. Aber es gibt nur einen Marker.Google Maps Multi Marker funktioniert nicht

Dieser Code ist mein PHP-Code.

$query="SELECT lat, lng, FROM mytable limit 5 offset $offset"; 
    $result = pg_exec($dbconn, $query); 
    $response = pg_fetch_all($result); 
    $data=json_encode($response, JSON_NUMERIC_CHECK | JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT); 
    $data1 = json_decode($data, true); 

Dieser Code ist mein Js-Code und PHP-Code.

function initMap() { 
     <?php for($i=0; $i<5; $i++){ ?> 
    var myLatLng = {lat:<?=$data1[$i]['lat']?>, lng:<?=$data1[$i]['lng']?>}; 
    var map = new google.maps.Map(document.getElementById('map'), { 
     zoom: 19, 
     center: myLatLng 
    }); 
    var marker = new google.maps.Marker({ 
     position: myLatLng, 
     map: map, 
     title: 'Hello World!' 
    }); 
     <?php } ?> 
    } 

Antwort

2

Ich denke, es ist, weil Sie Ihre Karte überschreiben, setzen Sie Ihre Karte init außerhalb der Schleife.

function initMap() { 
    var center = {lat: -34.397, lng: 150.644}; 
    var map = new google.maps.Map(document.getElementById('map'), { 
     zoom: 19, 
     center: center 
    }); 

    <?php for($i=0; $i<5; $i++){ ?> 
     var myLatLng = {lat:<?=$data1[$i]['lat']?>, lng:<?=$data1[$i]['lng']?>}; 

     var marker = new google.maps.Marker({ 
      position: myLatLng, 
      map: map, 
      title: 'Hello World!' 
     }); 
    <?php } ?> 
} 
+0

Vielen Dank :) –