2012-08-11 4 views
0

GoMap 선언 안에 맞는 방식으로 Google Maps 마커 (CMS의 데이터로 생성 됨)가있는 JSON 객체를 변환하려고합니다. 내 CMS에서 여러 마커를 가져 와서 맵에 배치하려고합니다.자바 스크립트 배열에 맞게 JSON 객체를 반복하는 방법은 무엇입니까?

내가 아래에 상세하게 설명하려고합니다 : 마커를 통해

I 루프와 JSON으로 인코딩 된 배열을 만들 : 다음

echo "<script>var googlePlaces = " . json_encode($googlePlaces) . ";</script>"; 

I 다음 개체를 얻을 :

[Object { title="Est. Avenida de Mayo", lat="-34.60844234174374", lon="-58.37414860725403"}, Object { title="Café Tortoni", lat="-34.60871608361115", lon="-58.378823697566986"}] 

내가 필요로하는 것은 여기에 맞게하는 것입니다

$(document).ready(function() { 

    $("#map").goMap({ 
     latitude: config.location_lat, 
     longitude: config.location_lon, 
     zoom: 15, 
     mapTypeControl: false, 
     maptype: 'ROADMAP', 
     navigationControl: true, 
     navigationControlOptions: { 
      position: 'TOP_LEFT', 
      style: 'SMALL' 
     }, 
     markers: [{ 
        // Multiple markers here! 
      latitude: XXXXXX, 
      longitude: XXXXXXX, 
      html: { 
       content: 'XXXXXXX' 
      }, 
     }] 
    });  
} 
}); // end 

저는 여기에 갇혀 있습니다. 어떻게 든 JSON 객체를 통해 반복해야하고 GoMap 스크립트의 마커 속성 안에 배치해야한다는 것을 알고 있습니까? 이 올바른지? 아무도 올바른 방향으로 나를 가리킬 수 있습니까?

답변

1

시도해보십시오. JSON 개체 요소를 반복하고 배열로 밀어 넣으려면 다음과 같이하십시오. 이

$("#map").goMap({ 
    // your existing stuff 
    markers: markersArray 
});  

행운을 빕니다 같은 gomap 코드를 사용 markersArray에서

그 후
var markersArray = new Array(); 

$.each(googlePlaces, function(i, itemPlace) { 
    var obj = { 
       latitude: itemPlace.lat, 
       longitude: itemPlace.lon, 
       html: { content: itemPlace.title } 
       };   

    markesArray.push(obj); 

});​ 

!

+0

감사합니다. 그거였다! 완벽하게 작동합니다. – Landitus

관련 문제