我有一個數組填充了與我創建的Google Maps多邊形對象具有相同名稱的字符串。我想遍歷數組來設置一個特定的選項。下面的代碼:JavaScript數組不用於循環變量
for (var i = 0; i < statesPoly.length; i++) {
google.maps.event.addListener(statesPoly[i], 'mouseover', function() {
statesPoly[i].setOptions({ strokeWeight: '2' });
});
}
執行時,我得到「無法調用‘setOptions’未定義」的劇本好像是用statesPoly [I]字面上。當我用例如statesPoly [11]替換statesPoly [i]時,腳本按預期工作。
環路也按預期工作,當我嘗試這樣的事:
for (var i = 0; i < statesPoly.length; i++) {
alert(statesPoly[i].strokeColor);
}
我在做什麼錯?
更新:
靠近這裏。我相信在某些情況下使用this
的原因是因爲我的函數期待一個對象,我給它一個字符串。情況會是這樣嗎?
alert(statesPoly[0]);
google.maps.event.addListener(sarawakPoly, 'mouseover', function() {
$("#"+statesPoly[0]).addClass("highlight");
sarawakPoly.setOptions({ strokeWeight: '2' });
//infowindow.open(map,marker);
});
上面的代碼將與SarawakPoly提醒,以及使用statesPoly [0]作爲ID作品的字符串按預期方式。這
alert(statesPoly[0]);
google.maps.event.addListener(statesPoly[0], 'mouseover', function() {
$("#"+statesPoly[0]).addClass("highlight");
statesPoly[0].setOptions({ strokeWeight: '2' });
//infowindow.open(map,marker);
});
不起作用,因爲「遺漏的類型錯誤:無法讀取屬性‘鼠標懸停’的未定義」
如果我是正確的,如何讓我的JS投我的數組變量作爲一個對象?
使用此工作,謝謝。 –