首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >融合定位提供商是好的选择吗?

融合定位提供商是好的选择吗?
EN

Stack Overflow用户
提问于 2016-06-28 09:57:49
回答 4查看 23.4K关注 0票数 8

我正在开发一个应用程序,我想在其中使用融合位置提供商。但我有些疑问,还有几个问题。

  1. 当GPS关闭,我将优先级设置为高,这是否意味着GPS将自动打开,或不?
  2. 我可以设置UpdateLocation与电熔供应商的高优先级按需,以节省电池至少一点?
  3. 我如何知道融合提供商正在使用什么(它是GPS还是网络提供商)?最后
  4. 融合提供商真的是android位置的最佳选择吗?有什么不好的地方吗?

你的意见是什么?提前谢谢。

EN

回答 4

Stack Overflow用户

发布于 2016-06-28 10:48:35

当GPS关闭时,我将优先级设置为高,这是否意味着GPS将自动打开,或者不打开?

不,它不会自动打开。但如果您使用SettingsApi,将提示一个对话框给用户,并给出的信息,全球定位系统是必须打开。如果用户接受它,gps将自动活动。检查SettingsApi

我如何知道融合提供商正在使用什么(它是GPS还是网络提供商)

如果您正确地将融合提供程序api与SettingsApi结合使用。它将为当前位置请求提供足够的设置。

融合提供商真的是android位置的最佳选择吗?有什么不好的地方吗?

在我看来,在融合提供商之前,你必须直接与供应商(Gps,网络)打交道,但融合只是问您,“您想要接收的位置有多准确?”

票数 7
EN

Stack Overflow用户

发布于 2016-06-28 10:20:56

正如在这里,https://developer.android.com/training/location/index.html非常清楚地指出,Google服务位置app比android.location (android.location)更受欢迎,它是向应用程序添加位置感知的一种方式。如果您目前正在使用Android框架位置API,则强烈鼓励您尽快切换到Google服务位置API。所以我希望你能得到答案。

票数 5
EN

Stack Overflow用户

发布于 2017-10-10 16:50:54

我做了一个Gps,Wifi和融合定位提供商测试应用程序,并测试了2天。它更好,因为它同时使用了它们,而且在大多数情况下,它是最精确的。此外,Gps数据是一种噪音很大的数据,引起抖动,解决这种低通滤波器或其他滤波器被使用。卡尔曼滤波是获得最精确结果的最成功的滤波方法之一。FusedLocationProvider采用与RotationVector相同的滤波器,它是一种融合了硬件和软件的传感器。RotationVector使用加速度计、陀螺仪(如果可用的话)和磁场传感器来获取和过滤位置和方位数据。

Location.getProvider用于LocationManager返回" Gps ",Wifi返回“网络”,FusedLocationProvider返回“融合”。

当GPS关闭时,我将优先级设置为高,这是否意味着GPS将自动打开,或者不打开?

除了“电池节约”以外的任何东西,如果可用的话,都会打开Gps。这个设置可以在我的Android 7.1.1手机上使用。在以前版本的Android上,用户端的位置设置是不同的。作为使用Gps启用的开发人员,您应该设置mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);

PRIORITY_HIGH_ACCURACY -使用此设置请求尽可能精确的位置。使用此设置,定位服务更有可能使用GPS来确定位置。

设置优先级也决定了电池的使用水平。

我可以设置UpdateLocation与电熔供应商的高优先级按需,以节省电池至少一点?

是的,除了优先级之外,还可以设置位置请求的间隔。

代码语言:javascript
运行
复制
mLocationRequest.setInterval(UPDATE_INTERVAL_IN_MILLISECONDS);
mLocationRequest.setFastestInterval(FASTEST_UPDATE_INTERVAL_IN_MILLISECONDS);

我如何知道融合提供商正在使用什么(它是GPS还是网络提供商)?

Wifi的位置不会为Location.hasSpeed()返回true,但是如果您在户外,Gps几乎总是返回true。另外,location.getExtras()有卫星标记,您可以检查卫星,这只对全球定位系统可用。速度可能是不正确的,如果你是步行或到目前为止,我还没有试过这个在汽车上,当速度低于5公里/小时,是不太准确的。我的意思是,如果你使用的是FLP和,最后的位置数据包含速度信息,这绝对是来自Gps

有什么不好的地方吗?

在Android8.0及以上版本中,如果您不使用前台服务或在前台获取位置,则会出现l定位检索极限,而对于FLP和LocationManager,则不会暂停应用程序。

此外,FLP要求GooglePlayService在用户的设备上可用,并且应该在特定版本之上。10或11取决于你使用哪一种。如果你想在一个禁止Google服务的国家发布应用程序,比如中国,这可能会带来麻烦。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38072991

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档