前言
如何实现类似淘宝、京东、拼多多的物流轨迹路线图,实现订单物流更直观更有效的展示。
准备工作
这里使用的快递100提供的API,需要一个快递100的账号。
Step 1
注册快递100账号,已有账号请忽略
Step 2
联系快递100的工作人员,开通对应的服务,里面有100单的测试单量,足够测试。
Step 3
引入快递100的sdk包,github源码
<dependency>
<groupId>com.github.kuaidi100-api</groupId>
<artifactId>sdk</artifactId>
<version>1.0.1</version>
</dependency>
Step 4
实现伪代码
public void testQueryMapView() throws Exception{
QueryTrackReq queryTrackReq = new QueryTrackReq();
QueryTrackParam queryTrackParam = new QueryTrackParam();
//对应的快递公司编码,可以在这里下载对应的快递公司编码 (https://api.kuaidi100.com/manager/openapi/download/kdbm.do)
queryTrackParam.setCom(CompanyConstant.YD);
//快递单号
queryTrackParam.setNum("4311159956248");
//手机号码
queryTrackParam.setPhone("17725390266");
//寄件地
queryTrackParam.setFrom("河北保定市");
//目的地
queryTrackParam.setTo("湖南岳阳市");
String param = new Gson().toJson(queryTrackParam);
queryTrackReq.setParam(param);
//对应快递100的企业信息里的'customer'(https://api.kuaidi100.com/manager/page/myinfo/enterprise)
queryTrackReq.setCustomer(customer);
//key对应对应快递100的企业信息里的'授权KEY'(https://api.kuaidi100.com/manager/page/myinfo/enterprise)
queryTrackReq.setSign(SignUtils.querySign(param ,key,customer));
IBaseClient baseClient = new QueryTrackMap();
HttpResult result = baseClient.execute(queryTrackReq);
QueryTrackMapResp queryTrackMapResp = new Gson().fromJson(result.getBody(),QueryTrackMapResp.class);
System.out.println(queryTrackMapResp);
}
返回结果(部分数据省略,可以自己测试)
{
"message": "ok",
"nu": "4311159956248",
"ischeck": "1",
"com": "yunda",
"status": "200",
"data": [{
"time": "2020-12-23 13:55:55",
"context": "[湖南汨罗市公司]【岳阳市】您的快件已被签收",
"ftime": "2020-12-23 13:55:55",
"areaCode": null,
"areaName": null,
"status": "签收"
}, {
"time": "2020-12-20 20:43:10",
"context": "[河北省第六公司]【保定市】河北省第六公司 已揽收",
"ftime": "2020-12-20 20:43:10",
"areaCode": "CN130600000000",
"areaName": "河北,保定市",
"status": "揽收"
}],
"state": "3",
"condition": "D01",
"isLoop": false,
"trailUrl": "https://api.kuaidi100.com/timev2/api/track/map/9dce19768b965cb92ed8240b4a5532d6",
"arrivalTime": "2020-12-23 10",
"totalTime": "2天14小时",
"remainTime": "0天0小时"
}
Step 5
效果展示,快递100会返回地图的trailUrl,展示即可
结语
市面上能实现了地图的除了大的几家电商巨头,以及快递公司本身,第三方实现目前只发现快递100这一家,支持上千家的快递查询,以及国内上百家快递公司的地图轨迹展示,并且提供预测到达时间,轻松对接无需自主维护,省时省力,最近还在搞促销活动,值得推荐!!!