如何仅使用GPS(经度和纬度)信息在iPhone上获取行进方向(N,NE,E,SE,S,SW,W,NW)?
我不想使用指南针,因为它并不总是准确的。
答案 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))
考虑到角度,您可以轻松获得基本方向。只需看看哪一个最近。