Javascript 需要将函数添加到infoBox onclose
我需要添加一个函数来关闭谷歌地图信息框。我在stackoverflow中阅读了一些其他条目,但根据它们的说法,这应该是可行的。这个函数添加了几个监听器,它们都相应地工作,除了标记的信息框的closeclick。有没有我忽略的明显错误?先谢谢你Javascript 需要将函数添加到infoBox onclose,javascript,google-maps,google-maps-markers,Javascript,Google Maps,Google Maps Markers,我需要添加一个函数来关闭谷歌地图信息框。我在stackoverflow中阅读了一些其他条目,但根据它们的说法,这应该是可行的。这个函数添加了几个监听器,它们都相应地工作,除了标记的信息框的closeclick。有没有我忽略的明显错误?先谢谢你 google.maps.Map.prototype.addPushpinMarker = function(pp/*JSMapPushpin*/) { /* accuracy radius */ if (pp.accRadius) { pp.ac
google.maps.Map.prototype.addPushpinMarker = function(pp/*JSMapPushpin*/)
{
/* accuracy radius */
if (pp.accRadius) {
pp.accRadius.setMap(this);
}
/* pushpins */
if (pp.bgMarker) {
pp.bgMarker.setMap(this);
}
pp.marker.setMap(this);
/* save */
this.pushpinMarkers.push(pp);
/* info-balloon 'click' listener */
var self = this;
google.maps.event.addListener(pp.marker, 'click', function(event) {
//isClicked = true;
self.showPushpinPopup(pp);
console.log("Is clicked");
});
google.maps.event.addListener(pp.marker.infoWindow, 'closeclick', function(event) {
pp.marker.infoWindowOpen = false;
});
google.maps.event.addListener(pp.marker, 'mouseover', function(event) {
//isClicked = false;
self.showPushpinPopup1(pp);
});
google.maps.event.addListener(pp.marker, 'mouseout', function(event) {
if(!isClicked){
console.log("mouse out");
//this.hidePushpinPopups();
self.hideToolTip();
}
});
};
您希望如何处理
closeclick
event?我希望标记的infowindowopen值设置为false。我实际上正在处理其他人的代码,当用户关闭infowindow.pp.marker.infowindowopen=false时,他们没有将infowindowopen设置为false;这通常会更改infoWindowOpen属性吗?您应该通过将其放在click listner之外来检查它是否有效。如果没有,那么您尝试将属性设置为false的方式就有问题。infoWindowOpen属性可能有一个set()函数。不,当我把它放在侦听器函数之外时,它会工作。我这样做是为了解决这个问题,但它看起来有点奇怪,所以我仍然想知道为什么会发生这种情况。您想对closeclick
事件做什么?我想将标记的infowindowopen值设置为false。我实际上正在处理其他人的代码,当用户关闭infowindow.pp.marker.infowindowopen=false时,他们没有将infowindowopen设置为false;这通常会更改infoWindowOpen属性吗?您应该通过将其放在click listner之外来检查它是否有效。如果没有,那么您尝试将属性设置为false的方式就有问题。infoWindowOpen属性可能有一个set()函数。不,当我把它放在侦听器函数之外时,它会工作。我这样做是为了解决这个问题,但它看起来有点奇怪,所以我仍然想弄清楚为什么会发生这种情况。