如何使信息窗口根据其已有的空间显示,而不移动地图



我在谷歌地图中显示的位置很少。如果用户放大/缩小或拖动地图,我会刷新这些位置。现在的问题是,如果我单击某个位置的标记,那么信息窗口会打开并在没有任何空间显示时拖动地图。这种拖动会导致我的位置被刷新,因此我的标记消失。

我尝试了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
  //...
}

最新更新