无法读取地理定位中未定义的 属性 'ccords'
Cannot read property 'ccords' of undefined in geolocation
我正在尝试在我的 React 应用程序中使用地理定位。
我正在控制台中获取经纬度,但出现错误:
Unhandled Rejection (TypeError): Cannot read property 'coords' of undefined.
这是我的代码:
const [location, setLocation]= useState({
coordinates: {lat:"", long:""}
});
const onSucces = location=>{
setLocation({
coordinates:{
lat: location.coords.latitude,
long: location.coords.longitude
}
})
};
useEffect(()=>{
if (!("geolocation" in navigator)){
console.log("Geolocation is not supported")
}
navigator.geolocation.getCurrentPosition(onSucces)
}, []);
console.log(location)
const getTeamLeadersLocation = async () => {
const result = await client.post('api/team/location',
{
"Location":{
"coords":{
"latitude":location.coordinates.lat,
"longitude":location.coordinates.long,
}
}
}
)
if(!result.ok){
console.log(result, result.originalError, result.problem, result.status);
return;
}
onSucces()
console.log(result)
}
useEffect(() => {
getTeamLeadersLocation();
}, []);
请帮忙。
在您的 getTeamLeadersLocation()
函数中,您调用的 onSuccess
没有必需的 location
参数。所以它试图访问未定义的coords
。因此你得到了错误。此外,您已经调用了您的状态 location
并且此变量可能会被隐藏,因此您应该重命名其中一个。这也减少了调试的混乱。
我正在尝试在我的 React 应用程序中使用地理定位。
我正在控制台中获取经纬度,但出现错误:
Unhandled Rejection (TypeError): Cannot read property 'coords' of undefined.
这是我的代码:
const [location, setLocation]= useState({
coordinates: {lat:"", long:""}
});
const onSucces = location=>{
setLocation({
coordinates:{
lat: location.coords.latitude,
long: location.coords.longitude
}
})
};
useEffect(()=>{
if (!("geolocation" in navigator)){
console.log("Geolocation is not supported")
}
navigator.geolocation.getCurrentPosition(onSucces)
}, []);
console.log(location)
const getTeamLeadersLocation = async () => {
const result = await client.post('api/team/location',
{
"Location":{
"coords":{
"latitude":location.coordinates.lat,
"longitude":location.coordinates.long,
}
}
}
)
if(!result.ok){
console.log(result, result.originalError, result.problem, result.status);
return;
}
onSucces()
console.log(result)
}
useEffect(() => {
getTeamLeadersLocation();
}, []);
请帮忙。
在您的 getTeamLeadersLocation()
函数中,您调用的 onSuccess
没有必需的 location
参数。所以它试图访问未定义的coords
。因此你得到了错误。此外,您已经调用了您的状态 location
并且此变量可能会被隐藏,因此您应该重命名其中一个。这也减少了调试的混乱。