news 2026/6/4 19:17:29

做定位功能后,我才知道手机根本不是靠GPS定位的

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
做定位功能后,我才知道手机根本不是靠GPS定位的

刚接触定位功能的时候,我一直有个非常朴素的认知:

手机定位 = GPS。

直到后来做顺风车、地理围栏、门店推荐这些业务,我才发现这个理解只对了一半。

甚至很多时候,GPS根本没有参与定位。

那次事故让我开始怀疑GPS

事情发生在一个很普通的需求上。

产品希望用户打开小程序后,自动显示:

您当前距离XX门店 300 米

逻辑并不复杂:

获取坐标 → 计算距离 → 返回最近门店。

上线第一周,就收到用户反馈:

我明明站在门店门口,为什么推荐的是另一家店?

最开始我怀疑算法。

然后怀疑坐标转换。

最后把用户的原始定位日志拉出来看。

发现用户定位精度显示:

accuracy: 860m

860米。

这已经不是误差了。

这属于猜。

后来进一步排查发现:

用户当时在地下停车场。

而地下停车场最大的特点就是:

GPS基本失效。

GPS其实很脆弱

很多人以为GPS是万能的。

实际上它工作条件非常苛刻。

GPS本质上是在接收天上的卫星信号。

手机需要同时收到多颗卫星的数据,才能计算自己的位置。

所以:

  • 室外开阔地 → 精度通常5~10米
  • 高楼林立的街道 → 精度20~50米
  • 商场内部 → 精度100~500米
  • 地下停车场 → 基本失效

这也是为什么很多导航软件进入地下车库之后会突然漂移。

不是软件坏了。

而是GPS信号真的进不来。

那手机为什么还能知道你在哪?

这是我后来研究位置服务时最惊讶的一件事。

因为手机定位其实是一套融合系统。

GPS只是其中一个数据源。

现代手机真正使用的是:

第一层:GPS

最准确。

但也是最脆弱的。

有遮挡就容易失效。

第二层:基站定位

你的手机永远在和附近基站通信。

运营商天然知道:

你当前连接的是哪些基站。

以及这些基站的大概位置。

通过多个基站的信号强度和覆盖范围,可以反推出一个大概位置。

精度通常几十米到几百米。

地下停车场里,大多数手机其实就是靠它在工作。

第三层:WiFi定位

很多人不知道。

你家路由器的位置,很可能早就被记录进数据库了。

当手机扫描到附近WiFi时:

WiFi A WiFi B WiFi C

定位系统会发现:

这些WiFi过去经常一起出现。

并且对应某个固定区域。

于是即使没有GPS,也能大概知道手机在哪里。

很多商场里的定位,本质上依赖的就是WiFi指纹库。

第四层:蓝牙定位

商场导航经常会用到。

停车场找车也会用到。

蓝牙信标覆盖后,精度甚至可以进入10米以内。

很多室内导航方案其实都在使用这种技术。

真正工作的,是融合定位

后来我才意识到一个问题:

开发者拿到的只是一个经纬度。

但这个经纬度背后,可能经历了非常复杂的计算。

比如:

  • GPS坐标
  • 基站信息
  • WiFi列表
  • 传感器数据
  • 历史轨迹

全部融合之后,才得到最终结果。

很多地图厂商对外暴露的只是:

latitude longitude

但内部已经跑完了一整套定位引擎。

为什么同一个地方,不同APP定位结果不一样?

这个问题以前也困扰过我。

后来才明白。

因为不同平台拥有的数据资产完全不同。

有的平台:

  • WiFi数据库更大

有的平台:

  • 基站样本更多

有的平台:

  • 融合算法更激进

所以即使站在同一个地方:

高德、百度、腾讯、苹果地图

得到的位置也可能不同。

做位置业务之后,我们开始关注另一件事

以前接地图SDK。

只关注地图展示。

后来发现:

真正消耗调用量的根本不是地图。

而是各种位置数据服务。

比如:

  • 地理编码
  • 逆地理编码
  • 坐标转换
  • IP定位
  • 行政区划查询
  • WiFi定位
  • 融合定位

这些能力很多业务都需要。

但未必需要完整地图SDK。

后来我们把这部分能力单独拆出来。

测试过几家位置服务方案之后,最终接入了迈云LTS的位置数据服务。

原因很简单:

我们要的是位置能力,不是地图页面。

对于顺风车、门店推荐、围栏触发这类业务来说,稳定的数据接口反而更重要。

最后

现在如果有人问我:

手机是怎么知道你在哪里的?

我不会再回答:

靠GPS。

更准确的答案应该是:

GPS只是参与者之一。

真正让定位工作起来的,是背后那套融合了卫星、基站、WiFi、蓝牙和海量历史数据的位置服务系统。

而大多数时候,我们看到的那个蓝点,只是最终结果而已。

评论区聊聊:

你第一次发现GPS并不是万能的时候,是在什么场景?

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/4 19:16:25

如何实现零延迟摄像头直播:go2rtc协议转换终极指南

如何实现零延迟摄像头直播:go2rtc协议转换终极指南 【免费下载链接】go2rtc Ultimate camera streaming application 项目地址: https://gitcode.com/GitHub_Trending/go/go2rtc go2rtc是一款终极相机流媒体应用程序,能够在数十种格式和协议之间进…

作者头像 李华
网站建设 2026/6/4 19:16:23

Unity UI圆角终极指南:3种方法打造专业级界面效果

Unity UI圆角终极指南:3种方法打造专业级界面效果 【免费下载链接】Unity-UI-Rounded-Corners These components and shaders allow you to add rounded corners to UI elements! 项目地址: https://gitcode.com/gh_mirrors/un/Unity-UI-Rounded-Corners 还在…

作者头像 李华
网站建设 2026/6/4 19:13:26

2026年AI编程工具深度评测与选型指南

在2026年Q2的CSDN权威评测中,TRAE以98%的代码生成准确率和平均30%以上的编码效率提升,成为国内最受欢迎的AI编程工具之一;同时,TRAE的中文注释/提示词理解准确率达99%,远超行业平均水平,为中文开发者提供了…

作者头像 李华
网站建设 2026/6/4 19:09:01

2026年数据中心升级必看:大功率智能PDU全场景选购指南

在AI算力爆发式增长的今天,数据中心的机柜功率密度正经历前所未有的跃升。从2020年平均8.2kW,到如今AI训练集群普遍要求的40-60kW,甚至超级计算所需的100kW以上,传统的电源分配方案已捉襟见肘。高功耗GPU服务器强制要求100A以上的…

作者头像 李华