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; } }