搜索
您的当前位置:首页正文

Android应用内打开高德、百度、腾讯地图app

来源:二三娱乐
最近在项目中需要地图导航功能,但是导入第三方地图导航包的话,应用打出包后会很大,所以考虑到可以通过调用外部地图应用来解决,参考了微信打开外部地图的做法,有了下面的解决办法:

原理

  • 通过高德、百度、腾讯提供的Uri打开应用外部地图app.

高德、百度、腾讯官方uri调起app文档传送门##

关键代码

-以高德地图为例:

    /**
     * 打开高德
     *
     * @param latitude
     * @param longitude
     */
    private static void openGaode(Activity activity, String title, double latitude, double longitude) {
        if (AppUtils.isAvilible("com.autonavi.minimap")) {
            Intent intent = new Intent();
            intent.setAction(Intent.ACTION_VIEW);
            intent.addCategory(Intent.CATEGORY_DEFAULT);

            //将功能Scheme以URI的方式传入data
            Uri uri = Uri.parse("androidamap://route/plan/?dlat=" + latitude + "&dlon=" + longitude + "&dname=" + title + "&dev=0&t=0");
            intent.setData(uri);

            //启动该页面即可
            activity.startActivity(intent);
        } else {
            ToastUtils.showToast("您尚未安装高德地图");
            Uri uri = Uri.parse("market://details?id=com.autonavi.minimap");
            Intent intent = new Intent(Intent.ACTION_VIEW, uri);
            if (intent.resolveActivity(activity.getPackageManager()) != null) {
                activity.startActivity(intent);
            }
        }
    }

需要注意的地方

使用方法

-1.Add it in your root build.gradle at the end of repositories:

allprojects {
        repositories {
            ...
            maven { url 'https://jitpack.io' }
        }
    }

-2.Add the dependency

dependencies {
            compile 'com.github.lintianlin:OpenMapDemo:v1.0.0'
    }

示例效果

pic4.jpg pic1.jpg pic2.jpg pic3.jpg
Top