我想強調的側邊欄,上標記的點擊谷歌地圖API的地方,我怎麼能得到標記的[I]中的addListener
google.maps.event.addListener(markers[i], "click", function() {
var viewListLink="trID"+i;
document.getElementById(viewListLink).style.background="#ff0099";
}
的TR有一個id =「論壇報」 +我
控制檯總是給我最後一個trID20。
如何獲得每個標記的i?
類似:
this.get
但如何?
編輯:
打開的信息窗口不起作用標記點擊:getDetails(placesArr [I],i)的;
places.search(search,function(placesArr,status,pagination){
(function(i) {
google.maps.event.addListener(markers[i],"click",function(){
getDetails(placesArr[i],i);
var viewListLink = "trID"+i;
document.getElementById(viewListLink).style.background = "#ff0099";
});
})(i);
});
我試圖通過placesArr [I]回匿名函數
(function(placesArr,i) {
內,但它不工作,
(function(placesArr,i) {
這既不
這裏getDetails功能:
function getDetails(place,i){
return function(){
places.getDetails({
reference:place.reference
},showInfoWindow(i));
}
}
這裏showInfoWindow功能:
function showInfoWindow(i){
return function(place,status){
if(!!iw && iw._iwId == i){
iw.close();
iw = null;
}else{
if(iw){
iw.close();
iw = null;
}
if (status == google.maps.places.PlacesServiceStatus.OK){
iw=new google.maps.InfoWindow({
content:getIWContent(place),
_iwId:i
});
if (place.reviews && place['reviews'].length){
showReviews(place.reviews);
}else{
document.getElementById('theReviews').innerHTML = 'no reviews';
toggle_off('reviewsPanel');
toggle_off('theReviews');
}
iw.open(map,markers[i]);
// showReviews(place.reviews);
}
}
}
}
的可能重複[關閉的Javascript內循環 - 簡單實用的例子(http://stackoverflow.com/questions/750486/javascript-closure-inside-loops-simple-practical-example) – Andy
你不」您需要將標題更改爲已解決,只需標記正確答案即可。如果您使用了不同的解決方案,請發佈該答案並對其進行標記。 – lincolnk