質問: new google.maps.InfoWindow({ // 吹き出しの追加 content: '' + markerData[i]['name'] + '' // 吹き出しに表示する内容 }); } } // マーカーにクリックイベントを追加 function markerEvent(i) { marker[i].addListener('click', function() { // マーカーをクリックしたとき infoWindow[i].open(map, marker[i]); // 吹き出しの表示 }); } ``` 以下を参考にしました。 https://www.tam-tam.co.jp/tipsnote/javascript/post7755.html
回答: function markerEvent(i){}が発動していないと思います。forループの中で本来呼ぶべきかと。 未検証ですがmarkerやinfoWindowは配列にしなくてもよかったはずです。 作ったのは結構前なので違ってたら申し訳ありません。 ``` // forのところから for (var i = 0; i < markerData.length; i++) { markerLatLng = new google.maps.LatLng({lat: markerData[i]['lat'], lng: markerData[i]['lng']}); // 緯度経度のデータ作成 var marker = new google.maps.Marker({ // マーカーの追加 position: markerLatLng, // マーカーを立てる位置を指定 map: map // マーカーを立てる地図を指定 }); // ここでコール markerEvent(marker,markerData[i]['name']); } // マーカーにクリックイベントを追加 function markerEvent(marker,content) { marker.addListener('click', function(event){ // マーカーをクリックしたとき var infoWindow = new google.maps.InfoWindow({ // 吹き出しの追加 content: '' + content + '' // 吹き出しに表示する内容 }); }); } ```