所以我正在开发这个应用程序,它将通过使用手机的传感器 wifi 检测它来获取 wifi 热点的位置(手机实际上并没有连接到热点 wifi,它只是检测)。 在开始开发该应用程序之前,我正在做一些初步研究,Google Geolocation API 似乎可以为我完成这项工作。但是,它不是免费的(至少我是通过 API 阅读后了解到的)。我检查了其他检测 wifi 热点的应用程序,我只是想知道这些应用程序是否有自己的数据库,其中包含所有 wifi 热点信息(SSID、位置坐标等),所以当 wifi 传感器检测到 wifi 热点时,它会查找数据库并获取位置等信息。 另外,我的一位同事提到谷歌地图也存储 wifi 信息。是真的吗?因为我找不到任何相关信息。
最佳答案
Android 有多个 LocationProvider,包括:
LocationManager.GPS_PROVIDER
: 使用 GPS 获取位置LocationManager.NETWORK_PROVIDER
:使用 Wifi、手机网络等获取位置。LocationManager.PASSIVE_PROVIDER
:使用已经运行的提供商提供的数据获取位置。这允许多个应用共享地理位置信息)
您无需支付任何费用即可使用NETWORK_PROVIDER
某些提供程序可能不会出现在所有设备上,具体取决于手机型号和 Android 版本。
供应商具有不同的特点:网络速度快但并不总是足够精确,GPS 精确但速度慢且电池消耗大等。最好的策略是向多个供应商请求位置,并在获得位置后立即取消待处理的请求根据您的标准(精度、响应时间等),这已经足够好了
我找到了 this article作者:Reto Meier 对我在 Android 上的地理定位非常有用
关于android - Google maps Android API获取wifi位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15429952/