我使用distant matrix api来获得2点之间的旅行时间,我想在计算旅行时间时考虑交通,我在传递此URL作为请求的一部分时调用距离矩阵:
"https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial&" +
"origins=" + startLat +"," + startlong +
"&destinations=" + endLat +","+endLong +
//departure_time parameter
"&departure_time=now" +
"&key=my api key");
根据文档,将departure_time参数添加到我的请求中将添加旅行时间数据,同时考虑流量(在上面的URL中,我在发送请求时使用参数)。 我希望将来作为departure_time参数传递一些时间 在阅读文档后,似乎我需要将时间作为int / long传递(例如departure_time = 1399995076)。 这是一些时间例如= 21:15让我们在星期五说。
如何将此时间或任何时间转换为int / long?
我看过this answer以及更多与这个主题有关的内容,但没有一个对我有帮助。
出发时间需要以毫秒为单位的时间,以获得您需要使用System.currentTimeMillis()
的当前时间(以毫秒为单位)。如果您将来需要时间,请以毫秒为单位添加小时数,例如,将来1小时的时间为3600000毫秒,因此请使用System.currentTimeMillis() + 3600000
。
所以在你的代码中它看起来像这样:
Long future_time = System.currentTimeMillis() + 3600000;
"https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial&" +
"origins=" + startLat +"," + startlong +
"&destinations=" + endLat +","+endLong +
//departure_time parameter
"&departure_time=" + future_time +
"&key=my api key");