Javascript infowindow.setContent和重叠标记器存在问题
我一直在和Markerspiderfier打交道 我有一个添加标记的循环,但每个标记都需要一个信息窗口,以具有一些唯一的文本作为其内容 如果我这样做:Javascript infowindow.setContent和重叠标记器存在问题,javascript,google-maps-api-3,Javascript,Google Maps Api 3,我一直在和Markerspiderfier打交道 我有一个添加标记的循环,但每个标记都需要一个信息窗口,以具有一些唯一的文本作为其内容 如果我这样做: content = '<div id="info">' + '<p><b><?php echo $row->Event ?></b></p>' + '<p><?php echo $row
content = '<div id="info">' +
'<p><b><?php echo $row->Event ?></b></p>' +
'<p><?php echo $row->Date ?></br>' +
'<?php echo $row->City . ", " . $row->Country ?></p>' +
'</div>';
oms.addListener('click', function(myMarker) {
if(!iw){
iw = new google.maps.InfoWindow();
};
iw.setContent(content);
// iw.setContent(myMarker.title);
iw.open(map, myMarker);
});
…根本不起作用
谁能透露一些信息
我没有提到:我对javascript比较陌生。首先,我要设置
iw=new google.maps.InfoWindow()代码>在函数外部,以避免您的if(!iw)
检查
其次,oms.addListener
应用于所有标记,而不仅仅是一个标记,因此这不应该在结果循环中(我假设这是一个while$row=$results类型的循环)
要显示正确的内容,您需要在循环中执行类似于marker.desc=content
的操作,然后在addListener中执行iw.setContent(myMarker.desc)代码>
比如说:
iw = new google.maps.InfoWindow();
oms.addListener('click', function(myMarker) {
iw.setContent(myMarker.desc);
iw.open(map, myMarker);
});
<?php while... { ?>
...
content = '<div id="info">' +
'<p><b><?php echo $row->Event ?></b></p>' +
'<p><?php echo $row->Date ?></br>' +
'<?php echo $row->City . ", " . $row->Country ?></p>' +
'</div>';
...
marker = new google.maps.Marker({
...
...
});
marker.desc = content;
oms.addMarker(marker);
<?php } ?>
iw=new google.maps.InfoWindow();
oms.addListener('click',函数(myMarker){
iw.setContent(myMarker.desc);
iw.打开(地图、myMarker);
});
...
内容=“”+
“”+
“”+
“”+
'';
...
marker=新的google.maps.marker({
...
...
});
marker.desc=内容;
oms.addMarker(标记器);
首先,我要设置iw=new google.maps.InfoWindow()代码>在函数外部,以避免您的if(!iw)
检查
其次,oms.addListener
应用于所有标记,而不仅仅是一个标记,因此这不应该在结果循环中(我假设这是一个while$row=$results类型的循环)
要显示正确的内容,您需要在循环中执行类似于marker.desc=content
的操作,然后在addListener中执行iw.setContent(myMarker.desc)代码>
比如说:
iw = new google.maps.InfoWindow();
oms.addListener('click', function(myMarker) {
iw.setContent(myMarker.desc);
iw.open(map, myMarker);
});
<?php while... { ?>
...
content = '<div id="info">' +
'<p><b><?php echo $row->Event ?></b></p>' +
'<p><?php echo $row->Date ?></br>' +
'<?php echo $row->City . ", " . $row->Country ?></p>' +
'</div>';
...
marker = new google.maps.Marker({
...
...
});
marker.desc = content;
oms.addMarker(marker);
<?php } ?>
iw=new google.maps.InfoWindow();
oms.addListener('click',函数(myMarker){
iw.setContent(myMarker.desc);
iw.打开(地图、myMarker);
});
...
内容=“”+
“”+
“”+
“”+
'';
...
marker=新的google.maps.marker({
...
...
});
marker.desc=内容;
oms.addMarker(标记器);