动态添加 markers点 安卓手机marker点大于133个后清空或减少marker点 不会刷新 markertap事件也随之也触发不了
- 发布:2021-03-31 14:48
- 更新:2022-12-13 11:47
- 阅读:488
产品分类: 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>
操作步骤:
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);
}
})
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事件也随之也触发不了
实际结果:
动态添加 markers点 安卓手机marker点大于133个后清空或减少marker点 不会刷新 markertap事件也随之也触发不了
动态添加 markers点 安卓手机marker点大于133个后清空或减少marker点 不会刷新 markertap事件也随之也触发不了
bug描述:
动态添加 markers点 安卓手机marker点大于133个后清空或减少marker点 不会刷新 markertap事件也随之也触发不了
2 个回复
m***@163.com
markers太多,markertap事件失效-----遇到同样的问题
7***@qq.com
Vue3/Vite版崩 markertap事件安卓手机上不触发---遇到同样的问题