大家在开发中实现多套地图实现导航功能,导入sdk会增大APK体积,且繁琐,但是在代码可以通过Intent就可以直接调用百度地图客户端、高德地图客户端、Google 地图客户端实现导航功能!话不多说直接上代码吧,浅显易懂!
地图官方公开URI API如下:
百度地图:http://lbsyun.baidu.com/index.php?title=uri/api/android
高德地图:http://lbs.amap.com/api/uri-api/guide/android-uri-explain/navi/
谷歌地图:https://developers.google.com/maps/documentation/android-api/intents
1.判断是否安装该地图

 private boolean isInstallByread(String packageName) {return new File("/data/data/" + packageName).exists();}

2.启用高德地图进行导航

 /*** 启动高德App进行导航* sourceApplication 必填 第三方调用应用名称。如 amap* poiname           非必填 POI 名称* dev               必填 是否偏移(0:lat 和 lon 是已经加密后的,不需要国测加密; 1:需要国测加密)* style             必填 导航方式(0 速度快; 1 费用少; 2 路程短; 3 不走高速;4 躲避拥堵;5 不走高速且避免收费;6 不走高速且躲避拥堵;7 躲避收费和拥堵;8 不走高速躲避收费和拥堵))*/private void openGaoDeNavi() {StringBuffer stringBuffer = new StringBuffer("androidamap://navi?sourceApplication=").append("yitu8_driver").append("&lat=").append(lat).append("&lon=").append(lng).append("&dev=").append(1).append("&style=").append(0);;
//        if (!TextUtils.isEmpty(poiname)) {
//            stringBuffer.append("&poiname=").append(poiname);
//        }Intent intent = new Intent(Intent.ACTION_VIEW, android.net.Uri.parse(stringBuffer.toString()));intent.addCategory(Intent.CATEGORY_DEFAULT);intent.setPackage("com.autonavi.minimap");startActivity(intent);}

3.打开百度地图客户端进行导航

 /*** 打开百度地图导航客户端* intent = Intent.getIntent("baidumap://map/navi?location=34.264642646862,108.95108518068&type=BLK&src=thirdapp.navi.you* location 坐标点 location与query二者必须有一个,当有location时,忽略query* query    搜索key   同上* type 路线规划类型  BLK:躲避拥堵(自驾);TIME:最短时间(自驾);DIS:最短路程(自驾);FEE:少走高速(自驾);默认DIS*/private void openBaiduNavi() {StringBuffer stringBuffer = new StringBuffer("baidumap://map/navi?location=").append(lat).append(",").append(lng).append("&type=TIME");Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(stringBuffer.toString()));intent.setPackage("com.baidu.BaiduMap");startActivity(intent);}

4.打开手机浏览器即Google Web进行导航

     /*** 打开google Web地图导航*/private void openWebGoogleNavi() {StringBuffer stringBuffer = new StringBuffer("http://ditu.google.cn/maps?hl=zh&mrt=loc&q=").append(lat).append(",").append(lng);Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(stringBuffer.toString()));startActivity(i);}

5.打开Google 地图客户端进行导航

    /*** 打开google地图客户端开始导航* q:目的地* mode:d驾车 默认*/private void openGoogleNavi() {StringBuffer stringBuffer = new StringBuffer("google.navigation:q=").append(lat).append(",").append(lng).append("&mode=d");Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(stringBuffer.toString()));i.setPackage("com.google.android.apps.maps");startActivity(i);}

6.未安装地图,跳转商店

(1)百度地图
//market为路径,id为包名
//显示手机上所有的market商店
Toast.makeText(context, "您尚未安装百度地图", Toast.LENGTH_LONG).show();
Uri uri = Uri.parse("market://details?id=com.baidu.BaiduMap");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
(2)高德地图
Toast.makeText(context, "您尚未安装高德地图", Toast.LENGTH_LONG).show();
Uri uri = Uri.parse("market://details?id=com.autonavi.minimap");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
(3)Google地图
Toast.makeText(context, "您尚未安装谷歌地图", Toast.LENGTH_LONG).show();
Uri uri = Uri.parse("market://details?id=com.google.android.apps.maps");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);

安卓通过经纬度,实现intent调用百度,高德,Google地图客户端实现驾车导航功能相关推荐

  1. 腾讯 百度 高德 Google 地图导航 实现

    最近做地图导航功能,顾实现这四种地图导航功能,代码如下: 高德地图代码: public static void openGaoDeMap(Context context, String name, S ...

  2. 高德,百度,Google地图定位偏移以及坐标系转换

    本文引用地址 一.地图坐标系解释 在进行地图开发过程中,我们一般能接触到以下三种类型的地图坐标系: WGS-84原始坐标系,一般用国际GPS纪录仪记录下来的经纬度,通过GPS定位拿到的原始经纬度,Go ...

  3. Matlab调用百度API画地图讲解教程

    1-4环境搭建步骤参考之前写的博客,看完了记得回来呀,链接如下: https://blog.csdn.net/zzx2016zzx/article/details/87976720 5.直接丢代码绘图 ...

  4. 百度高德离线地图二次开发入门步骤

                  1.搭建离线地图开发环境               2.下载离线地图数据(金字塔瓦片数据)               3.离线地图二次开发接口(离线地图API)     ...

  5. 百度、GOOGLE地图纠偏及基站查询相关说明

    地图纠偏 基站查询相关说明 纠偏数据库分3个等级,0.1 大概500多米的偏差,0.01 保证10米内偏差,0.001 保证2米内偏差 本站有谷歌0.01和0.001纠偏数据库,百度0.01纠偏数据库 ...

  6. AR+LBS街景实景红包PokemonGo游戏捉妖夺宝营销解决方案定制开发暨百度高德地图Unity插件SDK

    AR+LBS街景实景红包PokemonGo游戏捉妖夺宝营销解决方案定制开发暨百度高德地图Unity插件SDK 作者 komstone https://blog.csdn.net/komstone/ar ...

  7. AR+LBS街景实景红包PokemonGo游戏捉妖夺宝营销解决方案暨百度高德地图Unity插件SDK

    1.AR+LBS街景实景红包.游戏.营销等解决方案 2.AR街景实景+百度高德LBS地图Unity插件SDK [3D/AR/VR/全息互动投影视觉开发] 近年来,全球玩家对于知名游戏Pokemon G ...

  8. [TomTom]安卓汉化版v1.3,中国及海外地图懒人包

    首先,强烈感谢voodoo 大师和 headspring 大侠的无私奉献,让大家能够继续享用TomTom导航汉化版!今年夏初TomTom安卓版升级为TomTom v1.3,新版的主要改进:一是通过菜单 ...

  9. 百度高德位置定位服务器,调用百度、高德地图App,百度地图网页版,App定位

    1.首先判断是否安装了目标地图App //判断是否安装目标应用 public static boolean isInstallByread(String packageName) { return n ...

  10. Android 地图导航调用百度地图、高德地图、腾讯地图

    效果图 前言 为什么调用第三方呢?集成在App里面不行吗? 接入导航SDK,以百度为例,apk包体积能增加小几十兆之多,上一版本还是几兆的apk,迭代一版本直接几十兆了,落差之大,难以接受. 虽说当下 ...

最新文章

  1. Java Properties 类读取配置文件信息
  2. asp.net调用opencv类库,实现图像处理显示
  3. 查看.Net Framework版本号
  4. 康宁玻璃ct值计算公式_CT原理(一)
  5. 蓝桥杯_算法训练_大小写转换
  6. 一石二鸟:推荐系统多目标任务建模方法
  7. 渗透测试中dns log的使用
  8. java中什么是task_20171018java总结——Spring任务调度task:scheduled-tasks
  9. js 异步执行_js执行过程你了解多少?
  10. 2019.11软考软件设计师归来心得体会及复习备考指南
  11. python图片马赛克_利用Python对图片进行马赛克处理
  12. 怎么将flv视频转换成mp4格式
  13. 马云:中国企业不缺创新缺管理思想
  14. Pyramidal Convolution: Rethinking Convolutional Neural Networks for Visual Recognition阅读笔记
  15. 百度阅读赚钱秘法 人人皆可操作
  16. python的标识库和第三方库_Python 标准库、第三方库
  17. RNA 10. SCI 文章中基因表达富集之 KEGG 注释
  18. c3po数据库连接池简单配置
  19. 如何成为一名优秀的网络工程师?
  20. 移动端调试 chrome://inspect/#devices 钉钉开发Android调试微应用

热门文章

  1. 解决引用微信公众号获取的图片不能正常显示的问题,显示改图片来自微信公众号
  2. 思科服务器如何进入网站,思科路由器怎么进入设置网站
  3. 国际人工智能领域著名科学家,受聘同济大学名誉教授
  4. Android应用安全检测项目
  5. mysql临时表关联查询_MySQL如何执行关联查询
  6. mysql mariadb libs_mysql 安装 【解决】mariadb-libs is obsoleted by *** - Ctrl+CCtrl+V - ITeye博客...
  7. Unity 简单RPG对话系统——龙之谷2的NPC对话系统
  8. PDF格式转JPG格式怎么转?掌握方法其实很简单
  9. uniapp iOS打包
  10. 印度IT行业普遍高薪-印度互联网泡沫判断