Javascript 谷歌API循环信息窗口问题
以下代码有问题。。谷歌地图标记显示良好,但相关信息窗口不会在单击时显示。单击时,不会发生任何操作。有什么建议吗?谢谢大家!Javascript 谷歌API循环信息窗口问题,javascript,arrays,google-maps,loops,google-api,Javascript,Arrays,Google Maps,Loops,Google Api,以下代码有问题。。谷歌地图标记显示良好,但相关信息窗口不会在单击时显示。单击时,不会发生任何操作。有什么建议吗?谢谢大家! var length = data[0].length; var infowindow = []; var contentString = []; var marker = []; for (var i = 0; i < length; i++) { var x = data[0][i].number; var pos = new google
var length = data[0].length;
var infowindow = [];
var contentString = [];
var marker = [];
for (var i = 0; i < length; i++) {
var x = data[0][i].number;
var pos = new google.maps.LatLng(data[0][i].lat, data[0][i].long);
marker[i] = new google.maps.Marker({
position: pos,
map: map,
icon: 'http://maps.google.com/mapfiles/ms/icons/' + data[0][i].color + '-dot.png',
description: data[0][i].providerfirst,
id: i
});
//document.write(marker[i].icon);
contentString[i] = '<div id="content" class="infowindow">' +
'<div id="siteNotice">' +
'</div>' +
'<h1 id="firstHeading" class="firstHeading"> ' + data[0][i].providerfirst + ' ' +
data[0][i].providerlast + ', ' + data[0][i].credentials + '</h1>' +
'<p>' +
data[0][i].address + '<br>' +
data[0][i].city + ', ' + data[0][i].state + ', ' + data[0][i].zip + '<br>' +
'</p>' +
'<p>NPI: ' + data[0][i].npi + '</p>' +
'<p>Network: ' + data[0][i].type + '</p>' +
'<div id="bodyContent">' +
'</div>' +
'</div>';
//document.write(contentString[i]);
//document.write(infowindow[i].content);
infowindow[i] = new google.maps.InfoWindow({
content: contentString[i]
})
}
var length=data[0]。长度;
var infowindow=[];
var contentString=[];
var标记=[];
对于(变量i=0;i”+
数据[0][i]。城市+”,“+数据[0][i]。州+”,“+数据[0][i]。邮编+”
'+
“”+
“NPI:”+数据[0][i]。NPI+”'+
“网络:”+数据[0][i]。键入+””+
'' +
'' +
'';
//document.write(contentString[i]);
//document.write(infowindow[i].content);
infowindow[i]=新的google.maps.infowindow({
内容:contentString[i]
})
}
你需要把
contentString[i] = '<div id="content" class="infowindow">' +
'<div id="siteNotice">' +
'</div>' +
'<h1 id="firstHeading" class="firstHeading"> ' + data[0][i].providerfirst + ' ' +
data[0][i].providerlast + ', ' + data[0][i].credentials + '</h1>' +
'<p>' +
data[0][i].address + '<br>' +
data[0][i].city + ', ' + data[0][i].state + ', ' + data[0][i].zip + '<br>' +
'</p>' +
'<p>NPI: ' + data[0][i].npi + '</p>' +
'<p>Network: ' + data[0][i].type + '</p>' +
'<div id="bodyContent">' +
'</div>' +
'</div>';
//document.write(contentString[i]);
//document.write(infowindow[i].content);
infowindow[i] = new google.maps.InfoWindow({
content: contentString[i]})
你需要理解javascript的概念
您需要一个单击处理程序,因为您创建了信息窗口和数据,所以您没有以我所看到的任何方式将它们关联起来
marker[i].addListener('click',function(){
infowindow[i].open(map,marker[i]);
});
你没有任何事件监听器可以点击标记。谢谢你的回复,但是我得到了与建议完全相同的行为。
marker[i].addListener('click',function(){
infowindow[i].open(map,marker[i]);
});