Eiby
Eiby
  • 发布:2017-03-12 18:24
  • 更新:2019-01-14 18:40
  • 阅读:1551

【报Bug】IOS使用openURL打开百度地图有问题

分类:Native.js

详细问题描述
[内容]
function openBMap(lon, lat, title, address) {
var url=null,id=null,f=null;
address = address == ''? title: address;
switch ( plus.os.name ) {
case "Android":
// 规范参考官方网站:http://developer.baidu.com/map/index.php?title=uri/api/android
url = "baidumap://map/marker?location=" + lat + "," + lon + "&title=" + title + "&content=" + address + "&src=wz";
f = androidMarket;
id = "com.baidu.BaiduMap";
break;
case "iOS":
// 规范参考官方网站:http://developer.baidu.com/map/index.php?title=uri/api/ios
url = "baidumap://map/marker?location=" + lat.toFixed(6) + "," + lon.toFixed(6) + "&title=" + title + "&content=" + address + "&src=wz";
// url = "baidumap://map/marker?location=39.968789,116.347247&title=DCloud&content=%e6%89%93%e9%80%a0HTML5%e6%9c%80%e5%a5%bd%e7%9a%84%e7%a7%bb%e5%8a%a8%e5%bc%80%e5%8f%91%e5%b7%a5%e5%85%b7&src=HelloH5";
f = iosAppstore;
id = "itunes.apple.com/cn/app/bai-du-de-tu-yu-yin-dao-hang/id452186370?mt=8";
break;
default:
return;
break;
}
url = encodeURI(url); //重点在这一句,如果不加,android没问题,但是ios打不开,每次提示未安装,所以同学们要注意了
console.log(url);
plus.runtime.openURL( url, function(e) {
plus.nativeUI.confirm( "检查到您未安装百度地图,是否到商城搜索下载?", function(i){
if ( i.index == 0 ) {
f(id);
}
} );
} );
}
真机调试可以,但是打包之后问题依然存在,目前还不知道问题在哪,非常奇怪。

重现步骤
[步骤]
[结果]
[期望]

运行环境
[系统版本]
[浏览器版本]
[IDE版本]
[mui版本]

附件
[代码片段]
[安装包]

联系方式
[QQ]
298114
[电话]
13316560478

2017-03-12 18:24 负责人:无 分享
已邀请:
9***@qq.com

9***@qq.com

此问题仍然存在

  • 回梦無痕

    这本身就不是问题。。在做唤醒APP时候一般都是先进行编码


    2019-01-11 15:02

  • 9***@qq.com

    关键是我编码后还是不行,我直接打开:baidumap:// 都不可以,真机调试一切正常,云打包后就不行了,设置了urlschemewhitelist还是不行,用的hbuilderx打包的


    2019-01-11 15:07

M2

M2

"urlschemewhitelist":[ //iOS9调用第三方应用urlscheme白名单 ios 不配置这个,打不开地图app
"baidumap",
"iosamap"
],

该问题目前已经被锁定, 无法添加新回复