我在谷歌地图中显示了几个位置。如果用户放大/缩小或拖动地图,我会刷新这些位置。现在的问题是,如果我单击某个位置的标记,那么信息窗口会打开并拖动地图,如果它没有任何空间可以显示。这种拖动导致我的位置被刷新,因此我的标记消失了。
我试过 disableAutoPan: true
了,但信息窗口不可见。有什么办法可以让信息窗口自动调整。有没有办法解决这个问题?
我在谷歌地图中显示了几个位置。如果用户放大/缩小或拖动地图,我会刷新这些位置。现在的问题是,如果我单击某个位置的标记,那么信息窗口会打开并拖动地图,如果它没有任何空间可以显示。这种拖动导致我的位置被刷新,因此我的标记消失了。
我试过 disableAutoPan: true
了,但信息窗口不可见。有什么办法可以让信息窗口自动调整。有没有办法解决这个问题?
使用全局变量来指示何时应忽略刷新,例如:
// Global var
var ignoreRefresh = false;
google.maps.addListener(marker,'click', function(){
ignoreRefresh = true;
infoWindow.setContent('Hello');
infoWindow.open(map,marker);
})
function refresh(){
if (ignoreRefresh) {
ignoreRefresh = false;
return;
}
//...
//do your normal refresh of data
//...
}