驾车路径规划
http://lbs.amap.com/api/webservice/guide/api/direction/#driving
例子:
http://restapi.amap.com/v3/direction/driving?key=959e9ee93388f4bd5a144aabcc884a2e&origin=116.481028,39.989643&destination=116.434446,39.90816&originid=&destinationid=&extensions=base&strategy=0&waypoints=116.357483,39.907234
参数详情:
http://lbs.amap.com/api/webservice/guide/api/direction/#driving
问题:
1
、以上两种方式,高德API
企业用户支持
20
万次
/
天,
1
万次
/
分钟
。随着业务发展20W/
天可能不够,解决办法——创建多个企业用户。
2
、调用失败情况下如何解决(个人认为可能性很小,测试了湖中心,公园中心,山中心,都有结果返回)。解决办法——重试、自建模型获取距离和时长(后期)
结论:
可以通过高德获取导航,估算距离和时长。
距离计算
如果不考虑导航,可以使用距离计算,原想计算点和点的直线距离,感觉不合适,比如
拐弯
、
掉头
场景,都会使计算结果不准确。
http://lbs.amap.com/api/webservice/guide/api/direction/#distance
例子:
http://restapi.amap.com/v3/distance?origins=116.481028,39.989643|114.481028,39.989643|115.481028,39.989643&destination=114.465302,40.004717&output=xml&key=959e9ee93388f4bd5a144aabcc884a2e
参数详情:
http://lbs.amap.com/api/webservice/guide/api/direction/#distance
使用场景可以有两个:
1
、用户下单,获取周边车辆,估算时间和距离。一对多,1
个终点多个起始点
2
、行车上报经纬度,计算行车距离和时间,进而计算价格。1
个终点1
个起始点。
问题:
1
、以上两种方式,高德API
企业用户支持
20
万次
/
天,
1
万次
/
分钟
。随着业务发展20W/
天可能不够,解决办法——创建多个企业用户。
2
、调用失败情况下如何解决(个人认为可能性很小,测试了湖中心,公园中心,山中心,都有结果返回)。解决办法——重试、自建模型获取距离和时长(后期)
结论:
可以使用高德获取距离和时间评估,以及距离计算
抓路服务
http://restapi.amap.com/v3/autograsp?parameters
例子:
http://restapi.amap.com/v3/autograsp?carid=abcd123456&locations=116.496167,39.917066;116.496149,39.917205;116.496149,39.917326&time=1434077500,1434077501,1434077510&direction=1,1,2&speed=1,1,2&key=959e9ee93388f4bd5a144aabcc884a2e
参数详情:
http://lbs.amap.com/api/webservice/guide/api/autograsp/
{ "status" : "1", "count" : "3", "info" : "OK", "infocode" : "10000", "roads" : [ "0" : { "roadname" : [ ], "crosspoint" : "0,0", 查询点与匹配道路的正切且最短距离匹配点 "roadlevel" : "-1", 这种情况不好处理,没有定位到路线status却显示为1,调整又找不到具体的方案调整 "maxspeed" : "-1", "intersection" : [ ], "intersectiondistance" : "-1" }, "1" : { "roadname" : "阜安西路", "crosspoint" : "116.4788,40.000298", "roadlevel" : "44000", "maxspeed" : "50", "intersection" : "宏泰西街东口", "intersectiondistance" : "190" }, "2" : { "roadname" : "阜安西路", "crosspoint" : "116.47871,40.002014", "roadlevel" : "44000", "maxspeed" : "50", "intersection" : [ ], "intersectiondistance" : "-1" } ] } |
问题:
1
、失败后怎么处理(
INVALID_PARAMS
请求参数非法)
2
、状态对,但是路劲信息不对怎么处理(
"roadname":[],
"crosspoint" :"0,0",
)
3
、论坛里有人反映,校对后的点依然不准确。自己也验证了一下确实存在(也可能是第三方工具——
xGeocoding
,经纬度转换出现的偏差)。个人认为偏差不大,可以满足需求。
结论:
1
、高频、短距离还算可靠,远距离高德抓路不可靠
2
、出现不正确的情况下,无法调整