百度地图

来源:互联网 发布:网络电视怎么放直播 编辑:程序博客网 时间:2024/06/01 20:56
<uses-permission    android:name="android.permission.ACCESS_NETWORK_STATE"/><uses-permissionandroid:name="android.permission.INTERNET"/><uses-permissionandroid:name="com.android.launcher.permission.READ_SETTINGS"/><uses-permissionandroid:name="android.permission.WAKE_LOCK"/><uses-permissionandroid:name="android.permission.CHANGE_WIFI_STATE"/><uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE"/><uses-permissionandroid:name="android.permission.GET_TASKS"/><uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permissionandroid:name="android.permission.WRITE_SETTINGS"/>


<Button android:id="@+id/button_gao" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="调起高德地图" /><Button android:id="@+id/button_bai" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="调起百度地图" /><Button android:id="@+id/button_gu" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="调起谷歌地图" />



//吊起百度地图进行导航

public class MainActivity extends AppCompatActivity implements View.OnClickListener{    private Intent intent;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        initView();    }    private void initView() {        Button button_bai = (Button) findViewById(R.id.button_bai);        Button button_gao = (Button) findViewById(R.id.button_gao);        Button button_gu = (Button) findViewById(R.id.button_gu);        button_bai.setOnClickListener(this);        button_gao.setOnClickListener(this);        button_gu.setOnClickListener(this);    }    @Override    public void onClick(View v) {        switch (v.getId()){            case R.id.button_bai:                if(isAvilible(MainActivity.this,"com.baidu.BaiduMap")){//传入指定应用包名                    try {                        intent = Intent.getIntent("intent://map/direction?" +                             //   "origin=latlng:"+"34.264642646862,108.95108518068&" +   //起点  此处不传值默认选择当前位置                                "destination=latlng:"+34.264642646862+","+108.95108518068+"|name:我的目的地"+        //终点                                "&mode=driving&" +          //导航路线方式                                "region=北京" +           //                                "&src=慧医#Intent;scheme=bdapp;package=com.baidu.BaiduMap;end");                        startActivity(intent); //启动调用                    } catch (URISyntaxException e) {                        Log.e("intent", e.getMessage());                    }                }else{//未安装                    //market为路径,id为包名                    //显示手机上所有的market商店                    Toast.makeText(MainActivity.this, "您尚未安装百度地图", Toast.LENGTH_LONG).show();                    Uri uri = Uri.parse("market://details?id=com.baidu.BaiduMap");                    intent = new Intent(Intent.ACTION_VIEW, uri);                    startActivity(intent);                }                break;        }    }    /*  * 检查手机上是否安装了指定的软件      * @param context      * @param packageName:应用包名      * @return              */    public static boolean isAvilible(Context context, String packageName){        //获取packagemanager        final PackageManager packageManager = context.getPackageManager();        //获取所有已安装程序的包信息        List<PackageInfo> packageInfos = packageManager.getInstalledPackages(0);        //用于存储所有已安装程序的包名        List<String> packageNames = new ArrayList<String>();        //从pinfo中将包名字逐一取出,压入pName list中        if(packageInfos != null){            for(int i = 0; i < packageInfos.size(); i++){                String packName = packageInfos.get(i).packageName;                packageNames.add(packName);            }        }        //判断packageNames中是否有目标程序的包名,有TRUE,没有FALSE        return packageNames.contains(packageName);    }}



0 0
原创粉丝点击