位置的 getSpeed() 在 WiFi 上不起作用
Posted
技术标签:
【中文标题】位置的 getSpeed() 在 WiFi 上不起作用【英文标题】:getSpeed() of Location is not working on WiFi 【发布时间】:2014-09-02 01:29:42 【问题描述】:我想计算用户在 WiFi 上的速度。我正在通过获取位置更新。 onLocationChanged() 但每次 hasSpeed() 返回 false 并且 getSpeed() 返回 0.0。
是否有任何 API 可用于获取 WiFi 速度或我需要手动计算速度?任何帮助或指导将不胜感激。
注意:我可以通过 GPS 获得速度。
【问题讨论】:
兄弟wifi不给你速度...所以每次getSpeed();将返回 0.00 浮点值 嗨,曼,感谢您的快速回复。你的结论是速度计算是由 GPS 发射器/接收器完成的,对吧? 是的,只有 GPS 卫星可以为您提供准确度、高度和速度 谢谢,我知道了。仅供参考,我也可以通过 WiFi 获得准确性。 我相信无论位置信息类型如何,android 都会报告准确度。当然,在 WiFi 和 GPS 上计算精度是不同的系统,但它仍会对其精度进行猜测。 【参考方案1】:当用户仅连接到 WiFi 时,您将无法使用 getSpeed()
。 WiFi 定位基于手机看到的已知网络位置。与 GPS 不同,这只会提供粗略的位置,因此无法计算速度。
这样想:如果我从 A 点开始,步行 10 英尺到 B 点,我能看到的 WiFi 网络是否有机会?可能不是。我的 GPS 坐标会发生变化吗?有不错的天空视野,是的。
【讨论】:
您好 Computerish,感谢您的回复。那么在WiFi上,我需要根据位置更新来计算速度,对吧? 您根本无法获得准确的速度读数,除非您的用户以足够快的速度通过大量热点。也许如果用户在附近有很多 WiFi 网络的道路上行驶,您可以根据位置更新获得粗略的平均值。我怀疑在这种情况下,Android 甚至可能会报告getSpeed()
值,但我不希望它非常准确,而且在大多数情况下,位置根本不会改变。以上是关于位置的 getSpeed() 在 WiFi 上不起作用的主要内容,如果未能解决你的问题,请参考以下文章