Android Kotlin 跳转第三方地图App进行导航(高德,百度,腾讯)

跳转第三方地图App进行导航



import android.content.Context;

import android.content.Intent;

import android.os.Build;

import com.open.git.util.AppTools;

import java.io.File;

import java.net.URISyntaxException;

public class PackageUtil {

/**

    * 判断是否安装目标应用

    */

    private static boolean isInstallByread(String packageName) {

/**

        * 判断 API版本是否大于 29(Android 11)

        * 大于29会强制分区

        */

        if (Build.VERSION.SDK_INT <24) {

return new File("/data/data/" + packageName).exists();

        }else {

return new File("storage/emulated/0/Android/data/" + packageName).exists();

        }

}

/**

    * 跳转到百度地图

    *

    * @param context    com.baidu.BaiduMap

    * @param latitude  纬度

    * @param longtitude 经度

    * @param address    终点

    */

    public static void goBaiduMap(Context context, double latitude, double longtitude, String address) {

if (isInstallByread("com.baidu.BaiduMap")) {

try {

Intent intent = Intent.getIntent("intent://map/direction?destination=latlng:"

                        + latitude +","

                        + longtitude +"|name:" + address +//终点:该地址会在导航页面的终点输入框显示

                        "&mode=driving&" +//选择导航方式 此处为驾驶

                        "region=" +//

                        "&src=#Intent;scheme=bdapp;package=com.baidu.BaiduMap;end");

                context.startActivity(intent);

            }catch (URISyntaxException e) {

}

}else {

AppTools.INSTANCE.toast("您尚未安装百度地图");

        }

}

/**

    * 跳转到高德地图

    *

    * @param context    com.autonavi.minimap

    * @param latitude  纬度

    * @param longtitude 经度

    * @param address    终点

    */

    public static void goGaodeMap(Context context, double latitude, double longtitude, String address) {

if (isInstallByread("com.autonavi.minimap")) {

try {

Intent intent = Intent.getIntent("androidamap://navi?sourceApplication=&poiname=" + address +"&lat=" + latitude

+"&lon=" + longtitude +"&dev=0");

                context.startActivity(intent);

            }catch (URISyntaxException e) {

}

}else {

AppTools.INSTANCE.toast("您尚未安装高德地图");

        }

}

/**

    * 跳转到高德地图

    *

    * @param context

    * @param latitude  纬度

    * @param longtitude 经度

    * @param address    终点

    */

    public static void goQQMap(Context context, double latitude, double longtitude, String address) {

if (isInstallByread("com.tencent.map")) {

try {

Intent intent = Intent.getIntent("qqmap://map/routeplan?type=drive&referer=研学指南针&tocoord=" + latitude +"," + longtitude

+"&to=" + address);

                context.startActivity(intent);

            }catch (URISyntaxException e) {

}

}else {

AppTools.INSTANCE.toast("您尚未安装腾讯地图");

        }

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容