我有一个 Google 地图版本 3,但我无法完全按照我想要的方式工作。当地图打开时,页面上有几个标记,单击或悬停在标记上会打开一个带有酒店名称的小信息框。单击另一个标记将关闭第一个信息框并在新标记上打开一个新信息框。问题在于关闭最后一个信息框。
如果我在选项中允许 closeBox,则当信息框的其余部分关闭时,closeBox(正方形中的小十字)会留在屏幕上。仅当 InfoBox 由于打开了另一个 InfoBox 而关闭时才会发生这种情况。由于我找不到解决方案,因此我打算取消 closeBox,并让用户单击地图的空白区域来删除最终的 InfoBox。然而,目前这也行不通。
问题页面可以在以下位置查看http://www.littlehotels-testdomain.co.uk/spain/abadia.php http://www.littlehotels-testdomain.co.uk/spain/abadia.php(点击照片右侧的“查看该酒店的位置地图”)。
应该使这项工作有效的代码是:
google.maps.event.addListener(hotelmarker, 'mouseover', function() {
var ib = new InfoBox(ibOptions);
boxText.innerHTML = hotelname;
ib.open(map, hotelmarker);
});
google.maps.event.addListener(map, 'click', function() {
ib.close(map, hotelmarker);
});
我在第二个事件侦听器中缺少某些内容吗?
您需要使您的 ib (infoBox 参考)全局化。将其放在侦听器函数之外。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)