跳转到高德地图或百度地图或高德网页导航
最近做一个新项目,需要用到导航,项目集成了高德的SDK,所以本来想直接用SDK内的导航方法,但是发现高德最新版的导航改版了,如果SDK内加上导航模块会使得整个项目大十几二十M,所以决定弃用SDK内的导航,最终决定,采用以下方案:
1.当手机内有高德地图app时,调起此app来导航
2.当手机内有百度地图app时,调起此app来导航
3.当手机内既没有高德地图app,也没有百度地图app时,调起浏览器,进入高德网页导航
代码很简单,如下:
1.
判断是否安装了高德地图,若有则传入导航参数并调起:
if (isInstallApk(mContext, "com.autonavi.minimap")) {// 是否安装了高德Intent intents = new Intent();intents.setData(Uri.parse("androidamap://navi?sourceApplication=nyx_super&lat=" + wLatLng.latitude + "&lon=" + wLatLng.longitude + "&dev=0&style=2"));startActivity(intents); // 启动调用}
以上是uri内的参数说明,可根据自己的需求增加字段
高德关于此功能的网址:点这里
2.
判断是否安装了百度地图,若有则传入导航参数并调起:
if (isInstallApk(mContext, "com.baidu.BaiduMap")) {// 是否安装了百度地图Intent intent = new Intent();// 驾车导航intent.setData(Uri.parse("baidumap://map/navi?location=" + CommonUtils.bd_encrypt(wLatLng.latitude, wLatLng.longitude)));startActivity(intent); // 启动调用}
百度的此功能与高德不一样,不同的导航方式,其uri的前缀是不同的,具体可参考官网,网址如下:点这里
3.
当手机内既没有高德地图app,也没有百度地图app时,调起浏览器,进入高德网页导航
if (!isInstallApk(mContext, "com.autonavi.minimap")&&!isInstallApk(mContext, "com.baidu.BaiduMap")) {Intent intent = new Intent();intent.setAction("android.intent.action.VIEW");// 驾车导航intent.setData(Uri.parse("http://uri.amap.com/navigation?from=" + cLatLng.longitude + "," + cLatLng.latitude + "&to="+ wLatLng.longitude + "," + wLatLng.latitude + "&mode=car&src=nyx_super"));startActivity(intent); // 启动调用}
高德关于此功能的网址:点这里
最后把isInstallApk方法发出:
/** 判断手机中是否安装指定包名的软件 */public static boolean isInstallApk(Context context, String name) {List<PackageInfo> packages = context.getPackageManager().getInstalledPackages(0);for (int i = 0; i < packages.size(); i++) {PackageInfo packageInfo = packages.get(i);if (packageInfo.packageName.equals(name)) {return true;} else {continue;}}return false;}
看完如有帮助记得点赞
跳转到高德地图或百度地图或高德网页导航相关推荐
- 高德地图只显示一个省_浅谈当下各种导航软件:高德地图、百度地图、腾讯地图...
浅谈当下各种导航软件:高德地图.百度地图.腾讯地图,之前出门找不到路只能靠问路,现在我们生活中出现了各种各样的导航软件,甚至让用户出现了选择困难症,不知道选择哪一款软件比较号,在这里小编就要给大家来分 ...
- 高德h5地图api接口_html5通过腾讯地图、高德地图、百度地图开发api接口获取坐标对应的周边信息...
在通过 geolocation 获取到当前的 GPS 坐标后,需要通过"逆地理位置解析"才能得到街道对应的街道.建筑物.周边等相关信息. 下面我使用国内的三家主要的地图厂商(腾讯地 ...
- 高德地图和百度地图接口封装遇到的问题(三):参数集中插入参数以及引用未定义参数
1.向参数集中插入新参数: 由于要将高德地图和百度地图提供的方法封装成一个统一的方法,而对于某些功能来说可能传进来的参数个数不一样,比如下面的绘制折线功能: //高德地图// 折线的节点坐标数组,每个 ...
- 百度地图离线_“高德地图”和“百度地图”有什么差别? 专家: 细节决定成败!...
高德地图和百度地图是两款人气很高的导航软件,很多人想知道,高德地图和百度地图有什么不一样的.除了开发商的差异之外,在数据和功能上,它们也有很大不同.高德的导航功能非常强大,而百度的生活功能比较强悍. ...
- Windows Store Javascript项目使用高德地图、谷歌地图、百度地图API
Windows Store Javascript项目使用高德地图.谷歌地图.百度地图API 原文 Windows Store Javascript项目使用高德地图.谷歌地图.百度地图API 在Win8 ...
- 通过腾讯地图、高德地图、百度地图开发接口获取坐标对应的周边相关信息
通过腾讯地图.高德地图.百度地图开发接口获取坐标对应的周边相关信息 更新: 以前出于好意暴露了个人的KEY,现已被烂用.为不影响您的业务,请使用我的KEY的朋友去申请自己的KEY,我的KEY将在不久后 ...
- 百度地图infowindow的close事件_高德地图,百度地图,腾讯地图哪个更准?
先说结论 高德第一,百度第二,腾讯第三 这些地图商,他们是怎么知道"我家门口新开了一家咖啡店"这一事件的,并且标注上去还拍了照片呢?有些店新开了,有些店倒闭了,10年以前这条街上的 ...
- 百度地图手机和电脑不一致_手机能下载北斗星导航吗?比高德地图和百度地图好用吗?...
点蓝色字关注"长春大V" 大家一定要记住一个事实:北斗导航是一个提供导航.定位.授时以及短报文通信服务的系统,而不是一个地图,更不是一个手机APP.这是两个完全不同的概念,大家千万 ...
- 高德地图哪个语音包最好_高德地图VS百度地图,哪个更靠谱?
国庆出行选择一个好的导航是非常有必要的,百度地图和高德地图都是我们最常用的手机导航软件,那么它们到底哪个更靠谱,更适合我们呢? 1.界面设计 从首页来看,高德的画面更简洁易懂,搜索框在下面,子菜单有驾 ...
- 高德地图路径轨迹起点标点不变_竞品分析之高德地图与百度地图
1.产品概述 产品解读 高德地图与百度地图均属地图导航类APP,两家slogan如下: 高德:精准地图,旅游出行必备 百度:路线规划,出行必备 地图导航类APP的核心价值即为用户提供位置及路线服务.笔 ...
最新文章
- 初学者编写python用什么软件好_初学者编写python用什么软件
- [crypto]-51-RSA私钥pem转换成der, 在将der解析出n e d p q dp dq qp
- hdu 3879(最小割模型求解最大权闭合图)
- python+selenium自动化测试——浏览器驱动
- 经典C语言程序100例之四二
- Docker Swarm bind 数据持久化
- 2018.09.18 while循环
- Java基础- super 和 this 解析
- pytorch 语义分割loss_vedaseg:基于pytorch的开源语义分割工具库,更多模型支持,更易拓展...
- 前端开发人员所必备的十大技能
- 同事操作两个数据源保持事务一致_微服务分布式事务4种解决方案实战
- 全方位打造最强终端(iterm2 + oh my zsh)
- mavon-editor文本编辑器初体验(一)
- 全屏 虚拟机_不用虚拟机直接在线用的 Linux,统统都在这里!
- 关闭浏览器后Session失效原因分析
- 盘点Hadoop生态圈:13个让大象飞起来的开源工具
- iwanna用哪个计算机语言,IwannabetheCreator电脑版
- CLR via C#:与WinRT组件互操作
- wow7.1 xd 新手教程
- 德州学院大学计算机,德州学院 计算机系 李天志老师简介 联系方式 手机电话 邮箱...