0
我被我的循環卡住了。一切功能,除了markerLayer.markers()[i].showTooltip();
不知何故,它顯示了錯誤的標記。我是否通過了錯誤的論點?我在這裏錯過了邏輯嗎?javascript循環錯誤
for (var i = 0; i < features.length; i++) {
var a = side.appendChild(document.createElement('a'));
a.onclick = (function (feature, i) {
return function() {
markerLayer.interaction.hideTooltips()
map.ease.location({
lat: feature.geometry.coordinates[1],
lon: feature.geometry.coordinates[0]
}).zoom(zoomPlaces).optimal(null, null, function (feature) {
markerLayer.markers()[i].showTooltip();
})
}
})
(features[i], i);
}
'markerLayer.markers()'是否按照您期望的順序返回標記? – 2013-02-17 19:33:41
不,我會解釋: 正常的順序是0 1 2 3 4 5 6 現在我得到2 6 3 4 5 0 1 如果我把它做成'markerLayer.markers()[i + 1] .showTooltip( );',它返回6 3 4 5 0 1(最後一個不起作用) 如果我使它+2,它給出3 4 5 0 1// 如果我使它-1, 2 6 3 4 5 0(3,4,5是正確的) 如果我把它做成-2,它給出// 2 6 3 4 5(2是正確的) 有什麼想法? – user1697335 2013-02-17 20:33:12
整個代碼在http://www.boerenmetwater.nl – user1697335 2013-02-17 20:37:44