您现在的位置:

电车算路

电车算路

电车算路为根据起点和终点坐标和路线条件规划出电动汽车合理的行驶路线。示例代码如下:

            //设置起点和终点坐标
            GeoPoint startGeoPoint = new GeoPoint(116.39750, 39.90850); //天安门
            GeoPoint endGeoPoint = new GeoPoint(116.43423, 39.93766); //东直门大街
            RoutePlan routePlan = new RoutePlan();
            //设置监听
            routePlan.setListener(new RoutePlan.Listener() {
                @Override
                public void onSuccess(final RouteResult result) {
                    //查询成功
                }
    
                @Override
                public void onFail(final APIStatus status) {
                    //查询失败 
                }
            });
            //设置请求参数
            RoutePlan.Query query = RoutePlan.Query.newQuery(startGeoPoint, endGeoPoint, RoutePlanType.ELE_CAR);
            //设置路线方式
            query.setPolicy(0);
            //设置返回一条路线,取值范围在1<=num<=3;
            query.setNum(1);
            //设置电动汽车的剩余电量
            query.setSoc(50);
            //设置电动汽车的想要充值的电量
            query.setCapacity(50);
            routePlan.setQuery(query);
            //发起请求
            routePlan.plan();
        

RoutePlan.Query说明:
1. 通过RoutePlan.Query中newQuery(GeoPoint startPoint, GeoPoint endPoint, int queryType)方法获取实例;
2. startPoint 起点GeoPoint坐标;
3. endPoint 终点GeoPoint坐标;
4. queryType 算路类型,驾车算路类型为RoutePlanType.ELE_CAR;
5. setSoc(double soc)设置电动汽车剩余电量,电车算路必须调用该方法;
6. setCapacity(double capacity)设置想要在充电桩上充值的电量,该值要小于车厂额定的电量。电车算路必须调用该方法;
7. setNum(int num) 设置算路返回的条数,num取值范围1 <= num <= 3;
8. setPolicy(int policy)方法为设置算路的条件,policy取值见下表:

含义

0

默认(路况+时间+里程综合考虑)

1

躲避拥堵

2

不走高速

3

高速优先

4

避免收费

5

躲避拥堵&不走高速

6

躲避拥堵&高速优先

7

躲避拥堵&避免收费

8

躲避拥堵&不走高速&避免收费

0

不走高速&避免收费

注:结果返回接口为异步线程接口,Android项目如需在返回中操作控件,必须切换到Main主线程中。

车辆行驶范围

车辆行驶范围功能为基于电动汽车的剩余电量和当前位置,实时显示车辆可行驶的范围。

示例代码如下:

            //设置参数和结果监听,发起搜索
            EVRange.searchRange(EVRange.Query.newQuery(new GeoPoint(116.39750, 39.90850), 8), new EVRange.Listener() {
                @Override
                public void onSuccess(final GeoPolygon range) {
                    //获取范围成功
                }
    
                @Override
                public void onFail(final APIStatus status) {
                    //获取范围失败
                }
            });
        

EVRange.Query获取实例EVRange.Query.newQuery(GeoPoint geoPoint,double int soc);
参数:
geoPoint: 当前车辆所在位置,例如“new GeoPoint(116.39750, 39.90850)”。
soc: 当前车辆所剩余的电量,单位千瓦,例如 8千瓦就传入8。
注:结果返回接口为异步线程接口,Android项目如需在返回中操作控件,必须切换到Main主线程中。

返回顶部