路由服务的响应中的meanuver方向属性

时间:2015-01-28 15:29:14

标签: here-api

我正在测试API 3.0中的路由服务,我无法在meanuver中找到属性“direction”,这个属性存在于API 2.5中,它的属性指示指令的方向,例如“forward,straight,right” ..“

是否有人知道是否有一些属性指示API 3.0中的指导方向?

感谢。

1 个答案:

答案 0 :(得分:0)

正如migration guide中所讨论的, 2.x 3.0 之间的服务使用发生了根本性转变。以前,Manager对象决定了对底层REST API的请求的固定格式,并封装了响应。现在,开发人员可以(并且应该)设置所有参数。

在路由案例中,问题并非如此" 3.0 API可以做什么?" as" 如何通过 2.x API修复REST请求,我如何模仿我需要的那部分请求?"。

查看Legacy API playground simple routing example,底层REST请求是:

http://route.cit.api.here.com/routing/7.2/calculateroute.json?routeattributes=shape&maneuverattributes=all&jsonAttributes=1&waypoint0=geo!52.516,13.388&waypoint1=geo!52.517,13.395&language=en-GB&mode=shortest;car;traffic:default;tollroad:-1&app_id=APP_ID&app_code=TOKEN...

这可以在 3.x API中精确复制,其中包含以下内容:

 var router = platform.getRoutingService(),
    routeRequestParams = {
      routeattributes: 'shape',
      maneuverattributes: 'all',
      jsonAttributes :'1',
      waypoint0: '52.516,13.388',
      waypoint1: '52.517,13.395',
      language: 'en-GB',
      mode: 'shortest;car;traffic:default;tollroad:-1'
    };

  router.calculateRoute(...);

下一个问题是您的应用程序真正需要哪些参数? 底层 REST 路由7.2 API calculateRoute端点列表包含maneuverattributes说明如何获取路线的说明 - {{1 }}

因此可以将maneuverattributes=...,direction缩小为:

routeRequestParams

总而言之,在将这些参数传递给Maps API for JavaScript var routeRequestParams = { routeattributes: 'shape', maneuverattributes: 'position,length,direction', ...etc... 调用的查询之前,您需要先咨询REST Routing API文档以定义您需要的内容。