React-Native-Maps停止无限滚动

时间:2019-05-08 09:51:50

标签: react-native react-native-maps

使用React-Native-Maps时是否可以停止“包装”地图并创建无限滚动? IE当您到达世界尽头时,地图停止了吗?

1 个答案:

答案 0 :(得分:1)

要检查用户是否已将地图拖出边界,可以执行的操作是检查当前的经纬度。如果当前的经纬度超出范围,则将用户带回到上一个有效的经纬度。参见下面的代码:-

let lastValidCenter
constructor(props) {
  super(props)
  this.state = {
     region: {
      latitude: 37.78825,
      longitude: -122.4324,
      latitudeDelta: 0.0922,
      longitudeDelta: 0.0421,
    }
  }
 lastValidCenter = this.state.region
}

onRegionChange = (region) => {
  if(this.state.region.contains(region)) {
    lastValidCenter = region;
    return;
  }
  this.setState({
     region: lastValidCenter
  })
}

<MapView
  region={this.state.region}
  onRegionChange={this.onRegionChange}
>
</MapView>

快乐编码:)