diff --git a/manifest.json b/manifest.json index bc7c649..532934d 100644 --- a/manifest.json +++ b/manifest.json @@ -71,6 +71,9 @@ } } }, + "apple":{ + "urlschemewhitelist":["iosamap"] + }, "splashscreen" : { "useOriginalMsgbox" : true }, diff --git a/pages/logistics/deliveryDetil.vue b/pages/logistics/deliveryDetil.vue index bce3487..9eb8690 100644 --- a/pages/logistics/deliveryDetil.vue +++ b/pages/logistics/deliveryDetil.vue @@ -101,6 +101,7 @@ import { takeGoods } from "@/api/logistics.js" +import { Toast } from "../../libs/uniApi"; export default { data() { return { @@ -165,35 +166,82 @@ // 唤起高德 test() { - if (this.is_captain) return - var packageName = 'com.autonavi.minimap'; - var main = plus.android.runtimeMainActivity(); - var packageManager = main.getPackageManager(); - var PackageManager = plus.android.importClass(packageManager) - var packageInfo = packageManager.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES); - if (packageInfo) { - var Uri = plus.android.importClass("android.net.Uri"); - var url = - `amapuri://route/plan?sourceApplication=maxuslife+ - &sid=A&slat=36.702558&slon=116.876678&sname=我的位置&did=B&dlat=${this.markers[0].latitude}&dlon=${this.markers[0].longitude}&dname=${this.goodsDetil.logistics.shop_name}&dev=0&t=0`; - var Intent = plus.android.importClass('android.content.Intent'); - var intent = new Intent(); - intent.setAction(Intent.ACTION_VIEW); - intent.addCategory(Intent.CATEGORY_DEFAULT); - var uri = Uri.parse(url); - //将功能Scheme以URI的方式传入data - intent.setData(uri); - intent.setPackage("com.autonavi.minimap"); - var main = plus.android.runtimeMainActivity(); - main.startActivity(intent); - } else { - // alert('未安装' + packageName + '') - uni.showToast({ - title: `只支持高德地图`, - icon: 'none' - }) - } - console.log("唤醒高德线路规划") + if (this.is_captain) return; + let that = this; + uni.getSystemInfo({ + success(e) { + if(e.platform ==='ios'){ + // Toast('不支持'); + // iOS上获取本机是否安装了百度高德地图,需要在manifest里配置 + // 在manifest.json文件app-plus->distribute->apple->urlschemewhitelist节点下添加 + //(如urlschemewhitelist:["iosamap","baidumap"]) + plus.nativeUI.actionSheet({ + title: "选择地图应用", + cancel: "取消", + buttons: [{title: "高德地图"}] + }, function(e) { + if(e.index!=1)return; + try{ + let url = `iosamap://viewMap?sourceApplication=applicationName&poiname=${that.goodsDetil.logistics.shop_name}&lat=${that.markers[0].latitude}&lon=${that.markers[0].longitude}&dev=0`; + if (url != "") { + url = encodeURI(url); + plus.runtime.openURL(url, function(e) { + plus.nativeUI.alert("本机未安装指定的地图应用"); + }); + } + }catch(e){ + console.log(e); + Toast('暂不支持唤起地图') + } + }) + } + else { + plus.nativeUI.actionSheet({ + title: "选择地图应用", + cancel: "取消", + buttons: [{title: "高德地图"}] + }, function(e) { + if(e.index!=1)return; + try{ + var packageName = 'com.autonavi.minimap'; + var main = plus.android.runtimeMainActivity(); + var packageManager = main.getPackageManager(); + var PackageManager = plus.android.importClass(packageManager) + var packageInfo = packageManager.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES); + if (packageInfo) { + var Uri = plus.android.importClass("android.net.Uri"); + var url = + `amapuri://route/plan?sourceApplication=maxuslife+ + &sid=A&slat=36.702558&slon=116.876678&sname=我的位置&did=B&dlat=${that.markers[0].latitude}&dlon=${that.markers[0].longitude}&dname=${that.goodsDetil.logistics.shop_name}&dev=0&t=0`; + var Intent = plus.android.importClass('android.content.Intent'); + var intent = new Intent(); + intent.setAction(Intent.ACTION_VIEW); + intent.addCategory(Intent.CATEGORY_DEFAULT); + var uri = Uri.parse(url); + //将功能Scheme以URI的方式传入data + intent.setData(uri); + intent.setPackage("com.autonavi.minimap"); + var main = plus.android.runtimeMainActivity(); + main.startActivity(intent); + } + else { + // alert('未安装' + packageName + '') + uni.showToast({ + title: `只支持高德地图`, + icon: 'none' + }) + } + console.log("唤醒高德线路规划") + }catch(e){ + console.log(e); + Toast('启动出错') + } + + }); + + } + } + }) }, showToast() { this.$refs.uToast.show({ diff --git a/static/img/logistics/SL.png b/static/img/logistics/SL.png new file mode 100644 index 0000000..daff9f1 Binary files /dev/null and b/static/img/logistics/SL.png differ diff --git a/subpkg/property/vehicle.vue b/subpkg/property/vehicle.vue index bf7ffbd..1c01c24 100644 --- a/subpkg/property/vehicle.vue +++ b/subpkg/property/vehicle.vue @@ -113,7 +113,7 @@ id: 2, latitude: undefined, longitude: undefined, - iconPath: '../../static/img/logistics/QS.png', //显示的图标 + iconPath: '../../static/img/logistics/SL.png', //显示的图标 } ], polyline: [],