开始也是在高德 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