0

我有一个窗口,我在标记单击时在地图上移动(1000 个标记)。一切正常,直到我按下“x”关闭窗口,这似乎从 dom 中删除了信息窗口,而不是仅仅隐藏它。我看到有一个 closeClick 参数,但我不确定这是做什么的,并且似乎无法将它连接到函数以覆盖删除。

这是标记:

<google-map
 id="map-canvas"
 draggable="true"
 bounds="map.bounds"
 center="map.center"
 zoom="map.zoom"
 options="map.options"
 events="map.events"
 zoom="map.zoom">
    <window 
     show="map.infoWindow.show"
     coords="map.infoWindow.coords"
     closeClick="map.infoWindow.close" ng-cloak>
        Testing!
    </window>
    <markers
     models="map.mountains"
     coords="'self'"
     icon="'icon'"
     click="'onClicked'"
     options="'options'"
     doCluster="false">
   </markers>
</google-map>

这是窗口和“x”按钮的示例:

如何防止窗口被删除而只是隐藏它?

还是有更好的方法我应该这样做?

4

1 回答 1

0

我相当有信心从 DOM 添加/删除是 google-maps 功能,而不是 angular-google-maps 功能。在 vanilla google-maps 实例上测试您的场景,看看是否存在相同的行为。如果是这样,那就没有什么可以做的了。

当单击窗口上的“x”时会触发 closeClick 事件。您可以通过添加类似closeClick="scopeFunction()". 这不太可能对您的方案有所帮助。

编辑:一次只打开一个窗口的更好方法是只使用一个窗口对象,将其绑定到范围上的“currentMarker”,然后在标记的单击中更改“currentMarker”以反映当前选择的标记。希望有帮助。

于 2014-08-04T17:17:39.013 回答