javascript - 如何在Here Maps中获得更多沿途积分?

标签 javascript gis here-api

我沿着我的路线得到了一组点,但在汽车在高速公路上的路径中,这些路段很远。我想获得更细粒度的路由。可能吗?

$.ajax({
  url: 'https://route.cit.api.here.com/routing/7.2/calculateroute.json',
  type: 'GET', dataType: 'jsonp', jsonp: 'jsoncallback',
  data: {
    waypoint0: '59.159486,17.645687',
    waypoint1: "59.397635,17.891626",
    mode: 'fastest;car;traffic:enabled',
    app_id: 'VXZP5fwHfh2WQIWnp0Zx',
    app_code: 'NgKq-kVEUMKxxNpBKP_hBg',
    departure: 'now'
  },
  success: function (data) {
    moves = data.response.route[0].leg[0].maneuver;
    timeAvailable = 45;
    trackPoints = moves.map(function (d) { return { 
      lat: d.position.latitude, 
      lng: d.position.longitude,
      time = d.travelTime }; });

    for (var i = 0; i < trackPoints.length; i++) {
      smackUpArea(map, trackPoints[i], timeAvailable);
      timeAvailable -= trackPoints[i].time;
    };
  }
})

最理想的是,我希望每行驶 x 公里或每 y 分钟获得一个积分。这可能吗?

最佳答案

要获取更细粒度的路由信息​​,您可以请求路由组成的链接。为此,请添加值为 linkslilegattributes 查询参数。这会将 link 数组添加到每个路由中每个 leg 对象的响应中。此外,您可以使用 linkattributes 查询参数来决定要查看每个链接的哪些信息。您可以包括链接的长度和形状,以及用户沿路线到达此链接时路线上的剩余时间或距离等信息。还有许多其他可能性,您可以找到 here(查找 RouteLinkAttributeType)。

因此,在您的代码中,这可能类似于:

  data: {
    waypoint0: '59.159486,17.645687',
    waypoint1: "59.397635,17.891626",
    mode: 'fastest;car;traffic:enabled',
    app_id: 'VXZP5fwHfh2WQIWnp0Zx',
    app_code: 'NgKq-kVEUMKxxNpBKP_hBg',
    departure: 'now',
    legattributes: 'li',
    linkattributes: 'le,rt'
  },

响应中返回的实际链接如下所示:

{
  "linkId":"-733185668",
  "shape":["52.5158286,13.3774424","52.5158286,13.3774424"],
  "length":0,
  "remainTime":249,
  "speedLimit":13.8888893,
  "_type":"PrivateTransportLinkType"
}

关于javascript - 如何在Here Maps中获得更多沿途积分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39876334/

相关文章:

android - 如何在 android 中加载 WFS?或哪个引擎提供在 android 中加载 WFS?

javascript - HERE 映射 javascript API 多个航点

here-api - here.com api key 计算矩阵失败

javascript - 如何删除 HERE JS API 中以前的路由?

javascript - 从 Ajax 方法返回字符串结果

javascript - 从数组中提取值并将它们转换为字符串的最佳方法(允许 ES6)是什么?

javascript - 键入时展开/折叠文本区域并调整行数

java - 错误: Could not find mediaLib accelerator wrapper classes with extension GIS

Javascript 事件和函数触发器

python - 使用 python 验证一个 shapefile 是一个 shapefile (fiona, ogr)