Android:关于GPS的各种问题

Android:关于GPS的各种问题,第1张

概述我正在编写我的第一个基于位置的 Android应用程序,但对一些GPS服务api感到困惑.以下是我的一些问题: 1)为了获取我当前的位置,我在一个活动的onCreate()方法中使用一个监听器调用了requestLocationUpdates().但是当另一个活动开始并且当前活动变得不可见时会发生什么? GPS位置更新是否会停止?如果是这样,如何在切换活动后继续使用它? 2)Location.ge 我正在编写我的第一个基于位置的 Android应用程序,但对一些GPS服务API感到困惑.以下是我的一些问题:

1)为了获取我当前的位置,我在一个活动的onCreate()方法中使用一个监听器调用了requestLocationUpdates().但是当另一个活动开始并且当前活动变得不可见时会发生什么? GPS位置更新是否会停止?如果是这样,如何在切换活动后继续使用它?

2)Location.getSpeed()的准确度如何?怎么计算?它可以说出自行车和徒步之间的区别吗?

3)不是关于androID的真正问题.如何计算一个位置的坐标,比如距我当前位置100米?

4)要停止GPS,我只需要删除已注册到locationmanager的所有听众?

非常感谢!

解决方法 这不是一个详尽的答案,因为我没有任何AndroID开发经验,但我只是想在你的GPS问题上添加我的想法:

问题2:通常速度是在GPS硬件中计算的,只需将距离的变化除以时间变化即可.(见下面的评论)只要有GPS覆盖,速度通常相当准确,你绝对应该能够告诉某人是徒步还是骑自行车.您甚至可以在正常步行(6公里/小时)和慢速慢跑(12公里/小时)之间进行判断.

问题3:距当前位置100米处有无数个位置.只有添加方位,才能导出目标点.公式如下(Source):

lat2 = asin(sin(lat1)*cos(d/R) + cos(lat1)*sin(d/R)*cos(θ))
lon2 = lon1 + atan2(sin(θ)*sin(d/R)*cos(lat1),cos(d/R)−sin(lat1)*sin(lat2))

d/R is the angular distance (in radians),where d is the distance travelled and R is the earth’s radius

您可能想查看以下Stack Overflow帖子以获取上述的JavaScript实现,我认为这应该不难移植:

> How to calculate the latlng of a point a certain distance away from another?

总结

以上是内存溢出为你收集整理的Android:关于GPS的各种问题全部内容,希望文章能够帮你解决Android:关于GPS的各种问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1128189.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存