在我的iPhone应用程序中,我正在使用MapKit向用户显示他的位置,我还想向他展示总时间和持续时间 到他的目的地。 我可以使用Google方向API来做到这一点吗? 我打算做的是每隔几秒询问一次方向(我知道最多2500个请求..) 并且仅显示来自对用户的响应的“方向”和“持续时间”值。
答案 0 :(得分:2)
是的,你可以。
JSON响应包括距离和持续时间,例如
"duration": {
"value": 74384,
"text": "20 hours 40 mins"
},
"distance": {
"value": 2137146,
"text": "1,328 mi"
},
我建议每分钟只调用一次API。您可以使用线性插值来计算中间值(您必须估算速度以减少适当数量的距离)。
实现这个......
首先保存返回结果的时间。
self.responseTime = [NSDate date];
计算谷歌使用的速度。
Speed = Distance / Time
因此,在示例中,原始单位是米和秒,所以
Speed = 2137146 / 74384 = 28.7... ms^1
使用NSTimer经常进行定期回调。在你需要的回调中:
按响应时间后经过的时间减少时间。
通过自响应时间起计算的速度*经过的时间减去距离。
更新标签。