我試圖通過迭代列表並檢索一些信息來將標記添加到谷歌地圖。我正在使用原型庫。該代碼是下面的:JavaScript哈希表問題
var point = new Array();
var myMarkerOptions = new Array();
var marker = new Array();
recommendedList.each(function(item){
point[item.location.ID] = new google.maps.LatLng(item.location.lat, item.location.lng);
myMarkerOptions[item.location.ID] = {
position: point[item.location.ID],
map: map
};
marker[item.location.ID] = new google.maps.Marker(myMarkerOption[item.location.ID]);
});
其中recommendedList是以下形式的JSON響應:
[
{"artist":"artist1","location":{"lat":"50.952226","lng":"5.34832","ID":28}},
{"artist":"artist2","location":{"lat":"52.362287","lng":"4.883965","ID":32}},
...
]
但是,這是行不通的。 我知道,這個問題是不是關於JSON或谷歌地圖,因爲我嘗試用下面的代碼簡化版本,它的工作:
var myLatlng = new google.maps.LatLng(recommendedList[0].location.lat,recommendedList[0].location.lng);
var marker = new google.maps.Marker({
position: myLatlng,
map: map
});
所以這個問題必須在迭代和哈希映射。 任何人都可以看到問題?謝謝!
有什麼錯誤,你」重新獲得?如果你告訴我們,我們實際上可以幫助你(而不是(或多或少)進行受過教育的猜測)。 –
爲什麼使用數組而不是對象? –
你是否已經通過調試器循環並確認'recommendedList'正在按預期遍歷? – clockworkgeek