質問: new google.maps.InfoWindow({ // 吹き出しの追加 content: '' + markerData[i]['name'] + '' // 吹き出しに表示する内容 }); markerEvent(i); // マーカーにクリックイベントを追加 } } // マーカーにクリックイベントを追加 function markerEvent(i) { marker[i].addListener('click', function() { // マーカーをクリックしたとき infoWindow[i].open(map, marker[i]); }); } ```
回答: infoWindow[i]のように複数のinfoWindowを作らず、中身だけを替えたものを1つでいいのでは? 【JavaScript - Google Mapの情報ウインドウを常にひとつだけ表示したい(31721)|teratail】 **追記:** ``` var map; var marker = []; // var infoWindow new google.maps.InfoWindow();//20161110 17:22修正 var infoWindow;//20161110 17:22修正 var markerData = [ // マーカーを立てる場所名・緯度・経度 { name: 'テスと', lat: 35.681298, // 緯度 lng: 139.7640582 // 経度 }, { name: 'てすと01', lat: 35.6810041, // 緯度 lng: 1139.7615828 // 経度 } ]; function initMap() { // 地図の作成 var mapLatLng = new google.maps.LatLng({lat: markerData[0]['lat'], lng: markerData[0]['lng']}); // 緯度経度のデータ作成 map = new google.maps.Map(document.getElementById('google-maps'), { // #sampleに地図を埋め込む center: mapLatLng, // 地図の中心を指定 zoom: 18 // 地図のズームを指定 }); infoWindow = new google.maps.InfoWindow();//20161110 17:22修正 // マーカー毎の処理 for (var i = 0; i < markerData.length; i++) { markerLatLng = new google.maps.LatLng({lat: markerData[i]['lat'], lng: markerData[i]['lng']}); // 緯度経度のデータ作成 marker[i] = new google.maps.Marker({ // マーカーの追加 position: markerLatLng, // マーカーを立てる位置を指定 map: map // マーカーを立てる地図を指定 }); markerEvent(i,'' + markerData[i]['name'] + ''); // マーカーにクリックイベントを追加 } } // マーカーにクリックイベントを追加 function markerEvent(i, html) { marker[i].addListener('click', function() { // マーカーをクリックしたとき //infoWindow[i].setContent( html );//20161110 17:59修正 //infoWindow[i].open(map, marker[i]);//20161110 17:59修正 infoWindow.setContent( html );//20161110 17:22修正 infoWindow.open(map, marker[i]);//20161110 17:22修正 }); } ```