Html5内唤醒百度、高德APP的实现示例


Posted in HTML / CSS onMay 20, 2019

前几天,联合黑卡反馈了一个需求,需要在H5中打开百度APP或者是高德APP,于是我在网上查了相关文档,下面放上链接: 1.高德地图 2.百度地图

具体思路就是点击选择地图的时候,先去请求APP链接,800毫秒后无响应,再跳转至H5链接。这样的做法有一点不好就是不管跳不跳APP,都会跳到H5的链接。有好的想法可以评论一下。

下面放相关代码:
 

function  ToggleAppAndH5( AppUrl , AppCallback = () => {}){
             // 先走APP
            const ifr = document.createElement('iframe');
                ifr.src = AppUrl;
                ifr.style.display = 'none';
                document.body.appendChild(ifr);
                setTimeout(function(){
                    document.body.removeChild(ifr);
                }, 3000);
            
                  // 800毫秒后调用H5链接
                let timer = setTimeout(function () {
                        clearTimeout(timer);
                        AppCallback();
                }, 800);
        
                window.onblur = function () {
                    clearInterval(timer);
                };
         }

        function Callback(){
           // 这里放相关H5链接
           if (mapType === 'baidu') {
              frameDom.attr('src', "http://api.map.baidu.com/direction?origin=latlng:"+  curLat +","+ curLng +"|name:"+ currAddr +"&destination=latlng:"+  elat +","+ elng +"|name:"+ eaddr +"®ion="+ cityName +"&mode=driving&output=html&src=com.youbei.chefu");
           } else if (mapType === 'amap') {
              frameDom.attr('src', "https://ditu.amap.com/dir?type=car&from[lnglat]="+ curLng +","+ curLat +"&from[name]="+currAddr+"&to[lnglat]="+ elng +","+ elat +"&to[name]="+eaddr+"&src=com.youbei.chefu");
           }
         }

         const u = navigator.userAgent;
         const isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端

1. 高德

// 苹果和安卓头部不一样
   let proto = isiOS ? 'iosamap://path' : 'amapuri://route/plan'  ;

   const AppUrl = proto + "?t= 0&slat="+curLat+"&slon="+curLng+"&sname="+currAddr+"&dlat="+elat+"&dlon="+elng+"&dname="+eaddr+"&src=xxx";

   ToggleAppAndH5(AppUrl,Callback)

2.百度

// 苹果和安卓头部不一样
   let proto = isiOS ? 'baidumap://'  : 'bdapp://' 

   const AppUrl = proto +  "map/direction?region="+cityName+"&origin=latlng:"+ curLat+","+ curLng +"|name:"+ currAddr +"&destination=latlng:"+ elat +","+ elng +"|name:"+ eaddr +"&coord_type=bd09ll&mode=driving&src=com.youbei.chefu";
   
   ToggleAppAndH5(AppUrl, Callback)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
CSS3轻松实现清新 Loading 效果的简单实例
Jun 06 HTML / CSS
纯css3(无图片/js)制作的几个社交媒体网站的图标
Mar 21 HTML / CSS
纯css3实现效果超级炫的checkbox复选框和radio单选框
Sep 01 HTML / CSS
深入剖析webstorage[html5的本地数据处理]
Jul 11 HTML / CSS
canvas学习笔记之绘制简单路径
Jan 28 HTML / CSS
canvas使用注意点总结
Jul 19 HTML / CSS
HTML5使用drawImage()方法绘制图像
Jun 23 HTML / CSS
Html5 语法与规则简要概述
Jul 29 HTML / CSS
html5将图片转换成base64的实例代码
Sep 21 HTML / CSS
Html5 APP中监听返回事件处理的方法示例
Mar 15 HTML / CSS
canvas进阶之如何画出平滑的曲线
Oct 15 HTML / CSS
HTML5页面嵌入小程序没有返回按钮及返回页面空白的问题
May 28 HTML / CSS
socket.io 和canvas 实现的共享画板功能
May 22 #HTML / CSS
Canvas 文字碰撞检测并抽稀的方法
May 27 #HTML / CSS
利用canvas实现图片下载功能来实现浏览器兼容问题
May 31 #HTML / CSS
HTML5印章绘制电子签章图片(中文英文椭圆章、中文英文椭圆印章)
Jun 03 #HTML / CSS
详解利用canvas实现环形进度条的方法
Jun 12 #HTML / CSS
Html5 实现微信分享及自定义内容的流程
Aug 20 #HTML / CSS
前端canvas动画如何转成mp4视频的方法
Jun 17 #HTML / CSS
You might like
德劲1104的电路分析与改良
2021/03/01 无线电
php可生成缩略图的文件上传类实例
2014/12/17 PHP
PHP几个实用自定义函数小结
2016/01/25 PHP
删除PHP数组中头部、尾部、任意元素的实现代码
2017/04/10 PHP
CSS心形加载的动画源码的实现
2021/03/09 HTML / CSS
js中eval()函数和trim()去掉字符串左右空格应用
2013/02/02 Javascript
form表单中去掉默认的enter键提交并绑定js方法实现代码
2013/04/01 Javascript
JavaScript栏目列表隐藏/显示简单实现
2013/04/03 Javascript
Javascript高级技巧分享
2014/02/25 Javascript
构造函数+原型模式构造js自定义对象(最通用)
2014/05/12 Javascript
javascript从作用域链谈闭包
2020/07/29 Javascript
javascript自动切换焦点控制效果完整实例
2016/02/02 Javascript
bootstrap中添加额外的图标实例代码
2017/02/15 Javascript
JS实现仿饿了么在浏览器标签页失去焦点时网页Title改变
2017/06/01 Javascript
Angular表格神器ui-grid应用详解
2017/09/29 Javascript
vue用BMap百度地图实现即时搜索功能
2019/09/26 Javascript
javascript严格模式详解(含严格模式与非严格模式的区别)
2019/11/12 Javascript
[01:02:48]2018DOTA2亚洲邀请赛小组赛 A组加赛 Newbee vs Liquid
2018/04/03 DOTA
详解Python中的array数组模块相关使用
2016/07/05 Python
Python简单检测文本类型的2种方法【基于文件头及cchardet库】
2016/09/18 Python
python绘制立方体的方法
2018/07/02 Python
Pandas之MultiIndex对象的示例详解
2019/06/25 Python
python 用 xlwings 库 生成图表的操作方法
2019/12/22 Python
python 数据类型强制转换的总结
2021/01/25 Python
自定义html标记替换html5新增元素
2008/10/17 HTML / CSS
canvas简易绘图的实现(海绵宝宝篇)
2018/07/04 HTML / CSS
Stubhub英国:购买体育、演唱会和剧院门票
2018/06/10 全球购物
有趣的流行文化T恤、马克杯、手机壳和更多:Look Human
2019/01/07 全球购物
经典演讲稿范文
2013/12/30 职场文书
哈弗商学院毕业生求职信
2014/02/26 职场文书
销售岗位职责范本
2014/06/12 职场文书
党员演讲稿
2014/09/04 职场文书
中标通知书格式
2015/04/17 职场文书
幼儿园校车安全责任书
2015/05/08 职场文书
技能培训通讯稿
2015/07/18 职场文书
python之PySide2安装使用及QT Designer UI设计案例教程
2021/07/26 Python