一、需求
微信小程序 需要点击并跳转第三方地图软件导航,并计算到目标位置距离
二、思路
思路:
1.接口返回需要有位置的经纬度,这个自行在后台编辑获取
2.需要获取用户的位置权限
我这边使用的是uniapp,需要使用官方封装两个接口(主要是用1 2接口即可):
1.获取用户位置接口:uni.getLocation(OBJECT) | uni-app官网
2.打开位置接口:uni.openLocation(OBJECT) | uni-app官网
3.选择位置:uni.getLocation(OBJECT) | uni-app官网
三、具体实现:
1.需要在manifest.json 文件添加获取权限配置(使用源码视图方式打开):
代码
"permission": {"scope.userLocation": {"desc": "你的位置信息将用于小程序位置接口的效果展示"}},"requiredPrivateInfos": ["getLocation", "chooseLocation"]
2.具体代码
我这边方式是:getLocation放在onLoad方法里面 进入的时候让用户授权,授权后获得用户的经纬度以及地址信息。
ps:我这边使用当前的位置信息 是用来计算跟接口返回的目标位置信息的距离长度的
//得到用户位置经纬度 以及授权getLocation(){var that = thisuni.getLocation({success(res) {that.location.lat = res.latitudethat.location.log = res.longitude},fail(res){console.info("fail" + res)}});},
打开地图方法:必须先授权
this.dataInfo 对象是我后台返回的数据
//打开地图openmap(){uni.openLocation({latitude: this.dataInfo.latitude,longitude: this.dataInfo.longitude,name: this.dataInfo.name,address: this.dataInfo.position})},
效果展示:
微信开发工具效果
真机效果:
点击右下角跳转第三方