1***@qq.com
1***@qq.com
  • 发布:2022-01-19 15:56
  • 更新:2022-09-18 13:52
  • 阅读:677

【报Bug】官方"地图"API uni.createMapContext(mapId,this) 中的方法addMarkers无法使用

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.3.5

手机系统: Android

手机系统版本号: Android 12

手机厂商: 小米

手机机型: 小米10pro

页面类型: nvue

vue版本: vue3

nvue编译模式: fast

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

在nvue编译模式为默认的uni-app模式下api方法没有效果

预期结果:

在uni-app编译模式下可以正常使用

实际结果:

无法使用

bug描述:

地图上下文 uni.createMapContext(mapId,this) 中的方法addMarkers无法使用,失败,成功回调都没有执行

<script>  
    export default {  
        data() {  
            return {  
                mapData: {  
                    longitude: 0,  
                    latitude: 0,  
                    enableSatellite: false,  
                    markers: []  
                },  
                _mapContext: null  
            }  
        },  
        methods: {  
            // 获取当前位置,并移动到当前位置为中心点  
            getCurLocation() {  
                uni.getLocation({  
                    // type: 'gcj02',  
                    isHighAccuracy: true,  
                    success: (res) => {  
                        const {  
                            latitude,  
                            longitude  
                        } = res  
                        this.mapData.longitude = longitude  
                        this.mapData.latitude = latitude  
                        const marker = {  
                            id: 'currentPosition',  
                            latitude,  
                            longitude,  
                            iconPath: '/static/img/icon_positioning.png',  
                            width: 48,  
                            height: 48,  
                            callout: {  
                                content: '当前位置',  
                                display: 'ALWAYS',  
                                padding: 10,  
                                borderRadius: 5,  
                                fontSize: 14  
                            }  
                        }  
                        // this.mapData.markers = [marker]  
                        this._mapContext.addMarkers({  
                            markers: [marker],  
                            success: (res) => {  
                                console.log(res)   
                            },  
                                                       fail: (err) => {  
                                console.log(err)  
                            }  
                        })  
                        this._mapContext.moveToLocation({  
                            longitude,  
                            latitude  
                        })  
                        this._mapContext.openMapApp()  
                    },  
                    fail() {  
                        uni.showToast({  
                            title: '获取定位失败,请点击定位从新获取',  
                            icon: 'none'  
                        })  
                    },  
                })  
            },  
            // 点击地图  
            mapTap(e) {  
                const { latitude, longitude } = e.detail  
            },  
            // 切换地图  
            switchLayer() {  
                this.mapData.enableSatellite = !this.mapData.enableSatellite  
            }  
        },  
        onLoad() {  
            this.getCurLocation()  
        },  
        onReady() {  
            this._mapContext = uni.createMapContext('patrolMap', this)  
        }  
    }
2022-01-19 15:56 负责人:DCloud_UNI_LXH 分享
已邀请:
DCloud_UNI_Anne

DCloud_UNI_Anne

问题复现,已反馈给相关人员排查,已加分,感谢您的反馈!

2***@qq.com

2***@qq.com

这个问题现在解决了吗

xuexixuexi

xuexixuexi

marker的Id不应该是Number类型的吗?

DCloud_UNI_LXH

DCloud_UNI_LXH

新版已修复

8***@qq.com

8***@qq.com

请问一下你这个问题解决了吗,我用的3.3.13版本的,addMarkers也不会执行

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

    没有测试,换另外一种方式实现的添加marker

    2022-05-05 16:45

1***@qq.com

1***@qq.com

3.5.3.20220729版本中还是一样的问题,无法通过uni.createMapContext API添加marker

2***@qq.com

2***@qq.com

3.5.3里面还是不会执行addMarkers方法啊

DCloud_UNI_LXH

DCloud_UNI_LXH

预计下版修复

要回复问题请先登录注册