当您为等值线计算设置离开时间参数时,出发时间是当地时间,但是哪个当地时间?位置出发点的当地时间,我的网络服务器位置的当地时间?是否可以更准确?提前致谢
1 回答
您原始问题中的以下陈述不准确:
出发时间为当地时间
Isoline Routing API v8使用RFC 3339作为离开时间参数,因此出发时间可以是您想要的任何时间和任何时区,它不必是“本地”。
根据 API 文档,请求的时间将转换为目的地的本地时间。在您的情况下,这意味着无论您使用什么时间和时区,服务都将始终将其调整为您的坐标所在城市的时间(起点或终点参数)。让我举几个例子:
示例 1:不同的时区
考虑以下请求,其中origin参数中的坐标位于德国柏林:
https://isoline.router.hereapi.com/v8/isolines?
apikey=************&
origin=52.525927,13.388686&
departureTime=2022-01-05T10:00:00-06:00&
range[type]=time&
range[values]=600&
transportMode=car
请求中的时区偏移量为 -06:00,在原点坐标(柏林)处为 +01:00,因此服务转换输入时间并使用2022-01-05T17:00:00+01:00作为等值线计算。
示例 2:相同时区
https://isoline.router.hereapi.com/v8/isolines?
apikey=************&
origin=52.525927,13.388686&
departureTime=2022-01-05T10:00:00+01:00&
range[type]=time&
range[values]=600&
transportMode=car
由于请求中的时区偏移量 (+01:00) 与我们坐标位置的时区相同,因此服务将使用相同的时间戳进行等值线计算:2022-01-05T10:00:00+01:00。
示例 3:未指定的时区偏移量
https://isoline.router.hereapi.com/v8/isolines?
apikey=************&
origin=52.525927,13.388686&
departureTime=2022-01-05T10:00:00&
range[type]=time&
range[values]=600&
transportMode=car
根据 API 文档,当未指定时区偏移量时,假定时间为本地时间。由于我们仍在使用位于柏林的坐标,因此此处的“本地”表示 UTC +01:00,因此服务使用2022-01-05T10:00:00+01:00进行等值线计算。
示例 4:“Z”后缀
https://isoline.router.hereapi.com/v8/isolines?
apikey=************&
origin=52.525927,13.388686&
departureTime=2022-01-05T10:00:00Z&
range[type]=time&
range[values]=600&
transportMode=car
在 RFC 3339 中,“Z”后缀表示 UTC 偏移量为 00:00。在这种情况下,服务使用2022-01-05T11:00:00+01:00进行等值线计算。