# 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);
}
```
没有合适的资源?快使用搜索试试~ 我知道了~
安卓仿滴滴打车
共53个文件
png:15个
java:11个
xml:9个
需积分: 16 29 下载量 115 浏览量
2018-04-12
11:09:29
上传
评论 1
收藏 7.36MB ZIP 举报
温馨提示
安卓仿滴滴打车~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
资源推荐
资源详情
资源评论
收起资源包目录
安卓仿滴滴打车.zip (53个子文件)
Android_UsingCar_Example-master
pic
search.png 87KB
result.png 365KB
mark.png 434KB
res
drawable-ldpi
ic_launcher.png 6KB
drawable-hdpi
ic_launcher.png 13KB
drawable-xhdpi
icon_car.png 7KB
img_estimate.png 178B
btn_location.png 1KB
ic_launcher.png 20KB
icon_loaction_start.png 2KB
btn_back.png 799B
drawable
border.xml 433B
values
colors.xml 343B
strings.xml 447B
dimens.xml 377B
drawable-mdpi
icon_end.png.png 4KB
ic_launcher.png 8KB
icon_start.png 4KB
layout
view_recommond.xml 538B
activity_main.xml 6KB
activity_destination.xml 2KB
values-w820dp
dimens.xml 373B
proguard-project.txt 781B
ic_launcher-web.png 50KB
LICENSE 11KB
src
com
amap
api
car
example
DestinationActivity.java 4KB
InputTipTask.java 2KB
LocationTask.java 3KB
RecomandAdapter.java 3KB
PositionEntity.java 745B
PoiSearchTask.java 2KB
MainActivity.java 7KB
RouteTask.java 4KB
OnLocationGetListener.java 619B
Utils.java 2KB
RegeocodeTask.java 2KB
.project 822B
apk
Android_Car_Example.apk 2.78MB
.classpath 466B
.gitignore 294B
project.properties 563B
README.md 4KB
AndroidManifest.xml 2KB
libs
armeabi-v7a
libamapv304.so 865KB
libamapv304ex.so 29KB
armeabi
libamapv304.so 937KB
libamapv304ex.so 29KB
android-support-v4.jar 972KB
x86
libamapv304.so 1.17MB
libamapv304ex.so 29KB
Android_Location_V1.3.2.jar 184KB
AMap_3DMap_V2.4.0.jar 1.03MB
AMap_Services_V2.4.0.jar 307KB
共 53 条
- 1
资源评论
Molt_Warst
- 粉丝: 1
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功