需结合浏览器网站设置、系统权限管理、缓存清理、直播模块禁用及ios专属开关五步实现单次位置授权:启用“询问一次”模式、设系统定位为“仅在使用中允许”、清除地图sdk缓存、关闭主播中心定位、ios端关闭精确位置并启用暂停定位。

如果您在使用百度浏览器访问含百度地图功能的网页时,希望对位置请求实现单次授权、拒绝后续自动调用,而非永久允许或彻底禁用,则需结合系统级权限控制与浏览器内网站设置进行精细化干预。以下是实现单次位置授权管理的具体操作路径:
一、启用百度浏览器内网站位置权限的“询问一次”模式
该方式使浏览器对每个含定位请求的网页首次加载时弹出授权提示,用户可选择“仅本次允许”,之后该网站再次请求时将自动拒绝,不保留持久授权记录。
1、打开百度浏览器,点击右上角三个点图标,进入【设置】。
2、依次点击【隐私设置和安全性】→【网站设置】→【位置信息】。
3、确认开关处于开启状态,确保浏览器具备基础定位能力。
4、点击【管理已允许访问位置的网站】,检查列表中是否存在百度地图相关域名(如map.baidu.com、api.map.baidu.com)。
5、若存在,点击对应条目右侧的垃圾桶图标清除授权记录;若无,则跳过此步。
6、返回【位置信息】设置页,确认下方未勾选“始终允许所有网站访问您的位置”类选项。
二、通过系统权限管理限制百度浏览器的后台定位能力
安卓系统支持对应用定位权限设置为“仅在使用中允许”,该模式可阻止百度浏览器在页面切换、后台运行或地图JS SDK预加载时发起非主动触发的位置请求,确保仅当用户明确交互(如点击“定位我”按钮)时才可能弹出单次授权框。
1、进入手机【设置】→【应用管理】(或【应用和服务】)。
2、在应用列表中搜索并点击【百度浏览器】。
3、点击【权限】→【位置信息】(或【您的位置】)。
4、选择权限级别为仅在使用中允许(部分机型显示为“使用应用时允许”或“仅在前台运行时允许”)。
5、若出现二级选项如“精确位置”,也需同步设为关闭,防止高精度定位被隐式调用。
三、清除百度地图JS SDK缓存及持久化定位策略
百度地图JavaScript API可能通过localStorage或IndexedDB存储用户历史授权偏好,导致即使未手动允许,仍尝试静默调用定位接口。清除此类缓存可重置其行为逻辑,强制回归标准Geolocation API流程,从而触发单次询问机制。
1、在百度浏览器地址栏输入:chrome://settings/content/location,按回车进入位置权限管理页。
2、向下滚动至页面底部,点击【管理已允许访问位置的网站】右侧的清除按钮。
3、在弹出确认框中点击【清除】。
4、返回浏览器首页,点击右上角三个点图标→【更多工具】→【清除浏览数据】。
5、勾选【Cookie及网站数据】、【缓存的图片和文件】、【网站设置】三项,时间范围选全部时间,点击【清除数据】。
四、禁用百度浏览器内置直播模块对定位的隐式依赖
百度浏览器“我的”页中的主播中心、直播入口等模块会主动初始化百度地图SDK并请求位置,其授权逻辑独立于网页Geolocation API,可能绕过单次控制。关闭该模块可消除非网页场景下的定位干扰源。
1、打开百度浏览器,点击底部导航栏的【我的】。
2、点击顶部【主播中心】进入直播服务界面。
3、点击【立即开播】进入直播设置页。
4、点击右上角【设置】图标,进入直播功能配置。
5、找到【我的定位】选项并点击进入,确认当前状态为已关闭。
6、如显示为开启状态,点击【确认关闭】完成停用。
五、iOS设备专属:限制百度浏览器精确定位并启用“暂停定位”临时开关
iOS系统提供更细粒度的定位控制机制,可在系统层面对百度浏览器单独启用“暂停定位”功能,该状态持续至用户手动恢复,期间任何网页包括百度地图均无法获取坐标,但保留下次访问时重新触发单次授权弹窗的能力。
1、进入iPhone【设置】→【隐私与安全性】→【定位服务】。
2、在应用列表中找到并点击【百度浏览器】。
3、点击【精确位置】开关,将其设为关闭状态。
4、返回上一级,点击【系统服务】→【重要地点】,确认其未被百度浏览器调用。
5、在百度浏览器定位服务页最下方,点击暂停定位按钮(若可见),执行即时阻断。











