安卓调起高德百度第三方地图进行导航

来源:互联网 发布:杀敌算法刘宇昆 编辑:程序博客网 时间:2024/04/30 05:58

项目中用到了导航功能,本着简单的做法,就想到了直接调用高德百度第三方地图进行导航,这样可以减少包的体积,在网上百度了许久,各种都有,自己总结了一下,目前测试还算好用,拿出来晒一下,知道的就别喷了,我是菜鸟。下面直接上代码

调起高德地图导航

//移动APP调起Android高德地图方式    private void startGaoDeMap() {        Intent intent = new Intent("android.intent.action.VIEW",                android.net.Uri.parse("androidamap://navi?sourceApplication=amap&lat=" + latitude + "&lon=" + longitude + "&dev=1&style=0"));        intent.setPackage("com.autonavi.minimap");        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);        if (isInstallByread("com.autonavi.minimap")) {            startActivity(intent);        } else {            Toast.makeText(DeatailsActivity.this, "没有安装高德地图客户端", Toast.LENGTH_SHORT).show();        }    }

调起百度地图导航

//移动APP调起Android百度地图方式    private void startBaiduMap() {        Intent intent = null;        try {           intent = Intent.getIntent("intent://map/direction?destination=latlng:"+ latitude + "," + longitude + "|name:&origin=" + "我的位置" + "&mode=driving?ion=" + "我的位置"+ "&referer=Autohome|GasStation#Intent;scheme=bdapp;package=com.baidu.BaiduMap;end");        } catch (Exception e) {            e.printStackTrace();        }        if (isInstallByread("com.baidu.BaiduMap")) {            startActivity(intent); // 启动调用        } else {            Toast.makeText(DeatailsActivity.this, "没有安装百度地图客户端", Toast.LENGTH_SHORT).show();        }    }

还有下面的判断方法

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

这样写好之后,替换一下经纬度,就可以成功调起高德跟百度第三方地图导航了,在这里,我想请教个问题,调起百度地图导航,是驾车选择的界面,但是高德就是直接进入语音界面导航了,目前我需要两个都是进入到驾车选择的界面,哪位知道高德的 请留言告知下,感激了,本人太菜,别喷啊。

0 0
原创粉丝点击