我正在 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
.
我的问题是,如何获取要检索的位置数据?
我今天早些时候遇到了这个问题,但重新启动 Chrome 应该可以解决它。为确保安全,请在重新启动 Chrome 之前尝试重置遇到该问题的页面的数据和权限。
您可以通过
chrome://settings/content/all
并搜索 URL 或通过 url 旁边的锁定图标来完成此操作