onRegionChangeComplete函数使用react本地映射多次调用

问题描述 投票:2回答:1

我想在地图中移动某个位置时更改我的初始区域,我使用了onRegionChangeComplete功能,但它一次调用两次或三次。

这是我的代码:

onRegionChangeComplete(region) {
    if(!this.state.initialRegionChange){
      console.log("changeRegion:"+JSON.stringify(region))
      var initialRegion = {
        latitude: region.latitude,
        longitude :region.longitude,
        latitudeDelta: LATITUDE_DELTA,
        longitudeDelta: LONGITUDE_DELTA
      }
      var lat = parseFloat(region.latitude)
      var lang = parseFloat(region.longitude)
    }else{
      this.setState({
        initialRegionChange:false
      })
    }
  }

render(){
  return(
    <MapView
          ref="map"
          style={styles.map}
          initialRegion={this.state.region}
          provider={MapView.PROVIDER_DEFAULT}
          zoomEnabled={true}
          onRegionChangeComplete={this.onRegionChangeComplete.bind(this)}
          pitchEnabled={true}
          showsCompass={true}
          showsBuildings={true}
          showsUserLocation={true}
          showsTraffic={true}
          showsIndoors={true}
          />
    )
}

请给我建议如何解决这个问题。

任何帮助非常感谢。

这是我关注的模块链接。 https://github.com/react-community/react-native-maps

react-native react-native-android react-native-ios react-native-maps
1个回答
-1
投票

这是react-native-maps的文档问题,甚至提交修改它的拉取请求:https://github.com/react-community/react-native-maps/pull/1597。您可以立即将拉取请求合并到react-native-maps的本地副本中,或者等待它被释放。我建议将你的支持添加到PR中,以便更多地关注它并使其更快地合并。我知道这不是你的问题的解决方案,但是目前你的源代码中没有任何东西可以修复它 - 你需要库本身来改变。希望这可以帮助!

© www.soinside.com 2019 - 2024. All rights reserved.