如何解决问题:initialRegion.latitude` 在`MapView` 中被标记为必需,但它的值为`undefined` 但我有数据
我已经为它完美使用的 lat、lon、latdelta 和 longdelta 定义了一些静态值。问题是,当我获取用户坐标时(必须在访问地图屏幕时完成,因此我使用 componentDidMount)来执行 initialRegion 的 setState,它表示 initialRegion 需要纬度,但未定义。
执行 console.log 我可以看到它确实获得了真实数据,但由于某种我不明白的原因而失败。
代码如下:
constructor(props){
super(props);
this.state = {
errorMessage: '',initialRegion:{
latitude:37.0924442,longitude:-3.6607718,latitudeDelta:0.04,longitudeDelta:0.05,}
}
}
_getLocation = async () => {
const {status} = await Permissions.askAsync(Permissions.LOCATION);
if(status !== 'granted'){
console.log('Permissions not granted!');
this.setState({
errorMessage: 'Permision not granted'
})
}
const location = await Location.getCurrentPositionAsync();
this.setState({
initialRegion:location
})
}
componentDidMount(){
this._getLocation();
}
来自控制台的图像:https://i.stack.imgur.com/pIGcg.png
我认为initialRegion放置正确,但它是:
{console.log(this.state.initialRegion)}
<MapView style={styles.map}
provider={this.props.provider}
initialRegion={this.state.initialRegion}/>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。