1***@qq.com
1***@qq.com
  • 发布:2023-06-20 10:53
  • 更新:2024-03-25 10:32
  • 阅读:416

map组件自定义气泡customCallout在安卓上显示正常,在ios则显示不出来

分类:uni-app

uni打包的app,运行到真机,自定义气泡再安卓显示正常,ios则是不显示,只有一个markar图片在地图展示,这是基于数据从后端请求过来的时候这么样子的效果,但是如果直接写死数据,ios端的自定义气泡又会正常显示,包括延时器给数据也是不会展示,这个是我这边代码有什么问题吗,还是需要在数据请求成功后再初始化地图进行数据加载呢

 <template>  
<map id="map" class="map" :show-location="false" :latitude="latitude" :longitude="longitude" @tap="clickmap"  
            @markertap="callouttap" :marksers="markers" enable-3D @callouttap="callouttap" :scale="scale"  
            :customCallout="callout" @regionchange="clickmap(2)" enable-overlooking >  
            <cover-view slot="callout">  
                <template v-for="(item,index) in markers">  
                    <cover-view :marker-id="item.id" :key="item.id" class="customCallout" :style="{  
                            background:`rgb(${(Math.random()*255 ).toFixed(0)}, ${(Math.random()*255).toFixed(0)}, ${(Math.random()*255).toFixed(0)})`  
                        }">  
                        <cover-image class="icon animation" :src="item.iconPath" @click="dianjiqipao(item)"  
                            style="width: 78rpx;height: 78rpx;border-radius: 30rpx;z-index: 100;">  
                        </cover-image>  
                        <cover-view></cover-view>  
                    </cover-view>  
                </template>  
            </cover-view>  
        </map>   
 </template>  

data() {  
            return {  
 markers:[]  
}  
},  
onload(){  
this._mapContext = uni.createMapContext("map", this);  
},  
methods:{  
addmarkers(){  
let markers = []  
//模拟后端请求回来的数据res.data.list  
res.data.list.map(item=>{  
markers.push(  
                        Object.assign({}, {  
                            id: item.id,  
                            iconPath: item.Avatar,  
                            width: 0,  
                            height: 0,  
                            latitude: Number(item.Latitude), //地图中心经纬度  
                            longitude: Number(item.Longitude), //地图中心经纬度  
                            ariaLabel: `新加的标记点`,  
                            customCallout: {  
                                anchorY: 0, // Y轴偏移量  
                                anchorX: 0, // X轴偏移量  
                                display: 'ALWAYS' // 一直展示  
                            },  
                        }, item)  
                    )  
})  
this.markers = markers  
    this._mapContext.addMarkers({  
                        clear: false,  
                        markers: [ ...markers],  
                        complete(res) {  
                            that.markers.push(markers[0])  
                        }  
                    })  

}  
}

这种请求回来的数据再ios就会不展示自定义气泡,如果再data的markers数组写死,就能在ios显示出来自定义气泡,自定义气泡的display换了点击出现,还是没效果。ios16,

2023-06-20 10:53 负责人:DCloud_iOS_XHY 分享
已邀请:
1***@qq.com

1***@qq.com (作者)

是nvue页面

DCloud_iOS_XHY

DCloud_iOS_XHY

你好,请上传一个完整的示例工程便于排查

  • 1***@qq.com (作者)

    大佬,示例上传了,麻烦看一下

    2023-06-27 15:38

1***@qq.com

1***@qq.com (作者)

代码示例

  • DCloud_iOS_XHY

    需要一个能用最简单逻辑直接反应问题的示例工程,你这个示例没有反应这一点

    2023-06-27 20:56

  • 1***@qq.com (作者)

    回复 DCloud_iOS_XHY: 重新上传了页面代码,麻烦大佬了

    2023-06-28 11:01

1***@qq.com

1***@qq.com (作者)

页面代码

DCloud_iOS_XHY

DCloud_iOS_XHY

Bug 已确认,下个版本会修复此问题

  • 1***@qq.com (作者)

    好的,感谢大佬

    2023-06-29 10:15

前小白

前小白

请问bug解决了吗?

  • 1***@qq.com (作者)

    目前还没有,坐等官方更新

    2023-07-11 16:16

Sams

Sams

解决了么

q***@163.com

q***@163.com

请问bug解决了吗?

x***@sina.com

x***@sina.com

这个问题还没有解决啊

要回复问题请先登录注册