我正在使用React在Localhost:3000上获得地理位置。我已经看到另一个人在其本地主机上获得地理位置坐标,但是即使在Chrome上启用了允许位置访问权限,我也无法这样做。
我尝试在React中同时使用钩子和类语法。我启用了允许访问。我最终使用IP地址API获取了一个一般位置,但是由于地理位置应该可以使用(至少这是我被告知的(,我至少希望看到它的工作未来。错误日志甚至不会发射,而在安装组件时,前三个日志正在触发。这是我尝试过的代码,我使其尽可能简单:
const App = props => {
useEffect(() => {
console.log('hello')
console.log(navigator)
console.log(navigator.geolocation)
if ("geolocation" in navigator) {
navigator.geolocation.getCurrentPosition((position) => {
console.log(position)
}, (error) => {
console.log(error)
})
} else {
console.log('error')
}
}, [])
return (
<div>
<h3>Please Login.</h3>
</div>
)
}
export default App
我希望收到Googleapi的回复。
编辑:
我添加了错误回调,并打印了:
消息:"网络位置提供商'https://www.googleapis.com/':未收到任何响应。"
添加可选错误回调以处理错误(如果用户拒绝位置许可(
navigator.geolocation.getCurrentPosition(success[, error[, [options]])
您仅检查导航器是否在检查中!
如果用户拒绝位置权限,则错误回调将处理...
可能的选项是(参考从MDN获取(
{
enableHighAccuracy: true,
maximumAge : 30000,
timeout : 27000
}