uniapp踩坑(四):android中引入高德地图,实时定位(精度)遇到的问题及解决方法 |
您所在的位置:网站首页 › 高精度地图app › uniapp踩坑(四):android中引入高德地图,实时定位(精度)遇到的问题及解决方法 |
一、hbuilder直接连手机测试(要不要高德的key都可以) 1、测试:没有申请高德地图的key,同时在代码中也没有引入key,但是定位可以实现,且精确。 2、存在疑问:那申不申请key,代码中引不引入key,同时在manifest.json中不配置maps好像对定位精准度都没有影响(确实如此,不用)。 3、解决及原因: uniapp官网目前在安卓平台上集成的是高德地图,直接使用uni.getlocation就可以获取到定位,无需引入key。 4、代码如下: uni.getLocation({ // map组件默认为国测局坐标gcj02,调用 uni.getLocation返回结果传递给组件时,需指定 type 为 gcj02 type: 'gcj02', geocode: true, success: ({ longitude, latitude }) => { // 定位得到的经纬度 console.log('当前位置的经度:' + longitude) console.log('当前位置的纬度:' + latitude) this.longitude = longitude this.latitude = latitude // 画出定位位置 this.markers[0] = { longitude, latitude, title: '我的位置', iconPath: '/static/images/icons/myLocation.png' } } })二、运行到自定义基座上(必须配置高德地图) 1、必须有高德申请的key 在高德开放平台提交资料,获取key(小程序申请小程序的key,android申请android的key,ios对应ios的key,不可混用)(注意,自定义基座调试时,必须appid,包名,key都对应,否则报签名不一致) 2、manifest.json中必须配置 采用uni.getlocation和plus.geolocation.watchPosition,和 小程序中的amapPlugin.getRegeo方法,其对应的定位精度相似。 三、踩坑之处: 刚开始做的是小程序(引入的是小程序的key,和amaps-wx.js文件,高德官方就有),然后定位不准,误差在500米左右(误差太大了)。然后就想着是不是定位的方法不对,于是就试上面三种方法(主要是想看这三种那个定位更准),发现连手机测试后三个方法的定位都差不多,且精准,但采用自定义基座测试后,就有误差,最后,发现是自己没有在manifest.json中配置maps,当然,配置正确的appid,key,和包名后基座测试,一切ok。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |