当前位置:   article > 正文

Android app调用第三方地图(百度地图,高德地图,谷歌地图)导航_android 第三方打开百度地图自动选择路线

android 第三方打开百度地图自动选择路线

因为公司项目需要用到外部导航,找到一些,大兄弟们凑合看...好吧反正也没人看- -


1.调用百度导航

  1. //开启百度导航
  2. public void startNavi() {
  3. //百度地图,从起点是LatLng ll_location = new LatLng("你的纬度latitude","你的经度longitude");
  4. //终点是LatLng ll = new LatLng("你的纬度latitude","你的经度longitude");
  5. NaviParaOption para = new NaviParaOption();
  6. para.startPoint(ll_location);
  7. para.startName("从这里开始");
  8. para.endPoint(ll);
  9. para.endName("到这里结束");
  10. try {
  11. BaiduMapNavigation.openBaiduMapNavi(para, getContext());
  12. } catch (BaiduMapAppNotSupportNaviException e) {
  13. e.printStackTrace();
  14. ToastUtil.showToast("您尚未安装百度地图或地图版本过低");
  15. }
  16. }

2.调用高德地图导航

  1. //高德地图,起点就是定位点
  2. // 终点是LatLng ll = new LatLng("你的纬度latitude","你的经度longitude");
  3. public void startNaviGao() {
  4. if (isAvilible(getContext(), "com.autonavi.minimap")) {
  5. try {
  6. //sourceApplication
  7. Intent intent = Intent.getIntent("androidamap://navi?sourceApplication=公司的名称(随意写)&poiname=我的目的地&lat=" + ll.latitude + "&lon=" + ll.longitude + "&dev=0");
  8. startActivity(intent);
  9. } catch (URISyntaxException e) {
  10. e.printStackTrace();
  11. }
  12. } else {
  13. ToastUtil.showToast("您尚未安装高德地图或地图版本过低");
  14. }
  15. }


3.调用谷歌地图(用谷歌地图得翻墙,不然打开就是一片空白)

  1. //谷歌地图,起点就是定位点
  2. // 终点是LatLng ll = new LatLng("你的latitude","你的longitude");
  3. public void startNaviGoogle() {
  4. if (isAvilible(getContext(), "com.google.android.apps.maps")) {
  5. Uri gmmIntentUri = Uri.parse("google.navigation:q=" + ll.latitude + "," + ll.longitude);
  6. Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
  7. mapIntent.setPackage("com.google.android.apps.maps");
  8. startActivity(mapIntent);
  9. } else {
  10. ToastUtil.showToast("您尚未安装谷歌地图或地图版本过低");
  11. }
  12. }


4.验证手机中是否安装了地图

  1. //验证各种导航地图是否安装
  2. public static boolean isAvilible(Context context, String packageName) {
  3. //获取packagemanager
  4. final PackageManager packageManager = context.getPackageManager();
  5. //获取所有已安装程序的包信息
  6. List<PackageInfo> packageInfos = packageManager.getInstalledPackages(0);
  7. //用于存储所有已安装程序的包名
  8. List<String> packageNames = new ArrayList<String>();
  9. //从pinfo中将包名字逐一取出,压入pName list中
  10. if (packageInfos != null) {
  11. for (int i = 0; i < packageInfos.size(); i++) {
  12. String packName = packageInfos.get(i).packageName;
  13. packageNames.add(packName);
  14. }
  15. }
  16. //判断packageNames中是否有目标程序的包名,有TRUE,没有FALSE
  17. return packageNames.contains(packageName);
  18. }


5.一个吐司类

  1. public class ToastUtil {
  2. private static Toast toast;
  3. /**
  4. * 强大的可以连续弹的吐司
  5. * @param text
  6. */
  7. public static void showToast(String text){
  8. if(toast==null){
  9. //创建吐司对象
  10. toast = Toast.makeText(MyApplication.context, text, Toast.LENGTH_LONG);
  11. }else {
  12. //说明吐司已经存在了,那么则只需要更改当前吐司的文字内容
  13. toast.setText(text);
  14. }
  15. //最后你再show
  16. toast.show();
  17. }
  18. }


6.调用成功的示意图



声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/297587
推荐阅读
相关标签
  

闽ICP备14008679号