Android中直接打开高德APP进行导航

1、判断是否安装有高德APP

1//高德APPprivate PackageManager mPackageManager;private static List<String> mPackageNames = new ArrayList<>();private static final String GAODE_PACKAGE_NAME = "com.autonavi.minimap";private static final String BAIDU_PACKAGE_NAME = "com.baidu.BaiduMap";/*private double currLocationX = 39.9076860000;private double currLocationY = 116.4012450000;private double locationX = 40.0836620000;private double locationY = 116.4127900000;private String storeName = "北京饭店";*/private double currLocationX;//起点 纬度private double currLocationY;//起点 经度private double locationX;//终点 纬度private double locationY;//终点 经度private String storeName;//地点名称 if(haveGaodeMap()){//如果安装高德APP 2 openGaodeMapToGuide();//打开高德APP 3 } else {//否则 打开浏览器 4 openBrowserToGuide(); 5 }

2、

1/** 2 * 打开高德地图 3 * https://lbs.amap.com/api/amap-mobile/guide/android/route 4 */ 5 private void openGaodeMapToGuide() { 6 Intent intent = new Intent(); 7 intent.setAction(Intent.ACTION_VIEW); 8 intent.addCategory(Intent.CATEGORY_DEFAULT); 9 Log.i("高德定位:","经度:"+currLocationY+" ,纬度:"+currLocationX); 10 if (currLocationX == 0.0 || currLocationY == 0.0){ 11 url = "androidamap://route?sourceApplication=amap&dlat="+locationX+"&dlon="+locationY+"&dname="+storeName+"&dev=0&t=1"; 12 }else { 13 url = "androidamap://route?sourceApplication=amap&slat="+currLocationX+"&slon="+currLocationY 14 +"&dlat="+locationX+"&dlon="+locationY+"&dname="+storeName+"&dev=0&t=1"; 15 } 16 17 18 19 Uri uri = Uri.parse(url); 20 //将功能Scheme以URI的方式传入data 21 intent.setData(uri); 22 //启动该页面即可 23 startActivity(intent); 24 } 25 26 27 /** 28 * 打开浏览器 29 */ 30 private void openBrowserToGuide() { 31 String url = "http://uri.amap.com/navigation?to=" + locationY + "," + locationX + "," + 32 storeName + "&mode=car&policy=1&src=mypage&coordinate=gaode&callnative=0"; 33 Uri uri = Uri.parse(url); 34 Intent intent = new Intent(Intent.ACTION_VIEW, uri); 35 startActivity(intent); 36 } 37 38 39 40 41 42 public void initPackageManager(){ 43 List<PackageInfo> packageInfos = mPackageManager.getInstalledPackages(0); 44 if (packageInfos != null) { 45 for (int i = 0; i < packageInfos.size(); i++) { 46 mPackageNames.add(packageInfos.get(i).packageName); 47 } 48 } 49 } 50 51 /** 52 * 判断有无安装高德 53 * @return 54 */ 55 public boolean haveGaodeMap(){ 56 initPackageManager(); 57 return mPackageNames.contains(GAODE_PACKAGE_NAME); 58 }
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

vue 中使用高德地图, 地图选点

功能简述:网页版高德地图开发,主要支持地图选点(没做导航),搜索选点.(功能类似微信与好友聊天中的选择位置,发送位置,如下图)!(https://img2018.cnblogs.com/blog/1195136/201904/119513620190423112130558812176871.png)第一步:先成为高德地图的开发