调用第三方地图app导航(高德、百度、腾讯)
当前位置导航到某个地方,还可以设置出发地的经纬度和位置信息,具体看各官网参数设置。
以下代码可以直接使用。
/*** Date: 2022-11-23* Author: lanzi* 调用第三方地图app导航*/
public class MapNavigationUtils {public static final String PN_GAODE_MAP = "com.autonavi.minimap";// 高德地图包名public static final String PN_BAIDU_MAP = "com.baidu.BaiduMap"; // 百度地图包名public static final String PN_TENCENT_MAP = "com.tencent.map"; // 腾讯地图包名/*** 检查地图应用是否安装*/public static boolean isGaodeMapInstall(Context context) {return isInstallPackage(context, PN_GAODE_MAP);}public static boolean isBaiduMapInstall(Context context) {return isInstallPackage(context, PN_BAIDU_MAP);}public static boolean isTencentMapInstall(Context context) {return isInstallPackage(context, PN_TENCENT_MAP);}private static boolean isInstallPackage(Context context, String packageName) {try {PackageManager packageManager = context.getPackageManager();PackageInfo info = packageManager.getPackageInfo(packageName, 0);if (info != null) {return true;}} catch (Exception e) {// loge(e);}return false;}/*** 打开高德地图导航(https://lbs.amap.com/api/amap-mobile/guide/android/route)** @param context context* @param address 终点名称* @param latitude 终点纬度* @param longitude 终点经度*/public static void openGaodeNavigation(Context context, String address, double latitude, double longitude) {if (isGaodeMapInstall(context)) {Uri uri = Uri.parse("amapuri://route/plan/?dlat=" + latitude+ "&dlon=" + longitude+ "&dname=" + address+ "&dev=0&t=0");Intent intent = new Intent(Intent.ACTION_VIEW, uri);context.startActivity(intent);} else {Toast.makeText(context, "未安装高德地图", Toast.LENGTH_LONG).show();}}/*** 打开百度地图导航(https://lbsyun.baidu.com/index.php?title=uri/api/android#service-page-anchor9)** @param context context* @param address 终点名称* @param latitude 终点纬度* @param longitude 终点经度*/public static void openBaiduNavigation(Context context, String address, double latitude, double longitude) {if (isBaiduMapInstall(context)) {String dLatlng = latitude + "," + longitude; // 目的地坐标(注意:坐标先纬度,后经度)Uri uri = Uri.parse("baidumap://map/direction?origin=我的位置"+ "&destination=name:" + address+ "|latlng:" + dLatlng+ "&coord_type=gcj02&mode=driving&src=andr.baidu.openAPIdemo");Intent intent = new Intent(Intent.ACTION_VIEW, uri);context.startActivity(intent);} else {Toast.makeText(context, "未安装百度地图", Toast.LENGTH_LONG).show();}}/*** 打开腾讯地图导航(https://lbs.qq.com/webApi/uriV1/uriGuide/uriMobileRoute)** @param context context* @param address 终点名称* @param latitude 终点纬度* @param longitude 终点经度*/public static void openTencentNavigation(Context context, String address, double latitude, double longitude) {if (isTencentMapInstall(context)) {String dLatlng = latitude + "," + longitude;Uri uri = Uri.parse("qqmap://map/routeplan?type=drive&from=我的位置&fromcoord=CurrentLocation"+ "&to=" + address+ "&tocoord=" + dLatlng+ "&referer=key"); // key:填写你自己的腾讯地图开发者keyIntent intent = new Intent(Intent.ACTION_VIEW, uri);context.startActivity(intent);} else {Toast.makeText(context, "未安装腾讯地图", Toast.LENGTH_LONG).show();}}
}
注:腾讯地图需要申请一个开发者key
添加权限
<uses-permissionandroid:name="android.permission.QUERY_ALL_PACKAGES"tools:ignore="QueryAllPackagesPermission" />
由于权限限制,在安卓12上若不加这个权限会请求不到
调用第三方地图app导航(高德、百度、腾讯)相关推荐
- IOS 调用第三方地图APP导航
在开发中调用第三方APP进行路径规划,在此过程中不需要导入所调用地图的SDK,本文中只介绍调用百度地图.高德地图以及苹果自身地图APP. 在本项目中我用的是百度地图编码获取的百度经纬度坐标,而在开发过 ...
- iOS之Swift实现调用第三方地图应用导航
iOS之Swift实现调用第三方地图应用导航 开始的一些话 关于坐标系 源码 调用方法 一点注意事项 开始的一些话 作为一个"半路出家"的iOS的程序猿,一直使用OC开发,也想过使 ...
- Android仿高德地图app,Android仿微信调用第三方地图应用导航(高德、百度、腾讯)...
好久没有写Andorid代码啦!最近刚好要实现一个这个功能,顺便就在博客里分享一下. 实现目标 先来一张微信功能截图看看要做什么 其实就是有一个目的地,点击目的地的时候弹出可选择的应用进行导航. 大脑 ...
- Android仿微信调用第三方地图应用导航(高德、百度、腾讯)
好久没有写Andorid代码啦!最近刚好要实现一个这个功能,顺便就在博客里分享一下. 实现目标 先来一张微信功能截图看看要做什么 其实就是有一个目的地,点击目的地的时候弹出可选择的应用进行导航. 大脑 ...
- 微信公众号,JS-SDK获取位置信息,并调起第三方地图App导航
微信公众号关联网页获取位置信息,可以参照<微信公众平台技术文档>-> 微信JS-SDK说明文档,官方链接地址:https://mp.weixin.qq.com/wiki?t=reso ...
- Android 调用第三方地图进行导航
前言 最近项目中需要实现定位导航到某个目的地去.看网上说有人集成了某些平台的sdk进行导航操作.其实可以不用集成sdk文档(只是针对要导航到xx地方去的业务需求,只需要知道当前位置和目的地的坐标即可. ...
- Android app唤醒第三方地图App进行导航(高德,百度,腾讯)
根据项目需要 要添加导航功能 由于我的app 的内部已经做了地图和路线规划 同时为了使用用户的使用习惯 我选择了第三方导航 选择用户已有地图软件进行路线规划和导航 我选择的是目前的主流地图app平台 ...
- Android 打开第三方地图App进行导航
Ⅰ.前言 接到产品新需求,模仿高德地图APP通过搜索关键词,在地图标识附近区域内 "关键词"所搜到的点,地图和列表之间有抽屉似的效果,具体的看下面效果图.而打开第三方地图APP进行 ...
- android app调用第三方地图路线规划导航(百度,高德,腾讯)
android app调用第三方地图路线规划导航(百度,高德,腾讯) 因为直接使用高德的sdk提供的导航被投诉说不准,所以需要接第三方. 把BAT系的地图都接上了,有兄弟找到其他的地图调用方法告诉下小 ...
最新文章
- 算法导论之红黑树的学习
- mysql暂停触发器_mysql如何临时禁用触发器
- GNS3 搭配 secureCRT 安装配置与使用心得
- Codeforces Round #277(Div 2) A、B、C、D、E题解
- 当Typora开始收费,开源免费的MarkText编辑器火了:一周新增2k+star
- sql建立到mysql的会话_SQLalchemy会话和多个数据库尝试创建twi索引
- 智慧楼宇管理后台、运维配置、设备台账、设备管理、维保统计、巡检统计、维修工单、报修统计、电子巡更、智能楼宇运营、运营后台、智慧社区、楼宇设备监控管理端、智能社区管理系统、楼宇运维管理系统
- 计蒜客网站 ACM-ICPC亚洲区赛题
- Decorator模式设计模式
- 通过分析如何一个人的性格笔迹?
- jQuery淡入淡出
- 信号与系统奥本海姆第二版课后习题答案与详解(免下载,附有知识总结)
- 欧拉-拉格朗日方程(The Euler-Lagrange equation)
- CDN的加速域名、源站地址与回源host之间的关系
- 计算机使用的dns错误,dns错误,教您dns错误怎么修复
- 一年回顾_2016年:一年回顾
- 【2015NOIP模拟】【Ocd】【Mancity】【Captcha】10.31总结
- 计算机英语期末考试方案,【计算机英语论文】计算机实训考核方法改革方案(共4649字)...
- win10键盘全部没反应_win10笔记本键盘全部没反应 win10键盘全部没反应解决方法...
- 判了!微信外挂软件“海贼王”主犯获刑10年
热门文章
- 如何实现一个下载进度条/播放进度条
- java图片路径根目录_java 相对路径 绝对路径 classes bin 根目录
- fuse文件系统调试环境
- HTTP 204和304的区别
- Springboot项目install打包-某些输入文件使用了未经检查或不安全的操作。分析与解决
- 基于javaweb+jsp的网上商城系统(java+jsp+servlet+mysql+ajax)
- 支付宝当面付实现跳转到指定网页唤起支付
- 【财经期刊FM-Radio|2020年11月19日】
- Matlab 实现 数值计算方法 二分法
- 2018年研究生数学建模竞赛B题(数模竞赛第二题思路)