y***@163.com
y***@163.com
  • 发布:2020-05-09 14:48
  • 更新:2020-07-02 09:38
  • 阅读:660

【报Bug】map组件 markerup 时间点击不同的标记点,map中所有的标记点消失

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 2.6.11

手机系统: Android

手机系统版本号: Android 10

手机厂商: 华为

手机机型: meta20

页面类型: vue

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
<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>

操作步骤:

切换标记点n, 触发markerup方法,并且没有改变 markers 的数组

预期结果:

切换标记点时,不会对map组件的显示产生影响

实际结果:

点击会造成map组件中所有标记点消失

bug描述:

map组件显多个标记点,触发 markertap 方法,点击标记点A 正常,点击标记点B ,map 组件上面的所有标记点消失

ps: 所有标记点都有id

2020-05-09 14:48 负责人:无 分享
已邀请:
s***@gmail.com

s***@gmail.com

请问找到什么原因了么,我也遇到了

y***@163.com

y***@163.com (作者) - 小白一只

没有找到问题的原因,把vue文件改成.nvue ,好像问题就没有了

map组件在nvue支持的更好

该问题目前已经被锁定, 无法添加新回复