为什么获取不到定位的速度[getSpeed()]、角度[getBearing()]、海拔[getAltitude()]?

本文主要是介绍为什么获取不到定位的速度[getSpeed()]、角度[getBearing()]、海拔[getAltitude()]?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

速度、角度和海拔数据来源自哪里?

精准的速度(Speed)、角度(Bearing)、海拔(Altitude)数据来自设备GPS模块,也就是当GPS模块正常工作情况下,且设备在移动时会返回以上三种数据。

所以当以上三种数据返回负数说明GPS状态现在是太好的,无法准确计算结果。如果返回0意味着GPS状态可用,但设备没有移动。

为何高精度定位模式不能每次都返回这三项数据?

在高精度定位模式下会采用GPS定位混合网络定位的方式。开启持续高精度定位,如果此时GPS模块没有正常工作是无法正常返回角度、速度、海拔数据的,但网络定位生效,可以有效的返回经纬度信息。

如果您需要依赖速度(Speed)、角度(Bearing)、海拔(Altitude)三种数据做业务上的判断,您可以采用仅设备定位模式。仅设备定位模式会完全依赖GPS定位。

但仅设备定位模式只能在室外环境生效,这是由于GPS模块只有在开阔场所才可以有效的连接卫星计算位置,这点需要您注意。

自Android 定位 SDK V3.1.0版本开始,AMapLocationClientOption会有这样一个接口:setSensorEnable(boolean sensorEnable);这个接口控制是否使用设备传感器,默认关闭,可以打开。当上述接口被设置为true后,定位的Client将会采用设备传感器计算海拔,角度和速度。意味着高精度定位模式下也可以返回速度、角度、海拔数据。

这篇关于为什么获取不到定位的速度[getSpeed()]、角度[getBearing()]、海拔[getAltitude()]?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/973112

相关文章

pcl::PointCloud各种添加点云方法的速度对比

pcl::PointCloud官方提供了一个添加点云的函数接口push_back(),但是实际中经常看到有人先调用resize()函数,再逐个进行赋值,理由是这样更快。本文对两种方法的速度进行对比。 首先详细介绍一下输入数据和这两种方法: 1. 输入数据 本文中输出数据是随机生成的,这不影响后续的速度测试,先把这些数据存储在一个pcl::PointCloud中。 #include <pcl

JS获取当前时间戳以及如何转换为10位数的时间戳(方便和php的时间戳(10位)进行操作)

JavaScript 获取当前时间戳:第一种方法: var  timestamp  =  Date.parse( new  Date()); 结果:1280977330000第二种方法: var  timestamp  =  ( new  Date()).valueOf(); 结果:1280977330748 第三种方法: var timestamp = new

Android:使用百度地图SDK定位当前具体位置(类似QQ发表说说的选择地点功能)

百度地图 Android SDK是一套基于Android 2.1及以上版本设备的应用程序接口。 可以使用该套 SDK开发适用于Android系统移动设备的地图应用,通过调用地图SDK接口,可以轻松访问百度地图服务和数据,构建功能丰富、交互性强的地图类应用程序。 简单的说就是可以通过调用它绘制地图,也可以进行定位。而我这次使用百度 地图API要实现类似QQ发表说说时的定位功能: 1. 使

BroadcastReceiver获取手机网络状态

public class NetReceiver extends BroadcastReceiver {/*** 枚举网络状态 NET_NO:没有网络 NET_2G:2g网络 NET_3G:3g网络 NET_4G:4g网络 NET_WIFI:wifi* NET_UNKNOWN:未知网络*/public static enum NetState {NET_NO, NET_2G, NET_3G, NE

关于UIHelper的两个自动递归获取节点的函数

所有继承自Node类型的节点都支持使用getChildByName(name)和getChildByTag(tag)来获取当前节点的某个子节点。这两个函数已经能够满足我们大部分的需求  但有时候我们需要获取某个节点的子节点的子节点、甚至子节点的子节点的子节点、甚至...  这样的需求是很常见的,而一层一层去get未免太繁琐。    对于Studio1.x版本,2d-x提供

Lua获取系统时间及时间格式化

系统当前时间对应的时间戳 local ntime = os.time print(ntime) 格式化时间显示,参考下表 常用于设置header等 ngx.header["Last-Modified:"]  = os.date("%a, %d %b %Y %X GMT") ngx.header["Content-Type"]    = "text/html; charse

Android基础-提升应用的冷热启动速度

在Android应用开发中,冷热启动速度是评估应用性能的重要指标之一。优化启动速度不仅能提升用户体验,还能增强应用的竞争力。以下将详细阐述如何通过编码来提升Android应用的冷热启动速度。 一、理解冷热启动 在深入探讨优化方法之前,首先需要明确冷热启动的概念。冷启动是指应用在完全关闭状态下被重新启动,此时系统需要加载应用的全部资源和代码。而热启动则是指应用在后台运行,用户再次打开时,系统不需

CSS实现dom脱离文档流定位固定位置的操作代码

在CSS中,如果你想让一个DOM元素脱离文档流并固定在一个特定的位置,你通常会使用position属性,并为其指定fixed、absolute或relative值。但是,fixed是最常用于将元素固定在视口(viewport)的某个位置,而不管页面滚动如何。 下面是一个使用position: fixed;的示例,它将一个元素固定在屏幕的右上角: <!DOCTYPE html> <html

SQL语句调优对比——大大增快查询速度

在实际应用中,经常遇到查询数据库语句,特别是查询历史数据的时候,数据量非常之大。此次遇到个百万级的数据量,查询历史数据中的一段时间内的数据并且以曲线的方式显示出来,非常之慢,有时候还会卡住应用程序,所以做了如下测试。 得出的结论就是,“创建索引,优化语句”。优化语句有如下一些常用点可以参考(后附测试结果): 应尽量避免在 where子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫

win系统游戏提示找不到d3dx9_37.dll丢失的解决方法-最简单的解决方法

d3dx9_37.dll 是一个动态链接库文件,属于 Microsoft DirectX 9 的一部分。DirectX 9 是一个用于多媒体应用,特别是游戏和视频的 API,它提供了一套丰富的功能,用于处理图形、声音和输入设备等。d3dx9_37.dll 文件包含了 Direct3D 9 的一些扩展功能,这些功能通常用于提高3D图形渲染的性能和质量。 d3dx9_37.dll 文件对于运行需要