android在自帶的app中,調用手機自帶的百度地圖和高德地圖去實現導航的功能

1.此方法不須要集成百度的sdk 高德的sdk  節省了內存 android

2.只須要幾行代碼就能實現調用百度地圖或者高德地圖的sdk實現導航的功能app

3.代碼以下this

 
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;
    }
}
相關文章
相關標籤/搜索