Bug1:如Bug1描述的方式调用则会必现
Bug2:如Bug2描述的方式则会频繁闪退
- 发布:2020-11-25 11:54
- 更新:2021-02-03 17:37
- 阅读:1062
产品分类: uniapp/小程序/微信
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: Win10
HBuilderX类型: 正式
HBuilderX版本号: 2.9.8
第三方开发者工具版本号: 微信开发者工具稳定版1.03.2010240
基础库版本号: 2.13.2
项目创建方式: HBuilderX
操作步骤:
预期结果:
Bug1:无警告,API调用功能正常
Bug2:APP正常运行,无崩溃闪退现象
Bug1:无警告,API调用功能正常
Bug2:APP正常运行,无崩溃闪退现象
实际结果:
Bug1:警告产生,但并无实际影响,API功能正常
Bug2:频繁闪退
Bug1:警告产生,但并无实际影响,API功能正常
Bug2:频繁闪退
bug描述:
1. 调用Map组件的API时调用moveLocation()与translateMarker()时均会报JSON警告 请看附件的图片内容
template代码:
<view class="page-section page-section-gap">
<map id="locationMap" :scale="scale" :latitude="24.490898" :longitude="118.137360"
style="width: 100%;z-index: 1;" :style="[{height:'calc(100vh - ' + (headerHeight + bottomHeight) + 'px)'}]"
:markers="markers" :enable-rotate="true">
</map>
</view>
调用代码:
let mapContext = uni.createMapContext('locationMap', this);
mapContext.moveToLocation({
longitude: marker.longitude,
latitude: marker.latitude,
success(res) {
// console.log(res);
},
fail(e) {
console.log(e);
},
complete() {
}
})
2. Map组件创建markers时配置callout气泡为BYCLICK点击显示或不配置采用默认显示策略时,在Android平台上会出现闪退,在iOS平台上则正常
若将气泡设置为ALWAYS常显,则在安卓和iOS平台上都不会闪退了
安卓版本:10
安卓机型:华为荣耀V20
iOS版本:13.3.1
iOS机型:iPhone7
template代码:
<view class="page-section page-section-gap">
<map id="locationMap" :scale="scale" :latitude="24.490898" :longitude="118.137360"
style="width: 100%;z-index: 1;" :style="[{height:'calc(100vh - ' + (headerHeight + bottomHeight) + 'px)'}]"
:markers="markers" :enable-rotate="true">
</map>
</view>
创建marker及callout代码:
for (let index = 0; index < res.length; index++) {
let treeCar = res[index];
let marker = {
id: treeCar.vehicleId,
latitude: treeCar.latitude,
longitude: treeCar.longitude,
iconPath: _this.getCarIcon(treeCar.online, treeCar.velocity),
width: 28,
height: 35,
rotate: treeCar.direction,
// 点聚合功能是否开启
joinCluster: true,
callout: {
content: _this.getCarCallOutContent(treeCar.plateNo, treeCar.velocity, treeCar.sendTime),
padding: 8,
textAlign: 'center',
color: '#3d3d3d',
bgColor: '#ffffff',
fontSize: 14,
borderWidth: 1,
borderColor: '#1976d2',
borderRadius: 15,
// 点击显示会导致在Android平台上崩溃闪退
display: 'BYCLICK'
}
};
_this.markers.push(marker);
}
- 关于toJSON报错,这个是微信开发者工具的bug
新版的微信开发工具存在 Bug 使用 uni.createXxxContext 接口报错,可以先下载回旧版 1.03.2006090 - 关于闪退问题
使用了安卓的手机测试(uni-app编译微信小程序、小程序原生)暂无问题,您可以去微信社区反馈
感谢您的反馈
李俊贤JunX (作者)
你好,请问是使用map组件的callout气泡 设置显示方式为:默认或点击显示
之后在地图上点击marker使气泡显示 闪退没有复现吗?
2020-11-25 15:44
DCloud_UNI_LXH
回复 李俊贤JunX: 是的,配置为display: 'BYCLICK' ,并不会闪退
2020-11-25 19:00