uni-app 官方"地图"API uni.createMapContext(mapId,this) 中的方法addMarkers无法使用

uni-app 官方"地图"API uni.createMapContext(mapId,this) 中的方法addMarkers无法使用

字段
产品分类 uniapp/App
PC开发环境操作系统 Windows
PC开发环境操作系统版本号 windows11
HBuilderX类型 正式
HBuilderX版本号 3.3.5
手机系统 Android
手机系统版本号 Android 12
手机厂商 小米
手机机型 小米10pro
页面类型 nvue
vue版本 vue3
打包方式 云端
项目创建方式 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)  
        }  
    }

更多关于uni-app 官方"地图"API uni.createMapContext(mapId,this) 中的方法addMarkers无法使用的实战教程也可以访问 https://www.itying.com/category-93-b0.html

15 回复

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

更多关于uni-app 官方"地图"API uni.createMapContext(mapId,this) 中的方法addMarkers无法使用的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这个问题现在解决了吗

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

新版已修复

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

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

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

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

是不是用了.vue页面啊,我在.nvue页面使用是正常的

.vue页面,还是不行,没有丝毫反应啊?修复了么 请问

我也没有反应额,内置Web浏览器,iphone6/7/8,3.6.5.20221121,腾讯H5地图

4.08版本 参照https://uniapp.dcloud.net.cn/api/location/map.html#mapcontext 也一样

预计下版修复

回到顶部