GeoLocation 在 Chrome 中给出“权限被撤销”,而不是在其他浏览器中,即使我无法在任何浏览器中检索位置数据

问题描述 投票:0回答:1

我正在 React 项目中使用地理定位 API,在调用该 API 时,我收到一条回调错误消息,提示权限已撤销。我已打开和关闭位置弹出窗口,并将位置重置为可用于操作系统设置中的所有应用程序。我在 Chrome、Brave 和 Edge 上进行了测试,并允许位置访问。在所有浏览器上,我都没有可用的位置数据,但在 Chrome 中,我也收到“权限已撤销”错误。

我正在尝试将纬度和经度的值保存到React状态中。

   const [location, setLocation] = useState({
     latitude: "",
     longitude: "",
   });
  

  function successCallback(position) {
    const latitude = position.coords.latitude;
    const longitude = position.coords.longitude;
    setLocation(prevValue => ({
      ...prevValue,
      latitude,
      longitude,
    }));
  }

  function errorCallback(error) {
    console.log("Error", error);
  }

  navigator.geolocation.getCurrentPosition(successCallback, errorCallback);

当我在

successCallback
函数内控制台记录位置状态时,我没有数据,在主渲染内部调用它仅返回一个对象,其空值设置为
latitude
状态下的
longitude
location
.

我的问题是,如何获取要检索的位置数据?

javascript reactjs geolocation navigator
1个回答
0
投票

我今天早些时候遇到了这个问题,但重新启动 Chrome 应该可以解决它。为确保安全,请在重新启动 Chrome 之前尝试重置遇到该问题的页面的数据和权限。

您可以通过

chrome://settings/content/all
并搜索 URL 或通过 url 旁边的锁定图标来完成此操作

© www.soinside.com 2019 - 2024. All rights reserved.