赞
踩
因为公司项目需要用到外部导航,找到一些,大兄弟们凑合看...好吧反正也没人看- -
1.调用百度导航
//开启百度导航 public void startNavi() { //百度地图,从起点是LatLng ll_location = new LatLng("你的纬度latitude","你的经度longitude"); //终点是LatLng ll = new LatLng("你的纬度latitude","你的经度longitude"); NaviParaOption para = new NaviParaOption(); para.startPoint(ll_location); para.startName("从这里开始"); para.endPoint(ll); para.endName("到这里结束"); try { BaiduMapNavigation.openBaiduMapNavi(para, getContext()); } catch (BaiduMapAppNotSupportNaviException e) { e.printStackTrace(); ToastUtil.showToast("您尚未安装百度地图或地图版本过低"); } }
- //高德地图,起点就是定位点
- // 终点是LatLng ll = new LatLng("你的纬度latitude","你的经度longitude");
- public void startNaviGao() {
- if (isAvilible(getContext(), "com.autonavi.minimap")) {
- try {
- //sourceApplication
- Intent intent = Intent.getIntent("androidamap://navi?sourceApplication=公司的名称(随意写)&poiname=我的目的地&lat=" + ll.latitude + "&lon=" + ll.longitude + "&dev=0");
- startActivity(intent);
- } catch (URISyntaxException e) {
- e.printStackTrace();
- }
- } else {
- ToastUtil.showToast("您尚未安装高德地图或地图版本过低");
- }
- }
- //谷歌地图,起点就是定位点
- // 终点是LatLng ll = new LatLng("你的latitude","你的longitude");
- public void startNaviGoogle() {
- if (isAvilible(getContext(), "com.google.android.apps.maps")) {
- Uri gmmIntentUri = Uri.parse("google.navigation:q=" + ll.latitude + "," + ll.longitude);
- Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
- mapIntent.setPackage("com.google.android.apps.maps");
- startActivity(mapIntent);
- } else {
- ToastUtil.showToast("您尚未安装谷歌地图或地图版本过低");
- }
- }
- //验证各种导航地图是否安装
- 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);
- }

- public class ToastUtil {
-
- private static Toast toast;
- /**
- * 强大的可以连续弹的吐司
- * @param text
- */
- public static void showToast(String text){
- if(toast==null){
- //创建吐司对象
- toast = Toast.makeText(MyApplication.context, text, Toast.LENGTH_LONG);
- }else {
- //说明吐司已经存在了,那么则只需要更改当前吐司的文字内容
- toast.setText(text);
- }
- //最后你再show
- toast.show();
- }
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。