夫子仰慕者
夫子仰慕者
  • 发布:2024-01-23 10:45
  • 更新:2024-01-23 10:45
  • 阅读:121

【报Bug】uniapp加入打开高德地图导航功能,本机未安装指定的地图应用

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: iOS13

HBuilderX类型: 正式

HBuilderX版本号: 3.99

手机系统: iOS

手机系统版本号: iOS 15

手机厂商: 苹果

手机机型: iOS

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

export function gomapApp(latitude, longitude, name) {
let url = '';
if (plus.os.name == 'Android') {
//判断是安卓端
plus.nativeUI.actionSheet(
{
//选择菜单
title: t('line.following.manage.select.map.app'), // '选择地图应用',
cancel: t('line.following.manage.cancel'), //'取消',
buttons: [
{
title: t('line.following.manage.tencent.maps'), // '腾讯地图'
},
{
title: t('line.following.manage.baidu.maps'), //'百度地图',
},
{
title: t('line.following.manage.amap'), //'高德地图',
},
],
},
function(e) {
switch (e.index) {
//下面是拼接url,不同系统以及不同地图都有不同的拼接字段
case 1:
//注意referer=xxx的xxx替换成你在腾讯地图开发平台申请的key
url = qqmap://map/geocoder?coord=${latitude},${longitude}&referer=xxx;
break;
case 2:
url = baidumap://map/marker?location=${latitude},${longitude}&title=${name}&coord_type=gcj02&src=andr.baidu.openAPIdemo;
break;
case 3:
url = androidamap://viewMap?sourceApplication=appname&poiname=${name}&lat=${latitude}&lon=${longitude}&dev=0;
break;
default:
break;
}
if (url != '') {
url = encodeURI(url);
//plus.runtime.openURL(url,function(e){})调起手机APP应用
plus.runtime.openURL(url, function(e) {
let remarks5 = t('line.following.manage.remarks5'); //本机未安装指定的地图应用
plus.nativeUI.alert(remarks5);
});
}
}
);
} else {
// iOS上获取本机是否安装了百度高德地图,需要在manifest里配置
// 在manifest.json文件app-plus->distribute->apple->urlschemewhitelist节点下添加
//(如urlschemewhitelist:["iosamap","baidumap"])
plus.nativeUI.actionSheet(
{
title: t('line.following.manage.select.map.app'), //'选择地图应用',
cancel: t('line.following.manage.cancel'), //'取消',
buttons: [
{
title: t('line.following.manage.tencent.maps'), // '腾讯地图'
},
{
title: t('line.following.manage.baidu.maps'), //'百度地图',
},
{
title: t('line.following.manage.amap'), //'高德地图',
},
],
},
function(e) {
switch (e.index) {
case 1:
url = qqmap://map/geocoder?coord=${latitude},${longitude}&referer=xxx;
break;
case 2:
url = baidumap://map/marker?location=${latitude},${longitude}&title=${name}&content=${name}&src=ios.baidu.openAPIdemo&coord_type=gcj02;
break;
case 3:
url = iosamap://viewMap?sourceApplication=applicationName&poiname=${name}&lat=${latitude}&lon=${longitude}&dev=0;
break;
default:
break;
}
if (url != '') {
url = encodeURI(url);
plus.runtime.openURL(url, function(e) {
let remarks5 = t('line.following.manage.remarks5'); //'本机未安装指定的地图应用'
plus.nativeUI.alert(remarks5);
});
}
}
);
}
}

操作步骤:

直接扫码安装必现,

预期结果:

在iOS环境下可以调用第三方地图

实际结果:

在iOS环境下无法调用第三方地图

bug描述:

在ios环境下,uniapp加入打开高德地图导航功能,本机未安装指定的地图应用,实际上高德百度和腾讯地图我都安装

2024-01-23 10:45 负责人:无 分享
已邀请:

要回复问题请先登录注册