我正在寻找获取用户位置的最佳方法。我发现有两种主要方法:
com.google.android.gms.location.LocationListener
从 Google Play 服务 使用android.location.LocationListener
从 Android API使用
我的问题很简单:哪一个是最好的?
目前,我正在使用第一个,但我遇到了问题:使用蜂窝网络时,我的位置永远不会被检索到。
谢谢你的帮助。
我正在寻找获取用户位置的最佳方法。我发现有两种主要方法:
com.google.android.gms.location.LocationListener
从 Google Play 服务 使用android.location.LocationListener
从 Android API使用我的问题很简单:哪一个是最好的?
目前,我正在使用第一个,但我遇到了问题:使用蜂窝网络时,我的位置永远不会被检索到。
谢谢你的帮助。
虽然这篇文章真的很旧,但我认为我应该回答它,这样它也可以清除我的概念。请参阅以下链接:
https://developers.google.com/maps/documentation/android/location
它说:
请注意,我的位置图层不返回任何数据。如果您希望以编程方式访问位置数据,请使用 Location API。
所以,我认为使用谷歌播放服务中的 com.google.android.gms.location.LocationListener 可能是一种更简单的方法,但如果你想访问位置数据(在我的情况下)并想用它做点什么,比它最好我们使用来自 Android API 的 android.location.LocationListener
我的建议是第一个。com.google.android.gms.location.LocationListener从您的代码中抽象出定位。示例代码请看这里。它适用于我的蜂窝网络或 wifi。
我是适用于 android的新 Gps 和传感器工具包应用程序的开发人员之一。我们在开发过程中确实研究了这个 api,但发现对于大多数用途来说android.location.LocationListener
都是合适的。另一个接口要复杂得多,并且需要更长的时间来实现。我建议android.location.LocationListener
。
Location
接口提供给您的类提供了许多方法,您可以使用这些方法来获取纬度、经度、速度、到另一点的距离、方位等...
还可以查看GpsStatus.Listener
和GpsStatus.NmeaListener
获取有关卫星的数据。