-1
我收到一个错误“尝试在Google Maps API中打开InfoWindow时无法读取未定义的”属性打开“。但是,当我打电话给infoWindows [i] .setMap(地图)以外'标记[i] .addListener'一切都没问题。这里是我的代码当打开InfoWindow(谷歌地图API)时出错
var devices = new Array();
var marker = new Array();
var infoWindows = new Array();
devices = <?= json_encode($devices); ?>
function initMap() {
map = new google.maps.Map(document.getElementById('map_canvas'), {
center: {lat: 49.062415, lng: 31.704558},
zoom: 6,
});
initMarkers();
}
function initMarkers(){
for(var i=0; i< devices.length; i++){
marker[i] = new google.maps.Marker({
position: {lat: parseFloat(devices[i]['lat']), lng:
parseFloat(devices[i]['lon'])
},
map: map,
icon: mIcon,
});
infoWindows[i] = new google.maps.InfoWindow({content: devices[i]['infoData']});
marker[i].setMap(map);
marker[i].addListener('click', function() {
infoWindows[i].open(map, marker[i]);
});
}
}
范围关闭问题 - 您在'marker [i]中使用的'i''并不是指您希望它做了什么。 –