{"version":"0.1.0","code":"0000","result":true,"message":"处理成功","errdetail":"","timestamp":1671508887007,"data":{"id":71712784,"title":"7.12.2 新能源电车相关","slug":"rzl9yc","format":"lake","bookId":26046811,"body":null,"body_draft":null,"body_html":"

概述

本篇指南主要介绍电车在线搜索充电站POI时的参数构建以及搜索结果下发时如何获取筛选数据。筛选的规则包含品牌、孔数、电压、充电站服务类型、国家标准码,为方便传值高德服务端做以下定义:

充电站服务类型

充电站品牌

孔数

电压

国家标准码

0

未知

0

无效,不参与筛选

30

森通智达

3

3孔

0

未知

0

未知

1

公共充电站

1

国家电网

31

万马爱充

5

5孔

220

220V

1

2011(中国标准- GBT2011)

2

品牌专用

2

南方电网

32

充电队长

7

7孔

380

380V

2

2015(中国标准- GBT2015)

3

出租充电站

3

宝马

33

云杉智慧

9

9孔



3

BS1363(英国标准 - 三孔插头)

4

公交专用

4

比亚迪

34

象前充





4

IEC62192(欧洲标准 - Type2)

5

物流专用

5

普天新能源

35

挚达科技





5

CHAdeMo(日本标准)



6

中国石油

36

南京易充





6

SAEJ1772(美国标准)



7

中国石化

37

鹏辉能源





7

CCS DC Combo (Type2 combo)



8

壳牌

38

共创新能源









9

美孚

39

劲桩









10

加德士

40

亨通龙韵









11

东方

41

广东交通集团









12

中国石油碧辟

42

蔚来能源









13

中国石化碧辟

43

小二租车









14

道达尔

44

快来充









15

埃索

45

华商三优









16

中国海油

46

安悦充电









17

特斯拉

47

国联智充









18

北京汽车

48

易迅通达









19

循道新能源

49

66快充









20

Tellus power

50

巨电新能源









21

特来电

51

上海鼎充









22

星星充电

52

极数充









23

安悦

53

地上铁租车









24

依威能源

54

极氪能源









25

比亚迪

55

保时捷









26

小桔充电











27

驿充电











28

云快充











29

万城万充










场景图

筛选字段构造

AutoSDK 单独为充电站提供了两套筛选方案,关键字与沿途搜都有对应的参数设置,两套方案是互斥,及一次搜索至多只能有一套生效。另外关键字搜索 也可以使用 classify_data 字段实现筛选功能。

1、使用 auto_attr_filter 字段

示例表达式

仅供参考,请以实际项目需求为准,条件越多搜索结果越少。

cscf:0|1|2|3|4|5;national_standard:1|2;brand_code:0|1|2|3;plug_type:未知|3|5|7|9

2、使用 custom 与 custom_and 字段

示例表达式

仅供参考,请以实际项目需求为准,条件越多搜索结果越少。

custom=cscf_index:0|1|2;charging_jack:1_7_220|3_5_380;national_standard:1|2|3 // 指定筛选规则\ncustom_and=true;true // 筛选规则运算关系 (true 表示 and 逻辑, false 表示 or 逻辑)

注意: 充电站搜索时, specialSearch 字段需要设置为 1,custom 值才可以生效

3、使用 classify_data 字段(只适用 KeyWordSearch)

针对筛选规则表达式字段上层构造成本较高,高德服务端关键字搜索在发起请求是 is_classify 传 true,对应的搜索结果中会下发针对搜索结果常用的分类表达式值,以及当前选中的规则,再次搜索时只需简单拼接下发的规则即可实现对搜索结果过滤筛选的功能。

搜索下发的 classify 数据(方便描述这里使用Json结构):

[\n    {\n        "checkedvalue": "category=011100;filter_index=0",\n        "category": [\n            {\n                "alias": "",\n                "multiselect": "",\n                "name": "全部品牌",\n                "value": "category=011100;filter_index=0",\n                "display": ""\n            },\n            {\n                "alias": "",\n                "multiselect": "",\n                "name": "特来电",\n                "value": "category=011100;custom=brand_charge:特来电;filter_index=1", \n                "display": ""\n            },\n            {\n                "alias": "",\n                "multiselect": "",\n                "name": "国家电网",\n                "value": "category=011100;custom=brand_charge:国家电网;filter_index=2",\n                "display": ""\n            },\n            {\n                "alias": "",\n                "multiselect": "",\n                "name": "星星充电",\n                "value": "category=011100;custom=brand_charge:星星充电;filter_index=3",\n                "display": ""\n            },\n            {\n                "alias": "",\n                "multiselect": "",\n                "name": "特斯拉",\n                "value": "category=011100;custom=brand_charge:特斯拉;filter_index=4",\n                "display": ""\n            },\n            {\n                "alias": "",\n                "multiselect": "",\n                "name": "普天新能源",\n                "value": "category=011100;custom=brand_charge:普天新能源;filter_index=5",\n                "display": ""\n            },\n            {\n                "alias": "",\n                "multiselect": "",\n                "name": "依威能源",\n                "value": "category=011100;custom=brand_charge:依威能源;filter_index=6",\n                "display": ""\n            },\n            {\n                "alias": "",\n                "multiselect": "",\n                "name": "安悦",\n                "value": "category=011100;custom=brand_charge:安悦;filter_index=7",\n                "display": ""\n            },\n            {\n                "alias": "",\n                "multiselect": "",\n                "name": "循道新能源",\n                "value": "category=011100;custom=brand_charge:循道新能源;filter_index=8",\n                "display": ""\n            },\n            {\n                "alias": "",\n                "multiselect": "",\n                "name": "比亚迪",\n                "value": "category=011100;custom=brand_charge:比亚迪;filter_index=9",\n                "display": ""\n            }\n        ],\n        "name": "品牌",\n        "ctype": "category"\n    },\n    {\n        "checkedvalue": "category=011100;filter_index=0",\n        "category": [\n            {\n                "alias": "",\n                "multiselect": "",\n                "name": "快/慢充",\n                "value": "category=011100;filter_index=0",\n                "display": ""\n            },\n            {\n                "alias": "",\n                "multiselect": "",\n                "name": "快充",\n                "value": "category=011100;filter_index=1",\n                "display": ""\n            },\n            {\n                "alias": "",\n                "multiselect": "",\n                "name": "慢充",\n                "value": "category=011100;filter_index=2",\n                "display": ""\n            }\n        ],\n        "name": "快慢充",\n        "ctype": "category2"\n    }\n]

classify_data 示例表达式

classify_data = "category=011100;custom=brand_charge:特斯拉;filter_index=4,1" // 特斯拉快充
classify_data = "category=011100;custom=brand_charge:特斯拉|国家电网" // 特斯拉和国家电网

注意: 品牌与快慢充类型 都有 filter_index 表达式中 filter_index 合并使用 英文 , 连接


示例代码

SearchKeywordParam param = new SearchKeywordParam();\nparam.query_type = "TQUERY";\nparam.keywords = "充电站";  // 替换为输入框输入的搜索关键字\nparam.adcode = 350200;\nparam.city = "350200";\n/* 搜索中心点坐标 */\nparam.poi_loc = 118.089990,24.479096;\n/* 自车位坐标 */\nparam.user_loc = 118.089990,24.479096; // 搜索中心坐标和自车位坐标获取可参考关键字搜文档\nparam.search_operate = 1; // 框搜\n/* 获取框搜范围,对角线两个点的坐标 */\nparam.geoob = "117.13299|24.968062|119.046991|23.988222";\nparam.pagesize = 10;\nparam.offlineResultMaxCount = 200;\nparam.is_classify = true;
SearchKeywordParam param = new SearchKeywordParam();\nparam.query_type = "TQUERY";\nparam.keywords = "充电站";  // 替换为输入框输入的搜索关键字\nparam.adcode = 350200;\nparam.city = "350200";\n/* 搜索中心点坐标 */\nparam.poi_loc = 118.089990,24.479096;\n/* 自车位坐标 */\nparam.user_loc = 118.089990,24.479096; // 搜索中心坐标和自车位坐标获取可参考关键字搜文档\nparam.search_operate = 1; // 框搜\n/* 获取框搜范围,对角线两个点的坐标 */\nparam.geoob = "117.13299|24.968062|119.046991|23.988222";\nparam.pagesize = 10;\nparam.offlineResultMaxCount = 200;\nparam.is_classify = true;\n\n// 增加筛选参数\nparam.classify_data = "category=011100;custom=brand_charge:特斯拉;filter_index=4,0";
SearchKeywordParam param = new SearchKeywordParam();\nparam.query_type = "TQUERY";\nparam.keywords = "充电站";  // 替换为输入框输入的搜索关键字\nparam.adcode = 350200;\nparam.city = "350200";\n/* 搜索中心点坐标 */\nparam.poi_loc = 118.089990,24.479096;\n/* 自车位坐标 */\nparam.user_loc = 118.089990,24.479096; // 搜索中心坐标和自车位坐标获取可参考关键字搜文档\nparam.search_operate = 1; // 框搜\n/* 获取框搜范围,对角线两个点的坐标 */\nparam.geoob = "117.13299|24.968062|119.046991|23.988222";\nparam.pagesize = 10;\nparam.offlineResultMaxCount = 200;\nparam.is_classify = true;\n\n// 增加筛选参数\nparam.classify_data = "category=011100;custom=brand_charge:特斯拉;filter_index=4,1";

结果解析

class SearchKeyWordObserver implements IGSearchKeyWordObserver {\n    private ArrayList<String> brandList;\t/**< 所有充电站品牌列表 */\n    private String curBrand;\t\t\t\t/**< 当前选中的充电站品牌 */\n    private ArrayList<String> chargingStationTypeList;\t/**< 所有充电站快慢充类型列表 */\n    private String curChargingStationType;\t\t\t\t/**< 当前选中的充电站快慢充类型 */\n    \n    @Override\n    public void onGetKeyWordResult(int taskid, int euRet, SearchKeywordResult pstResult) \n    {\n\n        Log.i(TAG, "onGetKeyWordResult: ");\n        Log.i(TAG, " taskid = " + taskid);\n        Log.i(TAG, " euRet = " + euRet);\n        if (stResult != null) \n        {\n            if (1 == pstResult.iPoiType)\n            {\n                if (pstResult.classify.size() > 0)\n                {\n                    for (int i=0; i<pstResult.classify.size(); ++i)\n                    {\n                        SearchPoiClassify poiClassify = pstResult.classify.get(i);\n                        // 品牌筛选信息\n                        if (poiClassify.ctype == "category")\n                        {\n                            for (int i=0; i<poiClassify.category.size(); ++i)\n                            {\n                                // 当前筛选校对值\n                                if (poiClassify.checkedvalue == poiClassify.category.get(i).value)\n                                {\n                                    // 当前选中的充电站品牌\n                                    curBrand = poiClassify.category.get(i).name;\n                                }\n                                // 所有充电站品牌列表\n                                brandList.add(poiClassify.category.get(i).name);\n                            }\n                        }\n                        // 快慢充类型筛选信息\n                        else if (poiClassify.ctype == "category2")\n                        {\n                            for (int i=0; i<poiClassify.poiClassify.size(); ++i)\n                            {\n                                // 当前筛选校对值\n                                if (poiClassify.checkedvalue == poiClassify.category.get(i).value)\n                                {\n                                    // 当前选中的充电站快慢充类型\n                                    chargingStationTypeList = poiClassify.category.get(i).name;\n                                }\n                                // 所有充电站快慢充类型列表\n                                curChargingStationType.add(poiClassify.category.get(i).name);\n                            }\n                        }\n                \t}\n            \t}\n\t\t\t}\n        }\n    }\n}
","body_lake":null,"pub_level":null,"status":"0","updated_at":"2022-07-26 02:22:18","deleted_at":null,"nameSpace":"mnlcaa/v610","browseCount":175,"collectCount":0,"estimateDate":21,"docStatus":0,"permissions":true,"overView":false}}