如何知道用户何时在react-native-maps中放大/缩小地图?

MøĦ*_*diï 5 react-native react-native-maps

有什么方法可以知道用户是否在react-native-maps中放大或缩小地图?

如何获取缩放级别或更新的 latitudeDelta?

Rei*_*eid 3

要了解用户何时缩放(或更改区域的任何部分),您可以添加回调来侦听区域更改 (onRegionChange)。在回调中,您可以访问新区域的数据:

latitude: number;
longitude: number;
latitudeDelta: number;
longitudeDelta: number;
Run Code Online (Sandbox Code Playgroud)

要确定用户是否缩放,我们只需查看 latitudeDelta 或 longitudeDelta 并将其与之前的值进行比较。

回调的实现方式如下:

在渲染函数中

  <MapView
    onRegionChange={this.onRegionChange}
  />
Run Code Online (Sandbox Code Playgroud)

在课堂里

  onRegionChange = region => {
    if(region.latitudeDelta !== this.state.latitudeDelta){
      //user zoomed
      this.setState({latitudeDelta: region.latitudeDelta});
    }
  }
Run Code Online (Sandbox Code Playgroud)