您是否需要连接的 LocationClient 来检测用户是否留下了地理围栏?在我当前的代码中,我连接我的 LocationClient,建立一个地理围栏,然后断开 LocationClient。但是,它有时会检测到我已经离开了它,但是在地理围栏之外的更远的位置。
问问题
500 次
1 回答
2
关于 Google Play GeoFencing API 的重要说明。我发现 GeoFencing 从不智能地从 GPS 硬件中检索位置。GeoFence API 将观察操作系统提供的最准确位置,或者如果没有最近的位置读数可用,它将导致从 Wifi / Cellular 计算位置。(这很糟糕,因为蜂窝网络非常不准确,而且 wifi 经常不可用)
因此,要从地理围栏 API 中获得所有响应或准确的结果,您必须设置地理围栏,然后每隔一段时间轮询 GPS 硬件,甚至不对收到的结果做任何事情,以便在表面下提供有价值的数据到操作系统。
这可能是您的结果如此不准确的核心原因。直到操作系统确定您 100% 在围栏之外,地理围栏出口才会触发 - 因此,如果位置读数的准确度为 500 米(使用单元地理定位时不太可能)并且您的围栏半径为 50m,那么您d 必须距离您的围栏点至少 550m 才能产生退出事件。
TLDR;每隔一段时间轮询 GPS 硬件而不对结果做任何事情,您将开始获得更准确的地理围栏。
于 2014-05-08T16:46:02.887 回答