hem*_*ter 11 google-maps google-maps-api-3 google-maps-markers
在我的Google Maps v3应用中,我正在创建标记并将它们放在地图上.对于每一个,我在'click'上添加一个事件监听器,这样我就可以在用户点击它时显示一个信息窗口.
我将我的标记保存在一个javascript数组中,并使用.setMap()在地图上显示/隐藏它们.在某些情况下,用户希望从地图中删除它们.在这种情况下,我执行marker.setMap(null),然后从我的数组中删除标记.
是否建议在标记上保留一系列事件侦听器,以便在删除标记时删除它们?或者,当从内存中删除侦听对象时,事件侦听器是否会从内存中删除?
从最终用户的角度来看,我认为这样做并不重要,但我很好奇,即使我删除了标记,事件监听器仍在内存中.我想尽可能整洁.
Dan*_*ohn 13
我不确定听众是否被删除,但我的猜测不是.我的猜测是,由于监听器仍然在监听,即使你不再有对象的引用,监听器也会这样做,所以它将保留在内存中.你不需要保持对监听器的引用,你可以调用
google.maps.event.clearInstanceListeners(marker);
Run Code Online (Sandbox Code Playgroud)
在从阵列中删除之前清除所有侦听器.
| 归档时间: |
|
| 查看次数: |
3722 次 |
| 最近记录: |