移动端里调用高德APP并显示导航路线

开始也是在高德 API 当中找到了他的调起高德 APP 的方法 

结果是跳到了一个新的页面  在那个页面里有点击跳进高德 APP 的地方

所以我选择了用 安卓 iOS 去做这个需求

一. 逻辑

先用 navigator.userAgent 去获取手机型号

然后去判断设备是 安卓还是 iOS 

然后调用相对应的方法去跳转

只是他这只接受起止点

二. 代码

let lon = this.DHposition.longitude
let lat = this.DHposition.latitude
let dname = this.DHposition.name
let id = this.DHposition.id
const u = navigator.userAgent
let url
// 判断设备是iOS还是Android,Linux
const isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)
const isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1
// myposition 为我当前位置 [114.361866, 30.540072]
if (isiOS) {
    url = `iosamap://path?sourceApplication=applicationName&sid=BGVIS1&slat=${this.myposition[1]}&slon=${this.myposition[0]}&sname=当前位置&did=${id}&dlat=${lat}&dlon=${lon}&dname=${dname}&dev=0&t=0`
}
if (isAndroid) {
    url = `amapuri://route/plan/?sid=BGVIS1&slat=${this.myposition[1]}&slon=${this.myposition[0]}&sname=当前位置&did=${id}&dlat=${lat}&dlon=${lon}&dname=${dname}&dev=0&t=0`
}
window.location.href = url

猜你喜欢

转载自blog.csdn.net/notagoodwriter/article/details/133860126