0

jsonデータを取って複数の動的マーカーを作成するスクリプトを作ったので書いていますが、動作します!今、各マーカーに InfoWindow を追加しようとしていますが、うまくいきません。私のコードは次のとおりです。

 $.ajax({
    type:'GET',
    url:"locali_json.php"+urlz,
    success:function(data){ 
          var json = JSON.parse(data);
          for (var i=0; i<json.length; i++) {
            point = new google.maps.LatLng(json[i].latitudine,json[i].longitudine);
            contentString = json[i].id_locale;
            addMarkers(point,contentString);
          }
    }
})}


 function addMarkers(point,contentString) {  
 marker = new google.maps.Marker({
    position: point,
    map: map
 });
 infowindow = new google.maps.InfoWindow({
                 content: contentString
             });
 markers.push(marker); // markers is an array
 infos.push(infowindow);  //info is an array
 for(var j=0; j<markers.lenght; j++){
  google.maps.event.addListener(marker, 'click', function() {
                infos[j].open(map,markers[j]);})

  }}

誰か提案はありますか?またはどこにエラーがありますか?

4

2 に答える 2

0

JavaScript コンソールで JavaScript エラーが表示されませんか?

for(var j=0; j<markers.lenght; j++){
 google.maps.event.addListener(marker, 'click', function() {
               infos[j].open(map,markers[j]);})
 }
}

おそらく次のようになります。

for(var j=0; j<markers.length; j++){
 google.maps.event.addListener(markers[j], 'click', function() {
             infos[j].open(map,markers[j]);})
 }
}
于 2012-11-30T13:30:50.027 に答える