问题描述
我已经为它完美使用的 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 (将#修改为@)