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
相关产品推荐
相关产品推荐

