你以为定位只能非精即拒,今天 Chrome 155 把这件事用一行 options 彻底原生化了
做地理位置功能的产品,最怕的不是定位不准,是用户看到权限弹窗直接关掉。
问题在哪?不是精度不够,是弹窗给的选择太粗糙——要么交出 GPS 坐标精确到米,要么一刀切拒绝。两个选项都不是用户真正想要的。
Chrome 155 给了一个中间解法。
Approximate Geolocation 是什么
就是字面意思:不需要精确到街道级别的坐标,只要知道用户在哪个城市、哪个区就够了。
以前浏览器只提供一种位置粒度,现在给了两个选项:precision(精确,误差几十米)和 approximate(近似,误差约 3 平方公里)。后者只告诉网站你在哪片区域,不泄露具体街道地址。
对用户来说,这是更合理的数据最小化——网站拿到它真正需要的信息,但拿不到它不需要的。
一行代码的事
navigator.geolocation.getCurrentPosition(
success => {
// approximate 模式下,accuracy 通常在 1000-3000 米
const { latitude, longitude, accuracy } = success.coords;
console.log(`大概在 ${accuracy}m 范围内`);
},
err => console.error("定位失败", err),
{ accuracyMode: "approximate" } // 就这一行
);
不需要换接口,不需要接第三方 SDK,就多传一个选项。对现有功能改动极小。
精度差多少
精确模式:通常 50 米以内,有时候到几米。适合外卖地址、导航、找附近的人。
近似模式:约 3 平方公里(≈ 1.2 平方英里)。适合天气、地区新闻、附近商家推荐、区域广告定向。
3 平方公里是什么概念?相当于以用户为中心的一个圆形区域,半径大概 1 公里。放在地图上就是一张缩放到「城市级别」能看到的范围。
谁在用近似位置
Google 的数据说,很多网站请求位置只是为了知道用户在哪座城市,根本不需要精确到门牌号。但以前没有这个选项,要么强求精确坐标,要么放弃这个功能。
近似位置出现后,这部分需求有了合理的解决方案。
天气应用不需要知道你家在哪栋楼,知道你在哪个区就够了。地区新闻想给你推本地的内容,城市级别足够。附近商家推荐,精度的意义在于「有没有这家店」,而不是「你距离这家店 87 米还是 93 米」。
怎么判断用户拒绝了什么
navigator.geolocation.getCurrentPosition(success, error => {
if (error.code === error.PERMISSION_DENIED) {
// 用户拒绝了精确位置授权
// 可以尝试 fallback 到近似模式
navigator.geolocation.getCurrentPosition(success, () => {}, {
accuracyMode: "approximate"
});
}
}, { enableHighAccuracy: true });
注意:精确模式和近似模式是两个独立的权限。用户拒绝精确,不等于拒绝近似。
三个落地步骤
第一步:列清单。把你网站所有调用 getCurrentPosition 的地方标出来,问自己一句「这里真需要精确到米吗」。天气、新闻、区域推荐——这几个场景近似就够了。
第二步:加选项。新请求全部加上 { accuracyMode: "approximate" },现有功能按需渐进切换。
第三步:做降级。如果浏览器不支持 accuracyMode(目前只有 Chrome 155+),用 @supports 做功能检测:
if ("accuracyMode" in GeolocationCoordinates.prototype) {
// Chrome 155+,可以直接用 approximate
} else {
// 降级:fallback 到 IP 地理定位或让用户手动选城市
}
谁还没支持
目前只有 Chrome 155(2026年9月23日稳定版发布)。Firefox、Safari、其他 Chromium 浏览器还没跟进。跨浏览器一致性还需要时间,这是现实。
不过 Chrome 的市场份额在那儿摆着,先上了再说。其他浏览器跟进了再加码,没坏处。
为什么说这件事值得注意
不只是多了一个 API 选项,是一次隐私设计思路的落地。
GDPR 这几年越来越严,位置数据的收集合理性是常见审查点。网站如果每次都要精确坐标才能提供基础功能,这个「必要性」是存疑的。近似位置给了一个折中:功能可用,数据最少。
Chrome 155 的改动让这个折中变成了浏览器原生能力。
接下来会发生什么?可以预见的是更多平台会跟进这个模式,W3C 的 Geolocation 规范也在往这个方向演进。位置权限最终会变成一个多层次的体系,而不是非 0 即 1 的二选一。
在那之前,先把不需要精确坐标的场景改掉,省掉用户不必要的隐私负担,也省掉自己合规的解释成本。
评论区
登录后可评论。