android - Google maps Android API获取wifi位置

标签 android geolocation wifi google-maps-android-api-2

所以我正在开发这个应用程序,它将通过使用手机的传感器 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/

相关文章:

javascript - 更改标题图像的地理位置检测器脚本

android - Android 中 PowerRequirement (Location) 的含义

android - 在 Android 中从 WiFi 检索供应商特定信息

android - Wi-Fi位置三角剖分

Android-NDK GCC/C++ 对于 std::string::find/std::getline(...) 似乎不稳定

android - java.lang.IllegalArgumentException : 'retrofit2.Response' is not a valid response body type. 你是说 ResponseBody 吗?

java - 打开/关闭 wifi 或 gps 时,我的 BroadcastReceiver 被调用两次?

javascript - 如何更新谷歌地图上标记的位置而无需刷新整个 map ?

java - Android 在 webview 上进行地理定位

android - 如何在Android中获取通过蓝牙、WiFi传输的文件的详细信息