我在我的react-native项目中使用expo-location库的getCurrentPositionAsync
:
result = await Location.getCurrentPositionAsync();
以获取当前的GPS位置。
现在,result
变量将保存此JSON对象:
Object {
"coords": Object {
"accuracy": 603,
"altitude": 0,
"altitudeAccuracy": 0,
"heading": 0,
"latitude": 37.421988,
"longitude": -122.0840207,
"speed": 0,
},
"mocked": false,
"timestamp": 1677233557987,
}
我需要使用state函数将latitude
和longitude
值从result
变量保存到状态变量location
:
setLocation({latitude, longitude});
所以当我跑的时候:
console.log(location);
它将显示以下内容:
Object {
"latitude": 37.421988,
"longitude": -122.0840207,
}
目前为止我唯一的成功是这样做的:
const latitude = result['coords'].latitude;
const longitude = result['coords'].longitude;
setLocation({latitude, longitude});
我的问题是-是否有更直接的方法来做到这一点?如:
setLocation({result['coords'].latitude, result['coords'].longitude});
因为这行不通。
谢谢。
1条答案
按热度按时间new9mtju1#
您在尝试设置位置状态时错过了按键。以下操作应该有效:
或者,您可以使用解构从result.coords对象中提取纬度和经度值:
这是实现相同结果的更干净的方法。