• Stars
    star
    122
  • Rank 292,031 (Top 6 %)
  • Language
    Java
  • Created about 8 years ago
  • Updated over 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

出行类应用乘客端解决方案

android-trip

基于高德地图Android API快速搭建用车解决方案的示例

前述

扫一扫安装

Screenshot

出行类解决方案——乘客端

使用方法

1:配置搭建AndroidSDK工程

接口使用

搭建出行类用车乘客端的LBS部分,仅需要以下三步:

Step 1:定位+逆地理编码+地图打点,搞定前端展示

效果如下图。屏幕中间的蓝色标记 用到了定位功能。位于顶部的输入框 用到了逆地理编码功能;地图上蓝色的出租车标识 运用了地图打点。

Screenshot

定位

需要做的仅仅是将libs下的库拷贝到你的工程中,打开高小德用车的源代码,将LocationTask.java拷贝到工程中,找到MainActivity.java文件,仿照其中的写法,在合适的位置调用如下这几行,即可调起定位功能。

private LocationTask mLocationTask;//声明定位对象
mLocationTask = LocationTask.getInstance(getApplicationContext());//获取定位单例
mLocationTask.setOnLocationGetListener(locationTaskListener);//设置监听器
mLocationTask.startSingleLocate();//开始定位
mLocationTask.onDestroy();//销毁定位资源

逆地理编码

先行将RegeocodeTask.java拷贝到工程中,依旧参照MainActivity.java文件,在合适的位置调用如下的代码段,即可调起逆地理编码功能。

private RegeocodeTask mRegeocodeTask;//声明逆地理编码对象
mRegeocodeTask = new RegeocodeTask(getApplicationContext());//为该对象赋值
mRegeocodeTask.setOnLocationGetListener(regeocodeTaskListener);//设置监听器
mRegeocodeTask.search(mPosition.latitude, mPosition.longitude);//启动逆地理编码服务

地图打点

Utils.java封装了在地图上打点的功能,如下调用即可。

Utils.addEmulateData(mAmap, mStartPosition);//调用addEmulateData方法。参数解释:参数一为地图的controller;参数二为模拟数据的中心点,真实数据可以传递数据列表。

Step 2 输入提示+POI搜索,搞定目的地

完成了以上这三大要点之后,接下来需要告诉司机师傅乘客要去哪里了。如下图所示,为了给用户提供一个更好的用车体验,在支持录入目的地的功能基础上,提供输入提示+POI搜索功能,进一步提升体验。 Screenshot

输入提示

拷贝InputTipTask.java到创建的工程中,查看DestinationActivity.java示例,实现TextWatcher接口后,进行如下调用:

//在onTextChanged方法中调用InputTipTask 的getInstance方法
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
    if(RouteTask.getInstance(getApplicationContext()).getStartPoint()==null){
        Toast.makeText(getApplicationContext(), "检查网络,Key等问题", Toast.LENGTH_SHORT).show();
        return;
    }
    InputTipTask.getInstance( mRecomandAdapter).searchTips(getApplicationContext(),s.toString(),
            RouteTask.getInstance(getApplicationContext()).getStartPoint().city);
}

输入提示功能完成!

POI搜索

拷贝PoiSearchTask.java到创建的工程中,参考DestinationActivity.java调用核心方法的方式,即可实现如图所示的POI搜索。核心方法如下:

PoiSearchTask poiSearchTask=new PoiSearchTask(getApplicationContext(),
mRecomandAdapter);//生成poiSearchTask对象
poiSearchTask.search(mDestinaionText.getText().toString(),RouteTask.getInstance(getApplicationContext()).getStartPoint().city);//开始进行POI搜索

Step 3 驾车路径规划,搞定费用预估

驾车路径规划功能提供了费用预估功能,效果参照下图 Screenshot

驾车路径规划

拷贝RouteTask.java文件到创建的工程中,参照MainActivity.java文件中的示例代码,实现OnRouteCalculateListener接口。调用的核心方法如下:

@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);
}

More Repositories

1

android-cluster-marker

android marker聚合效果
Java
195
star
2

wx-regeo-poiaround-weather

基于微信小程序SDK实现的DEMO
JavaScript
190
star
3

amap-location-flutter

高德定位Flutter插件
Objective-C
110
star
4

android-path-record

轨迹回放和轨迹纠偏
Java
96
star
5

android-smooth-move

android marker点沿线平滑移动效果
Java
90
star
6

android-path-smooth

轨迹平滑处理示例
Java
80
star
7

android-service-location

Java
77
star
8

android-o-backgroundlocation

Android O后台保持定位示例
Java
60
star
9

iOS-cluster-marker

Objective-C
58
star
10

amap_maps_flutter

Flutter 使用高德地图SDK示例
Dart
45
star
11

web-route-base-on-geolocation-and-placesearch

一个实现了用户位置确定、目的地选择、驾车路线规划的移动端示例,模拟打车场景。基于高德地图JSAPI的Geolocation、PlaceSearch、Driving、Geocoder等组件开发。
JavaScript
43
star
12

android-place-choose

Java
42
star
13

android-switch-map

Amap和Google地图切换
Java
32
star
14

android-map-game

高德地图Android SDK 3D 关于地图游戏方面的应用
Java
31
star
15

iOS-path-smooth

iOS轨迹平滑处理示例
Objective-C
26
star
16

android-multiple-infowindows

用marker展示多infowindow的效果
Java
25
star
17

android-multiroute-display

多路径规划、导航示例
Java
24
star
18

iOS-path-record

iOS-path-record
Objective-C
22
star
19

iOS-HelloCarPlay

使用高德地图导航SDK实现支持CarPlay的导航App
Objective-C
22
star
20

android-place-search

Java
19
star
21

iOS-trip

演示类似滴滴叫车功能
Objective-C
19
star
22

android-once-continue-location

Java
17
star
23

iOS-map-game

Objective-C
16
star
24

android-drive-route

Java
15
star
25

android-location-circle

定位圈动画
Java
15
star
26

android-trip-search

出行类app结合了叫车主页和检索的demo
Java
15
star
27

android-location-rotation-effect

Java
14
star
28

iOS-smooth-move

Objective-C
14
star
29

android-map-fragment

Java
14
star
30

android-location-markermove

位置变化时,定位点平滑移动效果
Java
14
star
31

web-mobile-placesearch

基于高德jsapi实现的手机端地点搜索
HTML
13
star
32

iOS-location-checkin

实现了支持微调位置的定点签到功能
Objective-C
12
star
33

android-navi-quick-start

综合使用搜索和导航实现导航到周边餐馆功能示例
Java
12
star
34

android-map-permission

动态申请存储和定位运行时权限示例(Android6.0)
Java
12
star
35

iOS-place-choose

iOS-place-choose
Objective-C
11
star
36

iOS-switch-map

根据地图中心点是否在国内切换高德地图和苹果地图
Objective-C
11
star
37

android-walk-route-plan

步行路径规划、通过overlay及列表方式展现规划结果
Java
11
star
38

android-location-geofence

Java
10
star
39

android-nearbysearch

附近派单简单示例demo
Java
10
star
40

android-location-hight-accuracy

提升定位精度示例
Java
10
star
41

android-location-checkin

Java
9
star
42

android-navi-fragment

fragment方式导航示例
Java
8
star
43

iOS-drive-route

iOS驾车路线规划(带实时路况)demo
Objective-C
8
star
44

iOS-location-geofence

iOS地理围栏
Objective-C
8
star
45

android-track-demo

HT 轨迹跟踪的demo
Java
8
star
46

android-kotlin

kotlin amap示例
Kotlin
8
star
47

android-map-zoomtospan

地图全览
Java
7
star
48

android-screenshot-mapview-view

地图截图&View截图功能
Java
6
star
49

iOS-location-rotation-effect

定位图标旋转
Objective-C
6
star
50

android-traffic-transfer

Java
6
star
51

android_moving_point

移动点的轨迹动态展示
Java
6
star
52

iOS-location-circle

iOS-location-circle
Objective-C
6
star
53

iOS-multiroute-display

iOS-multiroute-display
Objective-C
6
star
54

iOS-traffic-transfer

公交换乘:在地图页面上,固定起点和终点,规划出公交路线,通过详情,进行列表的详情展示.
Objective-C
6
star
55

iOS-runAndDraw

显示若何使用高德地图sdk 移动annotation同时画出移动轨迹
Objective-C
5
star
56

iOS-service-location

iOS-service-location
Objective-C
5
star
57

android-map-initialcenter

改变初始地图显示位置
Java
5
star
58

Xamarin-Android

Xamarin 使用高德地图SDK示例
C#
5
star
59

weex-3d-map

Java
5
star
60

AMapGPSMocker

GPS的mock工具,提供单点、多点(路线)的模拟和回放、坐标系转换等功能
Objective-C
5
star
61

amap-location-react-native

高德定位SDK在React Native中的使用示例
Objective-C
4
star
62

iOS-watch-navi

iOS-watch-demo-navi
Objective-C
4
star
63

android-map-scrollview

ViewPager切换页面和滑动地图手势区分示例
Java
4
star
64

iOS-once-continue-location

iOS-once-continue-location
Objective-C
4
star
65

amap-location-weex

Weex上使用高德定位SDK的示例
JavaScript
4
star
66

android-poisearch-demo

出行类app的检索demo
Java
4
star
67

android-map-rotation-effect

地图绕中心点旋转效果 (支付宝AR红包地图手势效果)
Java
4
star
68

android-ride-route-plan

自行车路径规划、通过overlay及列表方式展现规划结果
Java
4
star
69

iOS-trip-search

iOS-trip-search
Objective-C
4
star
70

iOS-assist-h5-location

辅助H5定位:通过定位SDK提供的单次定位接口获取单次定位结果,将定位结果打点在H5地图上。 实现了Objective-C(Swift)和JavaScript的相互调用
Objective-C
4
star
71

iOS-ride-route-plan

iOS骑行出行路线规划demo
Objective-C
3
star
72

android-collision-marker

Marker描述文字碰撞,改变文字位置或者隐藏
Java
3
star
73

iOS-place-search

iOS-place-search
Objective-C
3
star
74

android-navi

Java
3
star
75

android-location-diagnose

高德地图定位检测组件
Java
3
star
76

android-assist-h5-location

Java
3
star
77

android-drive-route-plan

驾车路径规划计算、按照交通拥堵情况绘制路径规划结果
Java
3
star
78

android-gesture-zoom

利用自定义手势实现缩放
Java
3
star
79

iOS-map-rotation-effect

Objective-C
2
star
80

android-marker-grow

Java
2
star
81

iOS-map-scrollview

map view on scrollView
Objective-C
2
star
82

android-map3d

Java
2
star
83

iOS-annotation-click

演示annotation的点击事件处理
Objective-C
2
star
84

iOS-selectable-overlay

iOS-selectable-overlay
Objective-C
2
star
85

iOS-3d-touch

iOS-3DTouch
Objective-C
1
star
86

android-map-indoor

室内地图
Java
1
star
87

iOS-screenshot-mapview-view

iOS-screenshot-mapview-view
Objective-C
1
star
88

Auto_BL_SDK_Demo

Java
1
star
89

android-map-customzoom

自定义地图缩放按钮
Java
1
star
90

iOS_SDK_Dynamic

iOS_SDK_Dynamic
1
star
91

android-map-markerwebicon

Java
1
star
92

iOS-map-initialcenter

改变地图初始化中心点坐标
Objective-C
1
star
93

iOS-marker-grow

annotation起立效果
Objective-C
1
star
94

android-poisearch-demo-lite

针对出行类app使用检索进行了详细介绍
Java
1
star
95

android-commuting-card

通勤卡片
Java
1
star
96

android-map-poioverlay

PoiOverlay开源代码及调用
Java
1
star
97

iOS-map3d

map3d official demo
Objective-C
1
star
98

android-map-text

取消显示地图上的文字
Java
1
star
99

iOS-multiple-infowindows

iOS-multiple-infowindows
Objective-C
1
star