You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

agm-snazzy-info-window点击地图自动关闭问题求助:closeOnMapClick属性失效

解决agm-snazzy-info-window点击地图自动关闭的问题

嘿,我之前也踩过这个坑!你设置了closeOnMapClick="false"却没生效,大概率是这几个原因,咱们一步步来排查:

  • 属性绑定方式错误:Angular中,布尔类型的输入属性必须用方括号[]绑定,不然它会把字符串"false"当成真值处理!你现在写的closeOnMapClick="false"是字符串,不是布尔值,改成[closeOnMapClick]="false"才会生效。

  • 检查isOpen绑定的变量是否被意外修改:你的isOpen绑定了i == selected ? markerFlag : false,要确认有没有在地图点击事件的逻辑里,把markerFlag或者selected变量改成了导致窗口关闭的值。比如有些同学会在地图点击时重置选中状态,这就会间接关闭info window,得把这块逻辑排查清楚。

  • 暂时排除closeWhenOthersOpen的干扰:虽然这个属性是控制多窗口互斥,但不排除它和closeOnMapClick存在版本兼容的冲突,可以先把[closeWhenOthersOpen]="true"注释掉测试一下,看窗口是否还会被地图点击关闭。

修改后的代码示例:

<agm-snazzy-info-window 
  [closeWhenOthersOpen]="true" 
  [isOpen]="i == selected ? markerFlag : false" 
  [latitude]="list.Latitude" 
  [longitude]="list.Longitude" 
  [closeOnMapClick]="false"> 
  <template> 
    <!-- 你的信息窗口内容 -->
  </template> 
</agm-snazzy-info-window>

如果上面的方法都没用,还可以试试:

  • 升级agm-snazzy-info-window到最新稳定版本,旧版本可能存在这个属性的bug;
  • 确认你的Angular Google Maps(AGM)核心包和agm-snazzy-info-window版本兼容,版本不匹配也可能导致属性失效。

内容的提问来源于stack exchange,提问作者Pawan Sahu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:50:00