Android LocationClient.getLastLocation() 返回带有新时间戳的旧且不准确的位置

2023-12-13

自融合位置提供程序发布以来,我一直在使用它,我对它非常满意(比旧系统好得多)。但是当我将地理围栏与 LocationClient.lastKnownLocation() 结合使用时,我遇到了一个特殊的问题。设置如下:

我在一些家庭位置周围放置了几个地理围栏(范围不断增加)。当我意识到跨越栅栏的意图时,我从 LocationClient 检索最后一个已知位置并使用它。除此之外,我还注册了更新模式 PRIORITY_BALANCED_POWER_ACCURACY 的定期位置更新。

大多数时候这工作得很好,但有时会发生这种情况:

时间 000 秒 -(纬度、经度、精度)= (48.127316,11.5855167,683.0)

时间 120 秒 - (纬度、经度、精度) = (48.1260497,11.5731745,31.823)

时间 300 秒 - (纬度、经度、精度) = (48.1217455,11.5641666,143.81)

时间 420 秒 -(纬度、经度、精度)= (48.1189942,11.559061,36.0)

时间 600s - (纬度,经度,精度) = (48.127316,11.5855167,683.0)

请注意,所有这些位置都是通过以下方式检索的获取最后的已知位置()。这里看起来可疑的是,更具体地说,第一个和最后一个位置是相同的(即使在其他属性中也是如此):

* intent at time 0: *

component: ComponentInfo{package.Class}
key [location]: Location[mProvider=fused,mTime=1373524391934,mLatitude=48.127316,mLongitude=11.5855167,mHasAltitude=false,mAltitude=0.0,mHasSpeed=false,mSpeed=0.0,mHasBearing=false,mBearing=0.0,mHasAccuracy=true,mAccuracy=683.0,mExtras=Bundle[mParcelledData.dataSize=352]]

* intent at time 600: *

component: ComponentInfo{package.Class}
key [location]: Location[mProvider=fused,mTime=1373524994871,mLatitude=48.127316,mLongitude=11.5855167,mHasAltitude=false,mAltitude=0.0,mHasSpeed=false,mSpeed=0.0,mHasBearing=false,mBearing=0.0,mHasAccuracy=true,mAccuracy=683.0,mExtras=Bundle[mParcelledData.dataSize=352]]

* note the ~600 s difference in the timestamp * 

我不明白这是怎么发生的,因为中间有一些位置更新且更准确。另外,旧位置上的新时间戳让我很好奇......使用时显然发生了类似的事情old API,但是这个新的位置提供者只是被称为fused,所以我无法区分 GPS 和WPS来自传感器...如果是手机信号塔切换问题(在有关旧 API 的链接问题中概述),那么如果手机已经看到更近的信号塔,为什么会连接到“远处”的信号塔?

为什么会发生这种情况?


第一个和最后一个点是使用单元三角测量获得的。错误/准确性是典型的基于单元格的位置,看起来谷歌的省电逻辑决定切换到单元格是可以的,即使你说它最近的历史记录包括更接近的点。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android LocationClient.getLastLocation() 返回带有新时间戳的旧且不准确的位置 的相关文章

随机推荐

  • 我可以在 Apple Wallet 中访问哪些通行证

    我是 iOS 开发新手 想使用 PassKit 库开发一个小项目 经过大量搜索 Apple 文档 stackoverflow 后 我似乎无法清楚地理解我的问题的可能答案 是否可以访问不是我创建的通行证 现在 我不是在谈论与支付相关的通行证
  • 有没有办法统计执行的IL指令的数量?

    我想对 C 进程进行一些基准测试 但我不想使用时间作为向量 我想计算在特定方法调用中执行的 IL 指令的数量 这可能吗 Edit我并不是指方法体的静态分析 我指的是执行的实际指令数 因此 例如 如果方法体包含循环 则计数将增加 无论指令的数
  • docx 牢不可破的单词

    我正在尝试替换 docx 文件中的单词 如所述here public static void SearchAndReplace string document using WordprocessingDocument wordDoc Wor
  • 在数组上使用 .slice 方法

    我正在练习 JavaScript Koan 的数组部分 但我不完全理解为什么这些答案是正确的 如果有人可以澄清 让我知道我是否错了 我在下面添加了我的假设 it should slice arrays function var array
  • 单元测试-如何在flutter中模拟第三方库类Dio的参数

    我正在尝试测试一个简单的存储库类 该类使用依赖注入的 Dio 包进行网络调用 Http post 的要求是将 Map 对象发送到带有以下标头的 URL Content Type application json 您可以在下面看到这一点 cl
  • BeautifulSoup Div 类返回空

    我检查了类似的问题 但找不到解决方案 我正在尝试从以下页面中获取额外旅行时间的分钟数 46 https www tomtom com en gb trafficindex city istanbul 我尝试了两种方法 Xpath 和 fin
  • 划分两个 pandas DataFrame 并保留非数字列

    我有两个包含数字和非数字值的 pandas DataFrame 我想将一个除以另一个 但保留非数字列 这是一个 MWE a pd DataFrame group1 1 2 group1 3 4 group1 5 6 columns Grou
  • 无法使用 im.getcolors

    我正在尝试这段代码 im Image open myimage colors im getcolors print colors 它返回 无 所以我尝试了这个 im Image open myimage size im size color
  • 获取Scala3宏中的类型信息

    我正在努力获取 Scala3 宏实现中的类型信息 我将通过代码来解释问题 应用逻辑如下 object BlockServiceImpl extends BlockService def authenticateUser0 new Servi
  • 如何使用控制台输出捕获警告?

    我正在尝试捕获 R 脚本的完整控制台日志 我想要所有事情按时间顺序排列 并在发生时打印警告 我试过这个 options warn 1 tmpSinkfileName lt tempfile sink tmpSinkfileName spli
  • Netbeans 无法识别外部 JAR 中的复合组件

    我已将许多复合组件打包在一个 JAR 中 但是 当在另一个项目 使用 Maven 中使用它们时 Netbeans 编辑器会将红色错误行放在使用复合组件的行下 即使项目按预期编译和运行也是如此 复合组件 JAR 的文件夹结构如下所示 comp
  • pandas xlsxwriter,格式表标题 - 不是工作表标题

    我正在使用 xlsxwriter 将 pandas DataFrame 保存到 excel 我已经设法格式化所有数据 设置列宽 字体大小等 除了更改标题的字体 但我找不到方法 这是我的例子 import pandas as pd data
  • 如何让这个二维数组向右旋转 90 度?

    所以我有一个 2D 数组 它应该向右旋转 90 度 但它却向左旋转 实在想不通为什么 公共类 CrackCode16 public static void main String args int oldarray new int 3 3
  • 从 iframe 获取 url 并更新浏览器 url 中的哈希值

    我尝试了一些不同的方法 但没有任何效果 基本上我需要从 iframe 获取当前位置 url 获取我想要的部分并将其返回到 url 中的哈希值 我怎样才能在JavaScript中做到这一点 选择正确的iframe元素 拉出src属性 做你的事
  • Create-React-App 应用程序中index.html 和index.js 之间的连接在哪里?

    我开始使用 Create React App 但我不明白如何index js已加载到里面index html 这是html代码
  • keras Conv2d值错误:负尺寸大小

    我是 keras 新手 正在处理以 Tensorflow 作为后端的回归问题 X1 TrainingSet 0 603 Y1 TrainingSet 603 607 reshape Xtrain for CNN X1 X1 reshape
  • 使用 ctrl+c 停止 python

    I have a python script that uses threads and makes lots of HTTP requests I think what s happening is that while a HTTP r
  • 请求完成后的处理

    我有一个 API 端点需要尽快返回给调用者 目前返回时间不到 1 毫秒 然而 如果我将一些内容记录到数据库中 现在需要接近 10 毫秒 您将如何完成请求 然后在请求完成后进行某种处理 我尝试使用 Response Body Flush 但这
  • 为什么对 XML 同时使用 XSD 和 DTD?

    Stackoverflow 有几个很好的问题对比 XSD 和 DTD and 在 XSD 和 DTD 之间进行选择 但我遇到了同时使用 XSD 和 DTD 的数据格式和库 XML 文档指定 DTD 但支持库需要 XSD 进行编码和解码 同时
  • Android LocationClient.getLastLocation() 返回带有新时间戳的旧且不准确的位置

    自融合位置提供程序发布以来 我一直在使用它 我对它非常满意 比旧系统好得多 但是当我将地理围栏与 LocationClient lastKnownLocation 结合使用时 我遇到了一个特殊的问题 设置如下 我在一些家庭位置周围放置了几个