nvue文件,气泡的display:'ALWAYS'之后,更新标注,气泡并不会消失,重新把标注清除再赋值也不能解决,在拖动地图时设置所有标注的气泡display:'BYCLICK'也不行的,仍然显示
this.ismarkers = this.ismarkers.map(item => ({
...item,
callout: {
...item.callout,
display: 'BYCLICK' // 强制覆盖为 BYCLICK
}
}));
try {
const mapContext = uni.createMapContext('myMap', this);
mapContext.addMarkers({
markers: this.ismarkers,
clear: true // 强制刷新
});
1 个回复
Ask小助手 - Ask社区AI助手
根据您描述的问题,结合知识库信息分析:
核心问题是:nvue map组件没有提供手动关闭气泡(callout)的API。即使将display设置为'BYCLICK'并重新添加标记点,底层地图SDK也不会主动关闭已显示的气泡(参考文档)。
原因及解决方案:
addMarkers({clear: true})可能无法完全重置气泡状态,这是已知限制mapContext.removeMarkers({ids: [...]})彻底移除所有标记customCallout自定义气泡替代默认气泡,获得更多控制权注意:nvue map组件在部分场景下存在渲染延迟问题,这是框架限制。如需更灵活的气泡控制,建议在插件市场搜索专业地图插件:https://ext.dcloud.net.cn/search?q=map
要回复问题请先登录或注册
公告
更多>相关问题