2012-11-05 101 views
0

我正在使用google maps javascript api,標記監聽器。 當我點擊標記infowindow應該彈出。 在for循環中,我添加了多個(本例中爲3個)標記。 下面是代碼:多標記監聽器

 for (z = 0; z < 3; z++) { 
      arrMarkers.push(new google.maps.Marker({ 
      position: flightPlanCoordinates[arrCoords.length-1], 
      map: map, title: 'Kraj', clickable: true 
      }));   

      arrInfoWindow.push(new google.maps.InfoWindow({ 
       content: 'Hello world' 
      })); 

      google.maps.event.addListener(arrMarkers[z], 'click', function() { 
        arrInfoWindow[z].open(map, arrMarkers[z]); 
      }); 
     } 

信息窗口不彈出。

+0

我找到了解決方案,替換:arrInfoWindow [Z]。開(地圖,arrMarkers [Z]);用arrInfoWindow [z] .open(map,this) – user1455966

回答

0

你不能推arrInfoWindow一個信息窗口,它必須是獨立的
試試這個

for (z = 0; z < 3; z++) 
{ 
    arrMarkers.push(new google.maps.Marker({ 
    position: flightPlanCoordinates[arrCoords.length-1], 
    map: map, title: 'Kraj', clickable: true 
    }));   

    var infoWindow = new google.maps.InfoWindow({ 
     content: 'Hello world' 
    }); 
    arrInfoWindow.push(infoWindow); 

    google.maps.event.addListener(arrMarkers[z], 'click', function() { 
      arrInfoWindow[z].open(map, arrMarkers[z]); 
    }); 
}