z***@yitiangroup.com.cn
z***@yitiangroup.com.cn
  • 发布:2022-08-17 12:01
  • 更新:2022-09-30 11:18
  • 阅读:1526

【报Bug】uniapp map地图安卓和ios 坐标点偏差

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.4.18

手机系统: Android

手机系统版本号: Android 8.1

手机厂商: OPPO

手机机型: oppoA5

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

this.markerList = []
res.forEach((item, index) => {
if (item.pointStatus == 1) {
yx.push(item)
}
if (item.keypointtype == 0) {
arr1.push(item)
let icon = ''
let typeSign=''
if (item.pointStatus == 0) {
if (item.linepointtype == 0) {
icon = '../../static/allImage/1.png'
} else if (item.linepointtype == 1) {
icon = '../../static/allImage/startImg.png'
} else if (item.linepointtype == 2) {
icon = '../../static/allImage/endImg.png'
}
} else if (item.pointStatus == 1) {

                            if (item.signinType == 0&&item.linepointtype == 0) {  
                                icon = '../../static/allImage/2.png'  
                            } else if (item.signinType == 1&& item.linepointtype == 0) {  
                                icon = '../../static/allImage/3.png'  
                            } else if (item.linepointtype == 1) {  
                                icon = '../../static/allImage/n3.png'  
                                if(item.signinType == 1){  
                                    typeSign=1  
                                }else {  
                                    typeSign=0  
                                }  
                            } else if (item.linepointtype == 2) {  
                                icon = '../../static/allImage/n2.png'  
                                if(item.signinType == 1){  
                                    typeSign=1  
                                }else {  
                                    typeSign=0  
                                }  
                            }  
                        }  
                        // if(this.mapName=='百度'){  
                        //  //将百度坐标转高德  
                        //  let mark=bd_decrypt(item.longitude,item.latitude)  
                        //  item.latitude=mark.lat  
                        //  item.longitude=mark.lng  
                        // }  
                        covers.push({  
                            latitude: item.latitude,  
                            longitude: item.longitude,  
                            width: '100',  
                            height: '100',  
                            iconPath: icon,  
                            id: item.id,  
                            isClick: false,  
                            bigMark: false,  
                            typeSign:typeSign  
                        })  
                        if (item.linepointtype == 1) {  
                            this.haveStartPoint = true  
                            this.startpointlaction = {  
                                latitude: item.latitude,  
                                longitude: item.longitude  
                            }  
                        }  
                        if (item.linepointtype == 2) {  
                            this.haveEndPoint = true  
                            this.endpointlaction = {  
                                latitude: item.latitude,  
                                longitude: item.longitude  
                            }  
                        }  
                    } else {  
                        arr2.push(item)  
                    }  
                })  
                this.covers = [...covers]  
                this.markerList = [...covers]  

预期结果:

地图上的坐标点 运行到安卓和ios 上 显示的位置相同

实际结果:

地图上的坐标点 运行到安卓和ios 上 显示的位置不同

bug描述:

vue页面,引入《map》标签 百度地图,添加了固定经纬度的坐标点,在安卓显示正常,在ios 上 坐标点位置出现较大的偏移 注:同一个坐标点 经纬度没有变化,只是运行到安卓和ios 上 显示的位置不同了

2022-08-17 12:01 负责人:无 分享
已邀请:
z***@yitiangroup.com.cn

z***@yitiangroup.com.cn (作者)

已解决该问题:由于 uniapp的map 组件 坐标系默认是gcj02,虽然配置页 勾选了百度地图以及sdk 但是,运行到ios 手机上,坐标系还是gcj02,但是安卓的百度中 坐标系是百度坐标, 所以导致了 经纬度不变 坐标系是百度坐标系的标记点在安卓和ios 中展示 位置不一样!!高德地图不会出现这种情况,因为高德默认的坐标系就是gcj02!

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