Nom*_*man 120 android location location-provider
在我的应用程序中,我想确定用户的当前位置.但是我在这方面有几个问题:
Vin*_*tti 268
Android中有3个位置提供商.
他们是:
gps - >(GPS,AGPS): GPS位置提供商的名称.该提供商使用卫星确定位置.根据条件,此提供程序可能需要一段时间才能返回位置修复程序.需要权限android.permission.ACCESS_FINE_LOCATION.
network - >(AGPS,CellID,WiFi MACID):网络位置提供商的名称.该提供商根据蜂窝塔和WiFi接入点的可用性确定位置.通过网络查找检索结果.需要权限android.permission.ACCESS_COARSE_LOCATION或android.permission.ACCESS_FINE_LOCATION.
被动 - >(CellID,WiFi MACID):一种特殊的位置提供程序,用于接收位置而无需实际启动位置修复.当其他应用程序或服务请求时,此提供程序可用于被动地接收位置更新,而无需自己实际请求位置.此提供程序将返回其他提供程序生成的位置.需要权限android.permission.ACCESS_FINE_LOCATION,但如果未启用GPS,则此提供程序可能只返回粗略修复.这就是Android所谓的这些位置提供商,然而,使这些东西工作的基础技术被映射到特定的硬件和电信公司提供的功能(网络服务).
最好的方法是先使用"网络"或"被动"提供程序,然后再使用"gps",并根据任务在提供程序之间切换.这涵盖了所有情况,并提供最低公分母服务(在最坏的情况下)和优质服务(在最好的情况下).

文章参考:Android位置提供商 - gps,网络,被动作者:Fernando Cejas
代码参考:https://stackoverflow.com/a/3145655/28557
-----------------------更新-----------------------
现在Android有Fused位置提供商
融合位置提供商智能地管理底层定位技术,并根据您的需求为您提供最佳位置.它简化了应用程序获取用户当前位置的方式,提高了准确性并降低了功耗
融合位置提供程序提供了三种获取位置的方法
参考文献:
官方网站:http://developer.android.com/google/play-services/location.html
融合位置提供程序示例:GIT:https://github.com/kpbird/fused-location-provider-example
http://blog.lemberg.co.uk/fused-location-provider
-------------------------------------------------- ------
GPS通常比网络更准确,但有时GPS不可用,因此您可能需要在两者之间切换.
一个好的开始可能是看看android开发网站.他们有一个专门用于确定用户位置的部分,它包含您需要的所有代码示例.
http://developer.android.com/guide/topics/location/obtaining-user-location.html
| 归档时间: |
|
| 查看次数: |
118790 次 |
| 最近记录: |