Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 知道某人何时相对于最后一个已知位置向左(右)移动_Android_Gps_Geolocation - Fatal编程技术网

Android 知道某人何时相对于最后一个已知位置向左(右)移动

Android 知道某人何时相对于最后一个已知位置向左(右)移动,android,gps,geolocation,Android,Gps,Geolocation,在安卓编程中,有没有一种方法可以知道一个携带安卓设备的人何时相对于他们最后的已知位置向左/向右移动(更像是向右/向左移动) 例如: 如果我将我的android设备放在我的左边,将它移到我的右边,这个应用程序应该会告诉我相对于设备的最后一个位置,它已经移到了右边。有两种不同的方法可以做到这一点,也许更多 你可以使用指南针来找到手机在起点和终点所指向的方向,加速计可以告诉你手机的移动方向 同样,您可以使用GPS坐标代替加速度计 这两种方法都可能会给你带来误报,或者可能无法检测到——第一种方法由于运动

在安卓编程中,有没有一种方法可以知道一个携带安卓设备的人何时相对于他们最后的已知位置向左/向右移动(更像是向右/向左移动)

例如:
如果我将我的android设备放在我的左边,将它移到我的右边,这个应用程序应该会告诉我相对于设备的最后一个位置,它已经移到了右边。

有两种不同的方法可以做到这一点,也许更多

你可以使用指南针来找到手机在起点和终点所指向的方向,加速计可以告诉你手机的移动方向

同样,您可以使用GPS坐标代替加速度计

这两种方法都可能会给你带来误报,或者可能无法检测到——第一种方法由于运动不平稳而产生误报,你必须采用一些良好的过滤,或者数据是无用的,而第二种方法则会出现GPS分辨率不够高的问题,比如在距离起点10英尺的范围内。GPS也不能在室内工作


有些设备也没有您需要的传感器组合。如果你对条件和环境更为具体,我也许可以编辑它来给你一个更好的答案。

如果你使用地图,尝试测量地质坐标的差异。我确实考虑使用GPS,但是考虑到这个缺点,所以我必须尝试第一种方法。不过,在这里,选择一个过滤器来捕捉“手势”将是一件困难的事情。加速计是粗糙的-您需要对轴的输入进行某种形式的窗口积分,数据会有噪声。