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

来源:互联网 发布:js window对象用不了 编辑:程序博客网 时间:2024/05/22 17:16

转载地址:http://blog.csdn.net/laozhumakelovemanuo/article/details/74025339

最近做地图导航功能,顾实现这四种地图导航功能,代码如下:
高德地图代码:

public static void openGaoDeMap(Context context, String name, String lat, String log) {        try {            if (MethodUtils.isAvilible(context, "com.autonavi.minimap")) {                Intent intent = Intent.getIntent("androidamap://navi?sourceApplication=全球旅拍&poiname=" + name + "&lat=" + lat + "&lon=" + log + "&dev=0");                context.startActivity(intent);            } else {                // ToastUtil.show(activity, "没有安装高德地图客户端");                Log.e("GasStation", "没有安装高德地图客户端");            }        } catch (URISyntaxException e) {            e.printStackTrace();        }    }

百度地图:

 public static void openBaiduMap(Context context, String name, String lat, String log) {        try {            if (MethodUtils.isAvilible(context, "com.baidu.BaiduMap")) {                Intent intent = Intent.getIntent                        ("intent://map/navi?location=" + lat + "," + log +                                "&type=TIME&src=thirdapp.navi.hndist.sydt#Intent;scheme=bdapp;" +                                "package=com.baidu.BaiduMap;end");                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);                context.startActivity(intent);                //  context.startActivity(intent);            } else {                // ToastUtil.show(activity, "没有安装高德地图客户端");                RLog.e("没有安装百度地图客户端");            }        } catch (Exception e) {            e.printStackTrace();        }    }

腾讯地图:

public static void openTencentMap(Context context, String endPos, String endlat, String endlog, String startPos, String startlat, String startlog) {        //com.tencent.map        //qqmap://map/routeplan?type=drive&from=天坛南门&fromcoord=39.873145,116.413306&to=国家大剧院&tocoord=39.907380,116.388501        try {            if (MethodUtils.isAvilible(context, "com.tencent.map")) {                Intent intent = Intent.getIntent                        ("qqmap://map/routeplan?type=drive&from=" + startPos + "&fromcoord=" + startlat + "," + startlog + "&to=" + endPos + "&tocoord=" + endlat + "," + endlog + "");                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);                context.startActivity(intent);                //  context.startActivity(intent);            } else {                // ToastUtil.show(activity, "没有安装高德地图客户端");                RLog.e("没有安装腾讯地图客户端");            }        } catch (Exception e) {            e.printStackTrace();        }    }

备注:腾讯原生地图不支持native导航方式,顾实现折中方式,驾车导航路径规划的方式。
Google地图:

public static void openGoogleMap(Context context, String name, String lat, String log) {        if (isAvilible(context,"com.google.android.apps.maps")) {            Uri gmmIntentUri = Uri.parse("google.navigation:q="+lat+","+log+", + Sydney +Australia");            Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);            mapIntent.setPackage("com.google.android.apps.maps");            context.startActivity(mapIntent);        }else {            RLog.e("没有安装谷歌地图客户端");        }    }

这就是我对地图导航方式的总结。

阅读全文
0 0
原创粉丝点击