0

助けてください... 各マーカーをクリックすると、各マーカーの情報ウィンドウを表示したいです。下手な英語ですみません。ありがとう。

        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>
4

1 に答える 1

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);
    });
}
于 2013-03-29T17:08:21.173 に答える