2016-06-20 2 views
1

지도에 멀티 마커를 표시하고 싶지만 하나만 제공됩니다. 콘솔을 점검 할 때 모든 위도와 경도 값을 볼 수 있습니다. 그러나 마커는 하나뿐입니다.Google지도 멀티 마커가 작동하지 않습니다.

이 코드는 내 PHP 코드입니다.

$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); 

이 코드는 제 js 코드 및 PHP 코드입니다.

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 } ?> 
    } 

답변

2

지도를 재정의하고지도 초기화를 루프 외부에두기 때문이라고 생각합니다.

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

정말 고마워요. :) –

관련 문제