2012-08-11 70 views
0

我試圖用適合GoMap聲明的方式將Google地圖標記(使用CMS中的數據生成)轉換爲JSON對象。我試圖從CMS獲取多個標記,將它們放置在地圖上。如何遍歷JSON對象以適應JavaScript數組?

我會盡力解釋它在下面詳細:通過標記

我環路,並創建被編碼成JSON數組:

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

然後我得到以下對象:

[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腳本的markers屬性中。它是否正確?任何人都可以指引我正確的方向嗎?

回答

1

嘗試一些像這樣的事情來迭代您的JSON對象元素並將其推送到數組中。

var markersArray = new Array(); 

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

    markesArray.push(obj); 

});​ 

後,在gomap代碼使用markersArray這樣

​​

GOOD LUCK !!

+0

謝謝!就是這樣!它完美的作品 – Landitus 2012-08-11 18:22:24