<template>
<map style="width: 100%; height: 300px;"
id="home"
@markertap="chosePoint($event)"
:latitude="latitude"
:longitude="longitude"
:markers="covers"
:include-points="covers"
:circles="circles"
>
</map>
</template>
<script>
chosePoint(e){
console.log('e',e.detail.markerId, e.markerId);
// 001 我写死的
// #ifdef APP-PLUS
if(e.detail.markerId == '001') {
uni.showToast({ title: '请选择检查点', icon: "none" });
}
// #endif
// #ifdef MP-WEIXIN
if(e.markerId == '001') {
uni.showToast({ title: '请选择检查点', icon: "none" });
}
// #endif
else {
// let choseItem = this.covers.filter((item)=>{
// // #ifdef APP-PLUS
// return item.id === e.detail.markerId
// // #endif
// // #ifdef MP-WEIXIN
// return item.id === e.markerId
// // #endif
// })
let choseItem = [];
for(let item of this.covers) {
// #ifdef APP-PLUS
if(item.id === e.detail.markerId) {
choseItem.push(item);
}
// #endif
// #ifdef MP-WEIXIN
if(item.id === e.markerId) {
choseItem.push(item);
}
// #endif
}
console.log( this.covers,'标记点数组')
console.log( choseItem,' 选中数组')
if(choseItem.length>0) {
uni.showToast({ title: choseItem[0].checkName, icon: "none" });
// 选完节点 点没了,
console.log('this.covers',this.covers)
console.log('choseItem ',choseItem)
}
}
},
</script>
- 发布:2020-05-09 14:48
- 更新:2020-07-02 09:38
- 阅读:731
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win10
HBuilderX类型: 正式
HBuilderX版本号: 2.6.11
手机系统: Android
手机系统版本号: Android 10
手机厂商: 华为
手机机型: meta20
页面类型: vue
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
切换标记点n, 触发markerup方法,并且没有改变 markers 的数组
切换标记点n, 触发markerup方法,并且没有改变 markers 的数组
预期结果:
切换标记点时,不会对map组件的显示产生影响
切换标记点时,不会对map组件的显示产生影响
实际结果:
点击会造成map组件中所有标记点消失
点击会造成map组件中所有标记点消失
bug描述:
map组件显多个标记点,触发 markertap 方法,点击标记点A 正常,点击标记点B ,map 组件上面的所有标记点消失
ps: 所有标记点都有id
2 个回复
s***@gmail.com
请问找到什么原因了么,我也遇到了
y***@163.com (作者) - 小白一只
没有找到问题的原因,把vue文件改成.nvue ,好像问题就没有了
map组件在nvue支持的更好