Android安卓百度地图定位+导航+路径规划实现APP(源码+APK) 毕业设计
使用百度地图规划自驾路线并实时导航 #生活技巧# #自驾游建议# #自驾游必备APP#
百度地图实时定位+导航路径规划的实现APP
本科生毕业设计:《一种智能停车系统的设计》,成都信息工程大学,2018
使用到的技术
百度地图SDKLBS云数据管理路径规划与导航二维码扫描和识别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());
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();
@Override
public 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();
}
}
@Override
public void onGetDrivingRouteResult(DrivingRouteResult drivingRouteResult) {
mBaiduMap.clear();
if (drivingRouteResult.error == SearchResult.ERRORNO.NO_ERROR) {
DrivingRouteOverlay drivingRouteOverlay = new DrivingRouteOverlay(mBaiduMap);
drivingRouteOverlay.setData(drivingRouteResult.getRouteLines().get(0));
mBaiduMap.setOnMarkerClickListener(drivingRouteOverlay);
drivingRouteOverlay.addToMap();
drivingRouteOverlay.zoomToSpan();
int totalLine = drivingRouteResult.getRouteLines().size();
Toast.makeText(getBaseContext(),"共查询出" + totalLine + "条符合条件的线路", Toast.LENGTH_LONG).show();
}
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);
//设置 LocationClientOption
mlocationClient.setLocOption(mOption);
//初始化图标,BitmapDescriptorFactory是bitmap 描述信息工厂类,在使用该类方法之前请确保已经调用了 SDKInitializer.initialize(Context) 函数以提供全局 Context 信息。
//mIconLocation= BitmapDescriptorFactory.fromResource(R.drawable.car);
myOrientationListener=new MyOrientationListener(context);
myOrientationListener.setOnOrientationListener(new MyOrientationListener.OnOrientationListener() {
@Override
public 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);
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) 毕业设计 https://www.yuejiaxmz.com/news/view/393778
相关内容
地图导航app大全(基于安卓开发的毕业设计)家庭收纳App的设计与实现(附论文+源码)
手机地图导航软件
(基于android的毕业设计)健康饮食小助手(附源码+论文)
百度地图安卓下载
百度地图安卓免费app下载
解锁智能生活:Android室内路径规划,如何让家居导航更智能?
基于安卓android studio 的 菜谱食谱APP设计
【导航地图】导航地图大全
[附源码]计算机毕业设计springboot时间管理软件app