Logo

android在自带的app中,调用手机自带的百度地图和高德地图去实现导航的功能

photo

2023年09月19日

1.此方法不需要集成百度的sdk 高德的sdk  节省了内存 

2.只需要几行代码就能实现调用百度地图或者高德地图的sdk实现导航的功能

3.代码如下

 
private View.OnClickListener itemsOnClick = new View.OnClickListener(){

    public void onClick(View v) {
        menuWindow.dismiss();
        switch (v.getId()) {
            case R.id.btn_take_photo:
                try {
                    //location是经纬度的值  title是到达的地方名字
                    Intent intent = Intent.getIntent("intent://map/marker?location="+findcar.getContent().get(p-1).getLat()+","+findcar.getContent().get(p-1).getLongX()+"&title="+findcar.getContent().get(p-1).getName()+"&content=百度奎科大厦&src=yourCompanyName|yourAppName#Intent;scheme=bdapp;package=com.baidu.BaiduMap;end");
                    if(isInstallByread(FindCarActivity.this,"com.baidu.BaiduMap")){
                        startActivity(intent); //启动调用

                    }else{
                        Toast.makeText(FindCarActivity.this,"没有安装百度地图客户端",Toast.LENGTH_SHORT).show();
                    }
                } catch (URISyntaxException e) {
                    e.printStackTrace();
                }


                break;
            case R.id.btn_pick_photo:
                try
                {
                    Intent intent = Intent.getIntent("androidamap://viewMap?sourceApplication=平治科技&poiname="+findcar.getContent().get(p-1).getName()+"&lat="+findcar.getContent().get(p-1).getLat()+"&lon="+findcar.getContent().get(p-1).getLongX()
                            +"&dev=0");
                    if(isInstallByread(FindCarActivity.this,"com.autonavi.minimap")){
                        startActivity(intent);
                    }else{
                        Toast.makeText(FindCarActivity.this,"没有安装高德地图客户端",Toast.LENGTH_SHORT).show();
                    }

                } catch (URISyntaxException e)
                {
                    e.printStackTrace();
                }
                break;
            default:
                break;
        }


    }

};
/**
 * 判断是否安装了这个应用
 * @param context
 * @param packagename
 * @return
 */
private Boolean isInstallByread(Context context,String packagename){
    PackageInfo packageInfo;
    try {
        packageInfo =context.getPackageManager().getPackageInfo(packagename,0);
    } catch (PackageManager.NameNotFoundException e) {
        packageInfo = null;
        e.printStackTrace();
    }
    if(packageInfo == null){
        return  false;
    }else{
        return  true;
    }
}

 

 

 

 

 

 

转载于:https://my.oschina.net/handlermsg/blog/806403

所有附件
本文为原创文章,请注意保留出处!

手机APP开发完了,远程升级自动更新版本必不可少,不然每次更新版本就要重新安装,那就不合理了。刚开...AdroidStudioapp远程升级

热门文章

修复群晖Synology Drive client右键菜单缺失问题 本教程主要解决windows10右键菜单中没有SynologyDrive菜单的问题,整体思路是找到...修复群晖SynologyDriveclient右键菜单缺失问题 作者:Pastore Antonio
1812 浏览量
docker如何查看一个镜像内部的目录结构及其内部都有哪些文件 前言:有时候我们会在docker上下载一个镜像,或者是上传一个镜像到docker上,甚至有时候就是在...docker如何查看一个镜像内部的目录结构及其内部都有哪些文件 作者:Pastore Antonio
1791 浏览量
configure: error: Package requirements (oniguruma) were not met configure:error:Packagerequirements(oniguruma)...configure:error:Packagerequirements(oniguruma)werenotmet 作者:Pastore Antonio
1530 浏览量
Adobe Acrobat Pro 激活 这里记录了一些AdobeAcrobat的激活教程和组件。浏览量:1,683 作者:Pastore Antonio
1528 浏览量
追寻日出,找回自己 为什么我要去追寻日出?其实我是一个很懒的人,每次都起不来,直到有一次我在租房中睡到了大天亮,阳光照...追寻日出,找回自己 作者:Pastore Antonio
1506 浏览量