跳转到主要内容
Guide

带停靠点的路线

使用 Chargetrip Route API 计算 EV 路线时,您可以使用 via 在起点和终点之间添加中间停靠点。

停靠点可让您针对真实出行场景自定义路线规划,例如在偏好的充电站充电、接送乘客或在餐厅停留。

停靠点类型

Chargetrip 支持两种类型的中间停靠点:

停靠点是否充电输入字段用途
地点否via.geometry地理位置停靠点(接人、送货、风景绕行、咖啡休息)。
充电站是via.properties.station.station_id明确选定的充电站。

停靠时长

您可以为每个停靠点配置时长。根据停靠点类型(充电或非充电)的不同,stop_duration 的配置位置不同,行为也不同:

1. 非充电停靠点

停靠时长配置在 input.via.properties.location.stop_duration。该时长表示确切的停靠时长,会直接计入总行程时间,不影响车辆的充电或行驶时间。

2. 充电停靠点

停靠时长配置在 input.via.properties.station.stop_duration。该值表示最短停靠时长。车辆至少会在充电站停留这么长时间,但路线规划器可能会根据所配置的 charge_mode 延长停靠:

  • ALWAYS_TO_MAX_CHARGE:如有需要,延长充电时间以达到所配置的最大 SoC。如果请求的 stop_duration 超过达到最大 SoC 所需的时间,剩余时间将记为闲置停留。

  • OPTIMIZE_TRAVEL_TIME:仅当延长停留能缩短整体行程时间(例如省去后续的一次充电停靠)时,才会超出 stop_duration 延长停留。否则,按请求的确切时长充电。如果请求的 stop_duration 超过达到最大 SoC 所需的时间,剩余时间将记为闲置停留。

如果未提供值,规划器将完全根据路线的 charge_mode 来优化充电时长。

向现有路线添加充电站

一个常见场景是:用户为已有停靠点的路线选择充电站,例如您的界面中显示的备选充电站。无代码方案使用这种方法,将充电站自动添加为 via 停靠点,无需任何重新排序逻辑,让路线无缝更新。

via 数组的顺序就是各停靠点被访问的顺序。追加到末尾的充电站会最后一个被访问,即使它位于靠近路线起点的位置。要将其插入到正确位置,请将充电站的位置与路线上已有的途经点进行比较:

  1. 按顺序收集途经点。

    从要修改的路线的 request_input 中获取 origin、每个现有的 via 停靠点以及 destination。request_input 中的每个途经点都带有 geometry,包括仅使用 station_id 创建的停靠点。

  2. 绘制一条穿过途经点的线。

    按顺序连接各途经点,形成一条线。这条线上两个途经点之间的每一部分是一个线段。

  3. 找到离充电站最近的线段。

    使用地理空间库,找出线上离充电站坐标最近的点。例如 turf.js 提供了 nearestPointOnLine,它还会返回包含该点的线段的索引。该索引就是线段起点所对应的途经点的索引。

  4. 将充电站插入到该途经点之后。

    途经点列表以 origin 开头,因此途经点在列表中的索引,对应于将新项插入 via 后使其紧随该途经点的位置。索引为 0 表示该充电站作为第一个停靠点插入。

  5. 切勿插入到终点之后。

    当最近的点位于最后一个线段上时,索引可能指向 destination。在此处插入会使充电站排在路线终点之后,因此请改用前一个途经点,使充电站作为 destination 之前的最后一个停靠点插入。

注意事项

  • 这条线用直线段连接各途经点,并不沿路线的实际道路。备选充电站始终位于路线周围 5 至 10 公里的走廊范围内,因此不会偏离太远,最近的线段大多是准确的。对于超出该范围的充电站,其他方案可能更合适。
  • 路线的 request_input 是权威来源。请基于它构建新请求,并保持 vehicle 和 charging 设置等其他所有字段不变。

示例

计算带有 30 分钟非充电停靠的路线。 在该停靠点上添加了 1800 秒(30 分钟)的 stop_duration。这就是停靠时长,因为不可能带来额外收益。

示例请求
graphql
mutation CreateRouteWithWaypoint {  createRoute(    input: {      vehicle: {        id: "60b8d5a2f1c8e9001b9e2831"        charging: { mode: OPTIMIZE_TRAVEL_TIME }      }      origin: {        type: Point        coordinates: [4.9041, 52.3676]      }      destination: {        type: Point        coordinates: [6.9583, 50.9375]      }      via: [        {          geometry: {            type: Point            coordinates: [5.1214, 52.0907] # Utrecht          }          properties: {            location: {              name: "Utrecht Central"              stop_duration: 1800 # 30 minutes in seconds            }          }        }      ]    }  ) {    id    status  }}

计算带有至少 30 分钟充电停靠的路线。 在该停靠点上添加了 1800 秒(30 分钟)的 stop_duration。这将是最短停靠时长。如果延长充电时间对行程有利,时长将会增加。

示例请求
graphql
mutation CreateRouteWithChargingVia {  createRoute(    input: {      vehicle: {        id: "60b8d5a2f1c8e9001b9e2831"        charging: { mode: OPTIMIZE_TRAVEL_TIME }      }      origin: {        type: Point        coordinates: [4.9041, 52.3676]      }      destination: {        type: Point        coordinates: [6.9583, 50.9375]      }      via: [        {          properties: {            station: {              station_id: "5e849ea2837bc43df65d19a2"              stop_duration: 1800            }          }        }      ]    }  ) {    id    status  }}

计算不设最短停靠时长的充电停靠路线。 在该停靠点上省略了 stop_duration:规划器会根据充电模式计算最优充电时间。

示例请求
graphql
mutation CreateRouteWithChargingVia {  createRoute(    input: {      vehicle: {        id: "60b8d5a2f1c8e9001b9e2831"        charging: { mode: OPTIMIZE_TRAVEL_TIME }      }      origin: {        type: Point        coordinates: [4.9041, 52.3676]      }      destination: {        type: Point        coordinates: [6.9583, 50.9375]      }      via: [        {          properties: {            station: {              station_id: "5e849ea2837bc43df65d19a2"            }          }        }      ]    }  ) {    id    status  }}

此内容是否有帮助?

开发者

Chargetrip ©

管理 Cookie

生效日期: 2024 年 3 月 20 日 · 更新日期: 2023 年 1 月 25 日

我们使用 Cookie 来帮助改善您在 developers.chargetrip.com 上的体验。本 Cookie 政策是隐私政策的一部分,涵盖您的设备与我们网站之间的 Cookie 使用情况。我们还提供我们可能使用的第三方服务的基本信息,这些服务也可能在其服务中使用 Cookie,但不在我们的政策涵盖范围内。

如果您不希望接受我们的任何 Cookie,应指示您的浏览器拒绝来自 developers.chargetrip.com 的 Cookie,但请理解,我们可能因此无法为您提供某些您所需的内容和服务。

Cookie 是网站在您访问时存储在您设备上的一小段数据,通常包含有关该网站本身的信息、使网站在您再次访问时识别您的网络浏览器的唯一标识符、服务于 Cookie 自身用途的其他数据,以及 Cookie 自身的有效期。

Cookie 用于启用某些功能(例如登录)、跟踪网站使用情况(例如分析)、存储您的用户设置(例如时区、通知偏好),以及个性化您的内容(例如广告、语言)。

由您所访问的网站设置的 Cookie 通常称为“第一方 Cookie”,通常只跟踪您在该特定网站上的活动。由其他网站和公司(即第三方)设置的 Cookie 可用于在使用同一第三方服务的其他网站上跟踪您。

由您所访问的网站设置的 Cookie 通常称为“第一方 Cookie”,通常只跟踪您在该特定网站上的活动。由其他网站和公司(即第三方)设置的 Cookie 可用于在使用同一第三方服务的其他网站上跟踪您。

定向/广告 Cookie 用于确定哪些推广内容与您及您的兴趣更相关、更合适。网站可能使用它们来投放定向广告,或限制您看到某则广告的次数。这有助于公司提高其营销活动的有效性以及呈现给您的内容的质量。这些 Cookie 可能由您所访问的网站(第一方)或第三方服务设置。由第三方设置的定向/广告 Cookie 可用于在使用同一第三方服务的其他网站上跟踪您。我们在我们的网站上使用定向/广告 Cookie。

定向/广告 Cookie 用于确定哪些推广内容与您及您的兴趣更相关、更合适。网站可能使用它们来投放定向广告,或限制您看到某则广告的次数。这有助于公司提高其营销活动的有效性以及呈现给您的内容的质量。这些 Cookie 可能由您所访问的网站(第一方)或第三方服务设置。由第三方设置的定向/广告 Cookie 可用于在使用同一第三方服务的其他网站上跟踪您。我们在我们的网站上使用定向/广告 Cookie。

第三方承诺

在启用所有第三方提供商的服务之前,我们会审查其隐私政策,以确保其做法与我们一致。我们绝不会故意引入损害或违反用户隐私的第三方服务。

Cookie
google-cookie-consent
描述
存储您的 Cookie 偏好,即您已接受或拒绝了哪些类别,以便我们在您每次访问时都尊重您的选择,并仅加载您允许的分析或营销工具。
有效期
2 年

如果您不希望接受我们的 Cookie,可以指示您的浏览器拒绝来自我们网站的 Cookie。大多数浏览器默认配置为接受 Cookie,但您可以更新这些设置,以完全拒绝 Cookie,或在网站尝试设置 Cookie 时通知您。

如果您使用多台设备浏览网站,可能需要在每台设备上分别更新您的设置。

虽然阻止某些 Cookie 对网站体验的影响很小,但阻止所有 Cookie 可能意味着您无法访问您所浏览网站上的某些功能和内容。

我们可能会不时更新本 Cookie 政策,例如以反映我们所使用 Cookie 的变化,或出于其他运营、法律或监管原因。请重新访问本 Cookie 政策,以了解我们对 Cookie 及相关技术的使用情况。本 Cookie 政策顶部的日期表示其最近一次更新的时间。