赞
踩
本科生毕业设计:《一种智能停车系统的设计》,成都信息工程大学,2018
使用到的技术
已实现车辆的自动识别(二维码扫描识别功能)、车位计时、充值缴费(模拟)、地图自动引导(路线规划功能)。登录注册(包含自动登录) 等功能。基于B/S架构的java web网络结构模式,采用了百度地图和LBS云服务器的设计方法
LBS云添加自定义车位信息
二维码扫描识别
路径规划:
包含步行路线、驾车路线,可设置时间最短、路径最短等策略
程序功能逻辑设计
本科生毕业设计配套答辩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();
- }
- }
- //步行路线结果回调
- @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));// 设置一条驾车路线方案 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);
- //设置 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);//这里是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
有问题可以在下面提出来~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。