Android_UsingCar_Example-master

所属分类:android开发
开发工具:Java
文件大小:6586KB
下载次数:1
上传日期:2021-01-19 10:26:30
上 传 者z394827501
说明:  基于Android的仿滴滴的用车系统, Licensed under the Apache License, Version 2.0
(Android based didi like car system, licensed under the Apache license, version 2.0)

文件列表:
LICENSE (11358, 2015-06-03)
libs\AMap_3DMap_V2.4.0.jar (1075933, 2015-06-03)
libs\AMap_Services_V2.4.0.jar (314785, 2015-06-03)
libs\android-support-v4.jar (995624, 2015-06-03)
libs\Android_Location_V1.3.2.jar (187932, 2015-06-03)
res\drawable-xhdpi\btn_back.png (799, 2015-06-03)
res\drawable-xhdpi\btn_location.png (1033, 2015-06-03)
res\drawable-xhdpi\icon_car.png (6800, 2015-06-03)
res\drawable-mdpi\icon_end.png.png (4573, 2015-06-03)
res\drawable-xhdpi\icon_loaction_start.png (1592, 2015-06-03)
res\drawable-mdpi\icon_start.png (4410, 2015-06-03)
ic_launcher-web.png (51394, 2015-06-03)
res\drawable-hdpi\ic_launcher.png (13669, 2015-06-03)
res\drawable-ldpi\ic_launcher.png (6311, 2015-06-03)
res\drawable-mdpi\ic_launcher.png (8464, 2015-06-03)
res\drawable-xhdpi\ic_launcher.png (20616, 2015-06-03)
res\drawable-xhdpi\img_estimate.png (178, 2015-06-03)
pic\mark.png (444321, 2015-06-03)
pic\result.png (373984, 2015-06-03)
pic\search.png (89479, 2015-06-03)
src\com\amap\api\car\example\DestinationActivity.java (3792, 2015-06-03)
src\com\amap\api\car\example\InputTipTask.java (2137, 2015-06-03)
src\com\amap\api\car\example\LocationTask.java (3484, 2015-06-03)
src\com\amap\api\car\example\MainActivity.java (7006, 2015-06-03)
src\com\amap\api\car\example\OnLocationGetListener.java (619, 2015-06-03)
src\com\amap\api\car\example\PoiSearchTask.java (2236, 2015-06-03)
src\com\amap\api\car\example\PositionEntity.java (745, 2015-06-03)
src\com\amap\api\car\example\RecomandAdapter.java (2573, 2015-06-03)
src\com\amap\api\car\example\RegeocodeTask.java (2306, 2015-06-03)
src\com\amap\api\car\example\RouteTask.java (3922, 2015-06-03)
src\com\amap\api\car\example\Utils.java (1827, 2015-06-03)
res\layout\activity_destination.xml (1785, 2015-06-03)
res\layout\activity_main.xml (6432, 2015-06-03)
AndroidManifest.xml (1989, 2015-06-03)
res\drawable\border.xml (433, 2015-06-03)
res\values\colors.xml (343, 2015-06-03)
res\values-w820dp\dimens.xml (373, 2015-06-03)
res\values\dimens.xml (377, 2015-06-03)
res\values\strings.xml (447, 2015-06-03)
... ...

# Android_UsingCar_Example 基于高德地图Android API快速搭建用车解决方案的示例 ##出行类解决方案——乘客端 搭建出行类用车乘客端的LBS部分,仅需要以下三步: ###Step 1:定位+逆地理编码+地图打点,搞定前端展示 效果如下图。屏幕中间的蓝色标记 用到了定位功能。位于顶部的输入框 用到了逆地理编码功能;地图上蓝色的出租车标识 运用了地图打点。 ![Screenshot](https://raw.githubusercontent.com/amapapi/Android_UsingCar_Example/master/pic/mark.png) ###定位 需要做的仅仅是将libs下的库拷贝到你的工程中,打开高小德用车的源代码,将LocationTask.java拷贝到工程中,找到MainActivity.java文件,仿照其中的写法,在合适的位置调用如下这几行,即可调起定位功能。 ``` java private LocationTask mLocationTask;//声明定位对象 mLocationTask = LocationTask.getInstance(getApplicationContext());//获取定位单例 mLocationTask.setOnLocationGetListener(locationTaskListener);//设置监听器 mLocationTask.startSingleLocate();//开始定位 mLocationTask.onDestroy();//销毁定位资源 ``` ###逆地理编码 先行将RegeocodeTask.java拷贝到工程中,依旧参照MainActivity.java文件,在合适的位置调用如下的代码段,即可调起逆地理编码功能。 ``` java private RegeocodeTask mRegeocodeTask;//声明逆地理编码对象 mRegeocodeTask = new RegeocodeTask(getApplicationContext());//为该对象赋值 mRegeocodeTask.setOnLocationGetListener(regeocodeTaskListener);//设置监听器 mRegeocodeTask.search(mPosition.latitude, mPosition.longitude);//启动逆地理编码服务 ``` ###地图打点 Utils.java封装了在地图上打点的功能,如下调用即可。 ``` java Utils.addEmulateData(mAmap, mStartPosition);//调用addEmulateData方法。参数解释:参数一为地图的controller;参数二为模拟数据的中心点,真实数据可以传递数据列表。 ``` ###Step 2 输入提示+POI搜索,搞定目的地 完成了以上这三大要点之后,接下来需要告诉司机师傅乘客要去哪里了。如下图所示,为了给用户提供一个更好的用车体验,在支持录入目的地的功能基础上,提供输入提示+POI搜索功能,进一步提升体验。 ![Screenshot](https://raw.githubusercontent.com/amapapi/Android_UsingCar_Example/master/pic/search.png) ###输入提示 拷贝InputTipTask.java到创建的工程中,查看DestinationActivity.java示例,实现TextWatcher接口后,进行如下调用: ``` java @Override//在onTextChanged方法中调用InputTipTask 的getInstance方法 public void onTextChanged(CharSequence s, int start, int before, int count) { InputTipTask.getInstance(getApplicationContext(), mRecomandAdapter).searchTips(s.toString(), RouteTask.getInstance(getApplicationContext()).getStartPoint().city); } ``` 输入提示功能完成! ###POI搜索 拷贝PoiSearchTask.java到创建的工程中,参考DestinationActivity.java调用核心方法的方式,即可实现如图所示的POI搜索。核心方法如下: ``` java PoiSearchTask poiSearchTask=new PoiSearchTask(getApplicationContext(), mRecomandAdapter);//生成poiSearchTask对象 poiSearchTask.search(mDestinaionText.getText().toString(),RouteTask.getInstance(getApplicationContext()).getStartPoint().city);//开始进行POI搜索 ``` ###Step 3 驾车路径规划,搞定费用预估 驾车路径规划功能提供了费用预估功能,效果参照下图 ![Screenshot](https://raw.githubusercontent.com/amapapi/Android_UsingCar_Example/master/pic/result.png) ###驾车路径规划 拷贝RouteTask.java文件到创建的工程中,参照MainActivity.java文件中的示例代码,实现OnRouteCalculateListener接口。调用的核心方法如下: ``` java @Override //OnRouteCalculateListener提供的onRouteCalculate回调函数,高小德用车已经将返回onRouteCalculate结果的代码完整封装 public void onRouteCalculate(float cost,float distance,int duration) { mDestinationContainer.setVisibility(View.VISIBLE); mRouteCostText.setVisibility(View.VISIBLE); mDesitinationText.setText(RouteTask .getInstance(getApplicationContext()).getEndPoint().address); mRouteCostText.setText( String.format("预估费用%.2f元,距离%.1fkm,用时%d分", cost,distance,duration) ); mDestinationButton.setText("我要用车"); mCancelButton.setVisibility(View.VISIBLE); mDestinationButton.setOnClickListener(null); } ```

近期下载者

相关文件


收藏者