开启第三方地图(高德)
来源:互联网 发布:期货交易策略测试软件 编辑:程序博客网 时间:2024/04/30 01:23
public class OpenGDMapUtil { /** * * @param mActivity 上下文 * @param sLatLng 开始点的坐标 * @param sPosition 开锁的位置 * @param ePosition 结束的位置 * @param eLatlng 结束的坐标 * @param type 行走的类型,车,步行,公交 */ public static void startNaviGao(Activity mActivity , LatLng sLatLng, String sPosition, String ePosition, LatLng eLatlng, String type) { if (isAvilible(mActivity, "com.autonavi.minimap")) { openAppMap(mActivity ,sLatLng.latitude,sLatLng.longitude ,sPosition,eLatlng.latitude,eLatlng.longitude,ePosition); } else { openWebGDNavi(mActivity, sPosition,sLatLng.latitude,sLatLng.longitude,ePosition,eLatlng.latitude ,eLatlng.longitude,type); } } //验证各种导航地图是否安装 private static boolean isAvilible(Context context, String packageName) { //获取packagemanager final PackageManager packageManager = context.getPackageManager(); //获取所有已安装程序的包信息 List<PackageInfo> packageInfos = packageManager.getInstalledPackages(0); //用于存储所有已安装程序的包名 List<String> packageNames = new ArrayList<String>(); //从pinfo中将包名字逐一取出,压入pName list中 if (packageInfos != null) { for (int i = 0; i < packageInfos.size(); i++) { String packName = packageInfos.get(i).packageName; packageNames.add(packName); } } //判断packageNames中是否有目标程序的包名,有TRUE,没有FALSE return packageNames.contains(packageName); } /** * 打开高德 Web地图导航 */ private static void openWebGDNavi(Activity mActivity, String sPosition, double sLat, double sLng, String ePosition, double eLat, double eLng, String type) { StringBuffer stringBuffer = new StringBuffer("http://ditu.amap.com/dir?from[name]="+ sPosition+ "&from[lnglat]="+sLng+"%2c"+sLat+"&to[name]="+ePosition + "&to[lnglat]="+eLng+"%2c"+eLat+"&type="+type+"&policy=1"); Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(stringBuffer.toString())); mActivity.startActivity(intent); } /** *打开app高德 */ private static void openAppMap(Activity mActivity, double slat, double slon, String sname, double dlat, double dlon, String dname){ Uri mapUri = Uri.parse(getGdMapUri("map", String.valueOf(slat), String.valueOf(slon), sname, String.valueOf(dlat), String.valueOf(dlon), dname)); Intent loction = new Intent(Intent.ACTION_VIEW, mapUri); mActivity.startActivity(loction); } /** * 获取打开高德地图应用uri */ private static String getGdMapUri(String appName, String slat, String slon, String sname, String dlat, String dlon, String dname){ String uri = "androidamap://route?sourceApplication=%1$s&slat=%2$s&slon=%3$s&sname=%4$s&dlat=%5$s&dlon=%6$s&dname=%7$s&dev=0&m=0&t=2"; return String.format(uri, appName, slat, slon, sname, dlat, dlon, dname); }}
阅读全文
0 0
- 开启第三方地图(高德)
- 开启3方地图百度高德
- 第三方应用调用高德地图
- 第三方SDK:高德地图
- Android app调用第三方地图(百度地图,高德地图,谷歌地图)导航
- 安卓 引用第三方地图(高德)
- android 跳转第三方地图(百度,高德,谷歌)
- Android app调用第三方地图(百度地图,高德地图)导航
- 第三方应用调取百度地图、高德地图操作实例导航
- android 接入高德地图或其它第三方SDK,需要注意的点!
- Android第三方集成(01)——高德地图集成
- Android中第三方SDK集成之高德地图集成指南(入门篇)
- Android 调用第三方地图类App (高德 百度 百度网页版)
- 调用第三方地图导航,高德、百度、谷歌,无需引用sdk
- 接入高德地图第三方SDK——如何获取API Key
- Android仿微信调用第三方地图应用导航(高德、百度、腾讯)
- android app调用第三方地图路线规划导航(百度,高德,腾讯)
- Android第三方框架之学习高德地图SDK-----①集成环境,获取定位信息,地图显示。
- JQuery插件:ajaxFileUpload.js
- Android进阶——性能优化之尽量多使用AsyncTask进行短时间网络通信
- proxy分析
- 微信小程序 movable-view
- Android开机log和常见异常的分析
- 开启第三方地图(高德)
- iOS依赖库管理工具之CocoaPods
- Linux环境下Zookeeper的安装与配置
- Redis安装及使用
- Invalid location of tag 的解决方案
- Server Tomcat v8.5 Server at localhost failed to start.
- Scala简介
- 通过签名,获取key hashes值
- LeetCode 122. Best Time to Buy and Sell Stock II