为什么定位点会跳?手机如何真正定位(GPS、Wi-Fi、基站)以及怎样调得更准
手机并不是“知道”自己在哪里,而是用手边的信号去估算,所以有时会把你定位到隔壁楼。本文讲它用什么信号、为什么室内和高楼之间容易出错、什么是“大致位置”,以及 iPhone 和安卓上哪些设置能改善。

“它把我定位到隔壁街了”“显示在邻居家”“我明明没动,定位点却跑了200米”。这些抱怨几乎所有带地图的应用都有,而且通常不是应用的错,而是手机定位的工作方式。明白了这一点,你也就明白为什么定位器会显示“10分钟前”,或者为什么你的孩子“看起来”在楼下的酒吧。
手机用什么来判断自己在哪里
- GPS(还有 Galileo、GLONASS……):卫星。户外最精确(大约几米),但需要看得见天空:在室内、地铁里或高楼之间,信号收不到或被反射。
- Wi-Fi:手机看到周围有哪些无线网络,再和一个数据库对比,查出每个网络所在的位置(苹果和谷歌以匿名方式从手机上收集这些数据)。在室内它起决定作用,即使你没连接任何网络也能工作。
- 基站:最粗略,从几百米到几公里。没有其他信号时,这是“备用方案”。
- 蓝牙和传感器:附近的信标、加速度计、陀螺仪和气压计(用来判断楼层)。它们用来修正和填补空缺。
苹果是这样概括的:GPS 的精度“取决于可见卫星的数量”;一旦有东西挡住了卫星,iPhone 就会“使用 Wi-Fi 或蜂窝网络,直到重新看到卫星为止”。在安卓上,“Google 位置信息精确度”这项设置正是如此:把 Wi-Fi、基站和传感器与 GPS 叠加使用;关掉它,就“仅使用 GPS 和设备上的传感器”。
为什么会跳
- 在家里:GPS 进不来,手机依赖 Wi-Fi,而 Wi-Fi 说“你在这个路由器 20 米范围内”。如果你的路由器靠着与邻居共用的墙,定位点就会落到邻居家。定位点周围那个大大的蓝色圆圈,就是手机在说“大概在这一带,但不知道具体在哪”。
- 高楼之间:卫星信号在外墙上反射(即“城市峡谷”效应),定位点会自己“穿过”马路。
- 刚启动时:头几秒的数据来自基站或 Wi-Fi;GPS 需要时间才能锁定。所以走出大门时,定位点会“修正”一次跳动。
- 为了省电:应用关闭时,系统不会每秒都开启 GPS,而是利用基站切换和 Wi-Fi。我们在定位应用真正耗多少电一文中讲过这一点。
“精确位置”和“大致位置”
从 iOS 14 起,每个应用都有一个精确位置开关(设置 › 隐私与安全性 › 定位服务 › 该应用)。关闭时,应用拿到的是几公里范围的区域,而不是你的具体位置:天气或新闻够用,但对家庭应用或送货应用毫无用处。安卓从 Android 12 起也有同样的功能(授予权限时选择“使用精确位置”)。如果一个家庭应用把你定位在三公里外,多半就是这个原因。
怎样调得更准
- 安卓:设置 › 位置信息 › 位置信息服务 › 开启 Google 位置信息精确度,并开启 Wi-Fi 扫描和蓝牙扫描(即使 Wi-Fi 关闭,也能搜索网络和信标)。
- iPhone:设置 › 隐私与安全性 › 定位服务 保持开启;在应用中开启精确位置,如果希望手机在存放时也能工作,授予始终允许权限。iPhone 和安卓的定位权限一文对每个选项都有说明。
- 保持 Wi-Fi 开启,即使你没有连接:室内的精度主要靠它。
- 该应用不要开启过度省电模式(三星、小米和华为会“冻结”应用,定位点就会停住不动)。
家庭应用如何利用这些
诚实地展示定位点:说明它是多久之前的,什么时候只是大致位置,什么时候手机没有信号。在 Mi Estela 中,每个头像都会显示其位置的时间,并带有一个颜色圈(有信号时为绿色,长时间没有信号则为红色)。到达提醒在进入某个半径(默认 150 米)时发出,而且只在状态变化时发出,即从外面进入里面,这样一个来回跳动的定位点就不会重复发出提醒。如果你想了解这背后的原理,可以看电子围栏,以及它为什么有时会出错。



