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的各种问题所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)