百度地图实时定位+导航路径规划的实现APP

本科生毕业设计:《一种智能停车系统的设计》,成都信息工程大学,2018

使用到的技术

  • 百度地图SDK
  • LBS云数据管理
  • 路径规划与导航
  • 二维码扫描和识别
  • NFC功能——2020.04新增

1、简单实时定位效果如图,打开即可用

2、高级功能:LBS云

已实现车辆的自动识别(二维码扫描识别功能)、车位计时、充值缴费(模拟)、地图自动引导(路线规划功能)。登录注册(包含自动登录) 等功能。基于B/S架构的java web网络结构模式,采用了百度地图和LBS云服务器的设计方法

LBS云添加自定义车位信息

二维码扫描识别

路径规划:

包含步行路线、驾车路线,可设置时间最短、路径最短等策略

3、数据库设计

程序功能逻辑设计

本科生毕业设计配套答辩PPT前言页

程序的说明文档

附上源码:

    protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);SDKInitializer.initialize(getApplicationContext());//this.requestWindowFeature(Window.FEATURE_NO_TITLE);  //去标题setContentView(R.layout.activity_main);this.context=this;activityList.add(this);  mCloudManager = CloudManager.getInstance();mCloudManager.init();mCloudManager.registerListener(MainActivity.this);initMap();//初始化地图initLocation();//定位initView();//初始化控件final PoiSearch   search = PoiSearch.newInstance();//路线规划对象final RoutePlanSearch routePlanSearch = RoutePlanSearch.newInstance();/**///城市搜索,需要城市名称和关键字Button poi=(Button) findViewById(R. id.poi) ;//mDb06ll = (Button) findViewById(R.id.mDb06llNaviBtn);  initListener();  if (initDirs()) {  initNavi();       }  }
//步行路线结果回调@Overridepublic void onGetWalkingRouteResult(WalkingRouteResult walkingRouteResult) {mBaiduMap.clear();if (walkingRouteResult.error == SearchResult.ERRORNO.NO_ERROR) {WalkingRouteOverlay walkingOverlay = new WalkingRouteOverlay(mBaiduMap);walkingOverlay.setData(walkingRouteResult.getRouteLines().get(0));// 设置一条路线方案walkingOverlay.addToMap();walkingOverlay.zoomToSpan();mBaiduMap.setOnMarkerClickListener(walkingOverlay);Log.e("TAG", walkingOverlay.getOverlayOptions() + "");} else {Toast.makeText(getBaseContext(), "搜不到!", Toast.LENGTH_SHORT).show();}}
//驾车路线结果回调@Overridepublic void onGetDrivingRouteResult(DrivingRouteResult drivingRouteResult) {mBaiduMap.clear();//清除图标或路线if (drivingRouteResult.error == SearchResult.ERRORNO.NO_ERROR) {DrivingRouteOverlay drivingRouteOverlay = new DrivingRouteOverlay(mBaiduMap);drivingRouteOverlay.setData(drivingRouteResult.getRouteLines().get(0));// 设置一条驾车路线方案  0换成1会闪退!!mBaiduMap.setOnMarkerClickListener(drivingRouteOverlay);drivingRouteOverlay.addToMap();drivingRouteOverlay.zoomToSpan();int totalLine = drivingRouteResult.getRouteLines().size();Toast.makeText(getBaseContext(),"共查询出" + totalLine + "条符合条件的线路", Toast.LENGTH_LONG).show();// 通过getTaxiInfo()可以得到很多关于驾车的信息}else Toast.makeText(getBaseContext(), "抱歉,未找到结果",Toast.LENGTH_SHORT).show();}
private void initLocation() {locationMode= MyLocationConfiguration.LocationMode.NORMAL;//定位服务的客户端。宿主程序在客户端声明此类,并调用,目前只支持在主线程中启动mlocationClient=new LocationClient(this);mlistener=new MylocationListener();//注册监听器mlocationClient.registerLocationListener(mlistener);//配置定位SDK各配置参数,比如定位模式、定位时间间隔、坐标系类型等LocationClientOption mOption=new LocationClientOption();//设置坐标类型mOption.setCoorType("bd09ll");//设置是否需要地址信息,默认为无地址mOption.setIsNeedAddress(true);//设置是否打开gps进行定位mOption.setOpenGps(true);//设置扫描间隔,单位是毫秒 当<1000(1s)时,定时定位无效int span=1000;mOption.setScanSpan(span);//设置 LocationClientOptionmlocationClient.setLocOption(mOption);//初始化图标,BitmapDescriptorFactory是bitmap 描述信息工厂类,在使用该类方法之前请确保已经调用了 SDKInitializer.initialize(Context) 函数以提供全局 Context 信息。//mIconLocation= BitmapDescriptorFactory.fromResource(R.drawable.car);myOrientationListener=new MyOrientationListener(context);myOrientationListener.setOnOrientationListener(new MyOrientationListener.OnOrientationListener() {@Overridepublic void onOrientationChanged(float x) {mCurrentX=x;}});}
//云检索public void onGetSearchResult(CloudSearchResult result, int error) {if (result != null && result.poiList != null&& result.poiList.size() > 0) {Log.d(LTAG, "onGetSearchResult, result length: " + result.poiList.size());mBaiduMap.clear();BitmapDescriptor bd = BitmapDescriptorFactory.fromResource(R.drawable.icon_gcoding);LatLng ll;LatLngBounds.Builder builder = new Builder();for (CloudPoiInfo info : result.poiList) {ll = new LatLng(info.latitude, info.longitude);BDMapDataY bean =new BDMapDataY();//云数据bean.setLatitude(info.latitude);bean.setLongitude(info.longitude);bean.setTitle(info.title);//这里是title!!Bundle data = new Bundle();data.putSerializable("Cloud", bean);//哇 信息量巨大!OverlayOptions oo = new MarkerOptions().icon(bd).position(ll).extraInfo(data);mBaiduMap.addOverlay(oo);builder.include(ll);}LatLngBounds bounds = builder.build();MapStatusUpdate u = MapStatusUpdateFactory.newLatLngBounds(bounds);mBaiduMap.animateMapStatus(u);}else Toast.makeText(getApplication(), "搜索不到你需要的信息!", Toast.LENGTH_SHORT).show();}

附APP下载链接 https://download.csdn.net/download/u011752195/12373007

整个下来通过网络资源整理学习,并完善了一些代码,程序员挺累的

如果觉得不错可以点歌关注吧~

后续将分享更多程序代码~

合作请联系chat 1012638162

有问题可以在下面提出来~

Android安卓百度地图定位+导航+路径规划实现APP(源码+APK) 毕业设计相关推荐

  1. 安卓百度地图之步行路径规划

    使用的是百度地图的API,地址是:androidsdk | 百度地图API SDK 步骤一:配置build.gradle dependencies {implementation 'com.baidu ...

  2. Android 调用百度地图sdk 实现路线规划导航

    Android 调用百度地图sdk 实现路线规划导航 功能: 实现实时/需求定位 卫星地图查看 路况 周边poi检索 地点输入提示检索 驾驶 步行 公交 骑行路线规划 注:以上为实现的大概功能 ,接下 ...

  3. ROS 教程2 机器人雷达建图 蒙特卡洛定位 导航 路径规划 仿真

    ros 机器人雷达建图 蒙特卡洛定位 导航 路径规划 仿真 move_base gmapping acml 博文github 一.安装 turtlebot 移动机器人底座 进行导航 1.安装系统依赖 ...

  4. Android开发——百度地图定位

    Android开发--百度地图定位 项目需求 项目内容 注册和获取秘钥 获取项目SHA1码 获取项目AK码 AS依赖配置 AS源码 AndroidManifest文件 布局文件 DemoApplica ...

  5. JQ----移动端h5页面通过地址调起通讯录以及高德地图、百度地图定位导航

    JQ----移动端h5页面通过地址调起通讯录以及高德地图.百度地图定位导航 通讯录: 可先加meta标签 <a href="tel:13838383838" class=&q ...

  6. 【Matlab路径规划】A_star算法机器人栅格地图路径规划【含源码 116期】

    一.代码运行视频(哔哩哔哩) [Matlab路径规划]A_star算法机器人栅格地图路径规划[含源码 116期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] ...

  7. 【Matlab路径规划】A_star算法智能仓储机器人移动避碰路径规划【含源码 1180期】

    一.代码运行视频(哔哩哔哩) [Matlab路径规划]A_star算法智能仓储机器人移动避碰路径规划[含源码 1180期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文 ...

  8. 基于Android Studio实现的功能强大的购物商城APP源码,可做Android Studio毕业设计、大作业

    Android 购物商城app 完整代码下载地址:基于Android Studio实现的功能强大的购物商城APP源码 实现的功能: 注册 登录 修改密码 重置密码(邮箱验证,考核结束将移除授权码) 商 ...

  9. 基于Android的百度地图定位开发

    百度地图定位 一.注册和获取密钥 1.获取SHA1 2.获取包名 二.AS配置 三.显示地图开发 1.添加地图权限 2.添加地图容器 3.地图初始化 4.创建地图Activity,管理MapView生 ...

最新文章

  1. 初识Redux-Saga
  2. this is incompatible with sql_mode=only_full_group_by
  3. linux内核更新/修补程序,Ubuntu 18.04.3 LTS无需重启即可轻松修补Linux内核
  4. wdcp 安装php_zip扩展
  5. 【转载】Linux安装配置Qt
  6. js 数组修改watch_前端面试:专注Vue.js常见的问题答疑,掌握了基本上Vue就过关了...
  7. 前端学习(624):小结
  8. tomcat常见配置及优化、升级
  9. OpenGL超级宝典(第7版)笔记7 细分曲面初介绍 清单3.7-3.8
  10. 视频教程-基于VUE和Hplus通用后台管理系统(前端篇)-Vue
  11. 支付宝、财付通、网银、百度钱包、京东钱包接口费率
  12. 【2】CH347应用--在OpenOCD添加CH347-USB转JTAG接口
  13. mailru邮箱下载_Mail.Ru邮箱ios客户端下载|Mail.Ru邮箱iphone/ipad版下载 6.2 - 跑跑车苹果网...
  14. 用matlab实现线性系统的频域分析,用matlab实现线性系统的频域分析.doc
  15. Jenkins笔记02-Jenkins安装和持续集成环境配置
  16. 使用图像处理技术去除图片水印
  17. 语义分割代码实现细节:CE_Loss 和 BCE_loss
  18. 【大数据处理】广州餐饮店铺爬虫并可视化,上传至hdfs
  19. python中确定两个列表(list)之间是否为子集关系
  20. python用户名和密码登录_Python爬虫带用户名密码登录

热门文章

  1. 高手在民间!惊现各种自制口罩、面罩,防护罩……
  2. 为网页展示创建分页设置
  3. Ubuntu上面搭建Java开发环境
  4. 实测三个工具后,我终于找到了地图可视化的神器
  5. python爬虫笔记(六)网络爬虫之实战(1)——淘宝商品比价定向爬虫(解决淘宝爬虫限制:使用cookies)...
  6. 恢復因Ctrl + Z丟失的檔案
  7. javascript中的数据类型
  8. [附源码]java毕业设计商务酒店管理系统
  9. lululemon系列一:耿直boy初出茅庐
  10. python --获取桌面路径