最近做一个新项目,需要用到导航,项目集成了高德的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;}

看完如有帮助记得点赞

跳转到高德地图或百度地图或高德网页导航相关推荐

  1. 高德地图只显示一个省_浅谈当下各种导航软件:高德地图、百度地图、腾讯地图...

    浅谈当下各种导航软件:高德地图.百度地图.腾讯地图,之前出门找不到路只能靠问路,现在我们生活中出现了各种各样的导航软件,甚至让用户出现了选择困难症,不知道选择哪一款软件比较号,在这里小编就要给大家来分 ...

  2. 高德h5地图api接口_html5通过腾讯地图、高德地图、百度地图开发api接口获取坐标对应的周边信息...

    在通过 geolocation 获取到当前的 GPS 坐标后,需要通过"逆地理位置解析"才能得到街道对应的街道.建筑物.周边等相关信息. 下面我使用国内的三家主要的地图厂商(腾讯地 ...

  3. 高德地图和百度地图接口封装遇到的问题(三):参数集中插入参数以及引用未定义参数

    1.向参数集中插入新参数: 由于要将高德地图和百度地图提供的方法封装成一个统一的方法,而对于某些功能来说可能传进来的参数个数不一样,比如下面的绘制折线功能: //高德地图// 折线的节点坐标数组,每个 ...

  4. 百度地图离线_“高德地图”和“百度地图”有什么差别? 专家: 细节决定成败!...

    高德地图和百度地图是两款人气很高的导航软件,很多人想知道,高德地图和百度地图有什么不一样的.除了开发商的差异之外,在数据和功能上,它们也有很大不同.高德的导航功能非常强大,而百度的生活功能比较强悍. ...

  5. Windows Store Javascript项目使用高德地图、谷歌地图、百度地图API

    Windows Store Javascript项目使用高德地图.谷歌地图.百度地图API 原文 Windows Store Javascript项目使用高德地图.谷歌地图.百度地图API 在Win8 ...

  6. 通过腾讯地图、高德地图、百度地图开发接口获取坐标对应的周边相关信息

    通过腾讯地图.高德地图.百度地图开发接口获取坐标对应的周边相关信息 更新: 以前出于好意暴露了个人的KEY,现已被烂用.为不影响您的业务,请使用我的KEY的朋友去申请自己的KEY,我的KEY将在不久后 ...

  7. 百度地图infowindow的close事件_高德地图,百度地图,腾讯地图哪个更准?

    先说结论 高德第一,百度第二,腾讯第三 这些地图商,他们是怎么知道"我家门口新开了一家咖啡店"这一事件的,并且标注上去还拍了照片呢?有些店新开了,有些店倒闭了,10年以前这条街上的 ...

  8. 百度地图手机和电脑不一致_手机能下载北斗星导航吗?比高德地图和百度地图好用吗?...

    点蓝色字关注"长春大V" 大家一定要记住一个事实:北斗导航是一个提供导航.定位.授时以及短报文通信服务的系统,而不是一个地图,更不是一个手机APP.这是两个完全不同的概念,大家千万 ...

  9. 高德地图哪个语音包最好_高德地图VS百度地图,哪个更靠谱?

    国庆出行选择一个好的导航是非常有必要的,百度地图和高德地图都是我们最常用的手机导航软件,那么它们到底哪个更靠谱,更适合我们呢? 1.界面设计 从首页来看,高德的画面更简洁易懂,搜索框在下面,子菜单有驾 ...

  10. 高德地图路径轨迹起点标点不变_竞品分析之高德地图与百度地图

    1.产品概述 产品解读 高德地图与百度地图均属地图导航类APP,两家slogan如下: 高德:精准地图,旅游出行必备 百度:路线规划,出行必备 地图导航类APP的核心价值即为用户提供位置及路线服务.笔 ...

最新文章

  1. 初学者编写python用什么软件好_初学者编写python用什么软件
  2. [crypto]-51-RSA私钥pem转换成der, 在将der解析出n e d p q dp dq qp
  3. hdu 3879(最小割模型求解最大权闭合图)
  4. python+selenium自动化测试——浏览器驱动
  5. 经典C语言程序100例之四二
  6. Docker Swarm bind 数据持久化
  7. 2018.09.18 while循环
  8. Java基础- super 和 this 解析
  9. pytorch 语义分割loss_vedaseg:基于pytorch的开源语义分割工具库,更多模型支持,更易拓展...
  10. 前端开发人员所必备的十大技能
  11. 同事操作两个数据源保持事务一致_微服务分布式事务4种解决方案实战
  12. 全方位打造最强终端(iterm2 + oh my zsh)
  13. mavon-editor文本编辑器初体验(一)
  14. 全屏 虚拟机_不用虚拟机直接在线用的 Linux,统统都在这里!
  15. 关闭浏览器后Session失效原因分析
  16. 盘点Hadoop生态圈:13个让大象飞起来的开源工具
  17. iwanna用哪个计算机语言,IwannabetheCreator电脑版
  18. CLR via C#:与WinRT组件互操作
  19. wow7.1 xd 新手教程
  20. 德州学院大学计算机,德州学院 计算机系 李天志老师简介 联系方式 手机电话 邮箱...

热门文章

  1. TiDB集群手动安装
  2. 装完虚拟机后键盘无法使用
  3. SQLException:no opration allowed after statement closed问题排查
  4. Unity Shader - 基础光照之漫反射
  5. 鼠标悬停放大图片特效
  6. IoT-Fast支持C#啦!教你对接HslCommunication
  7. java 检查 死链接_如何检查网站死链(网站死链接如何简易识别及处理)
  8. 高通WLAN框架学习(3)- -WLAN FTM 模式
  9. 新冠病毒对计算机的影响,人工智能给新冠病毒分类
  10. 每天学一点 mysql