1.先写一个picker选择器
<picker @change="bindPickerChange" :value="index" :range="array">
<view class="uni-input">{{array[index] || '打开第三方app' }}</view>
</picker>
2.在data中定义好高德地图/百度地图的url地址,以及应用商店的地址
data() {
return {
index: null,
array: ['高德地图', '百度地图'],
arrayObj:[
{
has: plus.runtime.isApplicationExist({pname:'com.autonavi.minimap',action:'androidamap://'}), //高德
url: "androidamap://viewMap?sourceApplication=Hello%20uni-app&poiname=九江基地&lat=39.9631018208&lon=116.3406135236&dev=0"
},
{
has: plus.runtime.isApplicationExist({pname:'com.baidu.BaiduMap',action:'baidumap://'}), //百度
url: "baidumap://map/marker?location=39.968789,116.347247&title=DCloud&src=Hello%20uni-app"
}
],
appStore: "market://details?id=com.tencent.mm"
}
},
3.在picker选中事件中,进行跳转第三方app
bindPickerChange(e){
this.index = e.detail.value
let { index, arrayObj, appStore } = this
let has = arrayObj[index].has
let url = arrayObj[index].url
if (plus.os.name=="Android") {
//安卓端
if(has){
plus.runtime.openURL(url)
}else{
plus.runtime.openURL(url)
}
}else{
//ios端
}
}