uni-app nvue map callout display:'always' 不起作用
uni-app nvue map callout display:‘always’ 不起作用
5 回复
此设备在旧版是否正常?
此版本使用其他设备是否正常?
更多关于uni-app nvue map callout display:'always' 不起作用的实战教程也可以访问 https://www.itying.com/category-93-b0.html
用下面的代码测试没有问题,气泡一直显示 方恒国际 阜通东大街6号 确定是nvue页面运行到真机吗?
<template>
<view style="flex: 1;">
<map style="flex: 1;" :markers="markers"></map>
</view>
</template>
这段代码我手机上也是点击才显示,可能是我手机系统的问题 小米6 miui11
我换label了,暂时能满足需求
在 nvue 的 map 组件中,callout 的 display 属性设置为 'always' 在某些平台或特定场景下可能确实无法按预期工作。这通常与平台原生实现的差异或组件自身的渲染机制有关。
核心原因分析:
- 平台差异:
nvue的map组件本质上是调用原生地图控件(如高德、百度 SDK)。不同平台(iOS、Android)对callout(标注气泡)的常显支持程度可能不同。'always'属性可能在某些原生 SDK 中未被完全实现或存在限制。 - 渲染时机:标注的
callout可能在标记点(marker)首次加载或地图状态变化时,其显示逻辑受到原生地图事件(如点击、拖动)的影响,导致'always'模式被重置。 - 性能优化:地图组件为保障渲染性能,可能会自动管理
callout的显示(例如仅在点击标记点时触发),覆盖display设置。
建议解决方案:
- 检查平台兼容性:确认
'always'在目标平台(iOS/Android)是否被支持。可尝试分别测试双端。 - 使用
marker的callout属性:确保在marker对象中正确配置callout,例如:marker: { id: 1, latitude: 39.909, longitude: 116.397, callout: { content: '常显标注', display: 'ALWAYS', // 注意:值可能是大写,需参考官方文档 fontSize: 14 } }

