如何使用唯一的GPS获取旅行方向?

时间:2010-12-27 06:33:14

标签: iphone iphone-sdk-3.0 ios4

如何仅使用GPS(经度和纬度)信息在iPhone上获取行进方向(N,NE,E,SE,S,SW,W,NW)?

我不想使用指南针,因为它并不总是准确的。

1 个答案:

答案 0 :(得分:2)

只需抓住两个不同时刻的当前坐标并减去它们。这是一些伪代码(抱歉,我不会说Objective-C):

start <- get current position
wait some time
end <- get current position
direction = end - start

这将为您提供指向当前方向的矢量。要将其作为角度,您可以使用vector dot product

product <- start.lat * end.lat + start.lng * end.lng
start_length <- sqrt(start.lat^2 + start.lng^2)
end_length <- sqrt(end.lat^2 + end.lng^2)
angle <- arccos(product/(start_length * end_length))

考虑到角度,您可以轻松获得基本方向。只需看看哪一个最近。