2011-12-19 102 views
1

我有一个谷歌地图,我从中获取json数据。我想自动构建一个可以传递给标记对象的字符串。当我这样做时,我在萤火虫中发现一个错误“invalid object initializer”。这是否有意义,或者是他们处理这个问题的更好方法。google map api json pass array

 
function buildMarkers(json) { 

    $.each(json, function(z) {  
     var asdf; 
     $.each(this, function(key,valueObj){ 
      //console.log(key + '---' + valueObj); 
      asdf += key + ': ' + valueObj + ', '; 
     }); 


     markers[z] = new google.maps.Marker({ 
       map: map, 
       position: new google.maps.LatLng(this.school_lat,this.school_long), 
       asdf 
     }); 

etc.... 
+0

看起来就像你正在构建一个字符串,而不是键值对 – hunter 2011-12-19 20:59:39

+0

是的,你说得对,我希望它是对象的值。 .. 我相信? – 2011-12-19 21:01:46

+0

哪个版本的GoogleMapsAPI? – hunter 2011-12-19 21:07:03

回答

2

尝试建立您的JSON对象是这样的:

var asdf = []; 
$.each(this, function(key, valueObj) { 
    asdf.push({key: key, value: valueObj}); 
});