我目前有一张地图,其中包含多个地图标记,您可以将它们悬停在其上以查看其信息窗口。另外,作为贫民窟的网络套接字,我每60秒运行一次setInterval
,这将清除地图标记(随后关闭所有信息窗口),然后重新绘制地图标记。此功能都可以正常工作。
我被困的地方:页面刷新后重新打开所有打开的地图标记;这样,如果用户在55s时单击标记,则信息窗口将在60s后重新打开。
在我的监听器中,我正在保存一组标记,如下所示:
google.maps.event.addListener(marker, 'mouseover', function(e) {
vm.openedMarkers.push(marker);
...
}
运行setInterval
时,我可以console.log
退出vm.openedMarkers
,查看打开了哪个信息窗口。
奇怪的是,如果我尝试跑步:infowindow.open(map,vm.openedMarkers[0]);
我希望只是基于该标记打开第一个inforwindow,但是所有的信息窗口都将在那个标记上打开。
有什么想法或地方可以指出我正确的方向吗? 谢谢!