2013-03-28 6 views
0

제발 도와주세요 ... 각 마커를 클릭 할 때마다 정보창을 표시하고 싶습니다. 나쁜 영어로 실례합니다. 덕분에 .Google지도 infowindow 마커

 markers=new Array(); 


     for(i=0;i<res['infos'].length;i++){ 

      var a=new Object(); 
      a.lat=res.infos[i]['lat']; 
      a.lng=res.infos[i]['lng']; 
        var Titre="Véhicule: "+res.infos[i]['NomVehicule']+" Position du: "+res.infos[i]['Date']+" à "+res.infos[i]['Heure']; 
      var NomIcone="IconeVehicule/"+res.infos[i]['Icone']; 
      var point=new google.maps.LatLng(a.lat,a.lng); 
      var marker = new google.maps.Marker({position: point,map: map, title: Titre, icon: NomIcone}); 
      markers.push(marker);  


    google.maps.event.addListener(marker, 'mouseover', (function(marker, i) { 
    return function() { 
     infowindow.setContent(res.infos[i]['NomVehicule']); 
     infowindow.open(map, marker); 
    } 
    })(marker, i)); 



     } 

    </script> 

답변

0

다음은 시도 할 코드입니다. 문제가 이벤트 처리기에 있다고 생각합니다.

var infoWindow = new google.maps.InfoWindow({ 
    content: "loading..." 
}); 
var markers=new Array(); 

for(i=0;i<res['infos'].length;i++){ 
    var a=new Object(); 
    a.lat=res.infos[i]['lat']; 
    a.lng=res.infos[i]['lng']; 

    var Titre="Véhicule: "+res.infos[i]['NomVehicule']+" Position du: "+res.infos[i]['Date']+" à "+res.infos[i]['Heure']; 
    var NomIcone="IconeVehicule/"+res.infos[i]['Icone']; 

    var point=new google.maps.LatLng(a.lat,a.lng); 
    var marker = new google.maps.Marker({ 
     position: point, 
     map: map, 
     title: Titre, 
     icon: NomIcone, 
     infoWindowContent: res.infos[i]['NomVehicule'] 
    }); 
    markers.push(marker);  

    google.maps.event.addListener(marker, 'mouseover', function(){ 
     infowindow.setContent(marker.infoWindowContent); 
     infowindow.open(map, marker); 
    }); 
}