9***@qq.com
9***@qq.com
  • 发布:2021-03-31 14:48
  • 更新:2022-12-13 11:47
  • 阅读:414

【报Bug】map markers在Android手机上大于133个点不能清空刷新&markertap事件也失效

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 11.1

HBuilderX类型: 正式

HBuilderX版本号: 3.1.4

手机系统: Android

手机系统版本号: Android 10

手机厂商: 小米

手机机型: K30pro

页面类型: nvue

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
<map class="maps" id="navmap" :style="mapStyle" :latitude="latitude" :longitude="longitude" markers="covers" scale="12" @markertap="showdetail" enable-satellite=true> </map>

动态添加 markers点 安卓手机marker点大于133个后清空或减少marker点 不会刷新 markertap事件也随之也触发不了

操作步骤:

uni.request({
url: getApp().globalData.url + '/admin/iot/device/status/list',
method: 'POST',
data: {},
header: {
"Accept": "application/json",
// "Content-Type": "application/json;charset=UTF-8",
"Content-Type": "application/x-www-form-urlencoded;charset=utf-8",
"authorization": getApp().globalData.authorization
},
//成功
success: (res) => {
console.log("markers==", res.data.data[0])
let arr = res.data.data;
let markers = [];
let obj = '';
this.latitude = arr[0].lat;
this.longitude = arr[0].lng;
let lvl_first = false;
for (let i = 0; i < arr.length; i++) { //最多133个点 再多点击事件就没了
// for (let i = 0; i < 133; i++) { //最多133个点 再多点击事件就没了
//
obj = {
latitude: arr[i].lat,
longitude: arr[i].lng,
iconPath: '../../../static/logo.png',
id: arr[i].id + "",
width: 30,
height: 30,
// callout: {
// //自定义标记点上方的气泡窗口 点击有效
// content: 'ID:',
// color: '#F76350',
// fontSize: 15,
// borderRadius: 5
// }
}

                        if (arr[i].alarmName) {  
                            switch (arr[i].alarmName) {  
                                case "Level 2":  
                                    obj.iconPath = '../../../static/icon_yellow.png'  
                                    break;  
                                case "Level 1":  
                                    obj.width = 35;  
                                    obj.height = 35;  
                                    // console.log("=====", arr[i].alarmName)  
                                    obj.iconPath = '../../../static/icon_red.png'  
                                    if (!lvl_first) {  
                                        lvl_first = true;  
                                        if (!this.searchStr) {  
                                            this.latitude = arr[i].lat;  
                                            this.longitude = arr[i].lng;  
                                        }  
                                        this.vibrate();  
                                    }  
                                    plus.push.createMessage("111111", "sseeee", {  
                                        title: "222",  
                                        id: "123456"  
                                    })  
                                    break;  
                                default:  
                                    obj.iconPath = '../../../static/icon_gray.png'  
                                    break;  
                            }  
                        } else {  
                            obj.iconPath = '../../../static/icon_gray.png'  
                        }  
                        markers.push(obj)  
                    }  
                    this.covers = markers;  

                    console.log("covers==", this.covers.length)  
                },  
                fail: (res) => {  
                    console.log("失败:", res);  
                }  
            })

预期结果:

动态添加 markers点 安卓手机marker点大于133个后清空或减少marker点 不会刷新 markertap事件也随之也触发不了

实际结果:

动态添加 markers点 安卓手机marker点大于133个后清空或减少marker点 不会刷新 markertap事件也随之也触发不了

bug描述:

动态添加 markers点 安卓手机marker点大于133个后清空或减少marker点 不会刷新 markertap事件也随之也触发不了

2021-03-31 14:48 负责人:无 分享
已邀请:
m***@163.com

m***@163.com

markers太多,markertap事件失效-----遇到同样的问题

7***@qq.com

7***@qq.com

Vue3/Vite版崩 markertap事件安卓手机上不触发---遇到同样的问题

要回复问题请先登录注册