google-maps - 如何使用GPRS检测手机位置?

标签 google-maps geolocation gprs

如您所知,Google 手机 map 程序能够查找用户位置(“我的位置”服务)。 我想知道 Google map 如何使用互联网移动、GPRS(而非 GPS)检测用户位置? 是否可以用 PHP 或其他基于网络的语言编写一个程序,可以在用户打开该页面时检测用户的位置? 我可以猜测 Google 不会使用用户 IP 来确定他们的位置,因为当我尝试使用移动互联网 IP 猜测我的位置时,会获得错误的位置。

最佳答案

在没有 GPS 定位的情况下,进行定位的常见方法是对服务小区 ID 或检测到的 Wi-Fi MAC 地址进行反向查找。存在一个基于服务器的数据库,它提供所有已知蜂窝站点的地理位置 - 这些蜂窝站点由其蜂窝 ID(或更准确地说是其蜂窝全局 ID (CGI))唯一标识,以及所有已知 Wi-Fi AP 的位置。因此,知道了 CGI 或 MAC,人们就可以通过 GPRS 等蜂窝数据收集数据库来确定自己的大致(“粗略”)位置。这就是 SkyHook(Apple 曾经使用过,但现在不再使用)等商业服务的工作原理。

通过使用信号强度或数字 map 等附加输入,可以使粗略位置更加精确。

某些设备(例如 iPhone)会在设备上缓存此数据库,以便更快地进行粗分辨率定位。几个月前,苹果公司因此陷入了麻烦,此后改变了其工作方式。

为了让网页知道设备的位置,设备必须调用适当的(特定于设备的)定位 API,然后将其提交到 Web 服务器,这显然需要一些设备端代码(不仅仅是浏览器)。

关于google-maps - 如何使用GPRS检测手机位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8856740/

相关文章:

javascript - 在 google-map-react 中向 Google map 添加标记

algorithm - 纬度和经度作为多边形算法中点的坐标

gsm - 手机上的AT命令

http - 使用 SIM 900 中的 gprs 连接向服务器发送数据时收到错误的请求响应

youtube - YouTube API 地理位置搜索是否有效?

sockets - gprs调制解调器上的tcp/ip套接字

php - Wordpress - 使用元数据获取邮政编码并输出谷歌地图

javascript - 如何使用 Google Maps API v3 监控对多边形的点击

javascript - 使用 Google Autocomplete API 根据位置名称获取经纬度

mysql - 在 mysql 中存储纬度、经度位置的最佳方式是什么?