Javascript react native maps区域未更新-地图卡在一个区域上
我有一个Javascript react native maps区域未更新-地图卡在一个区域上,javascript,reactjs,react-native,redux,react-native-maps,Javascript,Reactjs,React Native,Redux,React Native Maps,我有一个,当我滚动地图时,该区域从不更新。地图基本上是停留在一个地区。当我滚动时,它似乎将完全相同的区域传递到this.props.onRegionChange,这会阻止地图滚动。如何使其在滚动到区域中传递 <MapView style={styles.map} region={this.props.region} onRegionChange={this.props.onRegionChange} >
,当我滚动地图时,该区域从不更新。地图基本上是停留在一个地区。当我滚动时,它似乎将完全相同的区域传递到this.props.onRegionChange
,这会阻止地图滚动。如何使其在滚动到区域中传递
<MapView
style={styles.map}
region={this.props.region}
onRegionChange={this.props.onRegionChange}
>
{
this.props.markers.map(marker => {
return (
<MapView.Marker
coordinate={{ latitude: marker.latitude, longitude: marker.longitude }}
title={marker.name}
/>
)
})}
</MapView>
使用
onRegionChangeComplete
<MapView
style={styles.map}
region={this.props.region}
onRegionChangeComplete={this.props.onRegionChange}>
文档中的示例使用了onRegionChange
。因此,onRegionChange
可能对大多数人有效。也许它在没有redux的情况下可以工作。不管怎样,如果遇到相同的问题,简单的解决方法是onRegionChangeComplete
// @flow
import initialState from '../../config/config'
import { UPDATE_REGION } from './map.action'
const map = (
initialMapState: [] = initialState.get('map'),
action: Object): string => {
switch (action.type) {
case UPDATE_REGION: {
if (action.payload) {
return initialMapState.set('region', {
latitudeDelta: 0.0922,
longitudeDelta: 0.0421,
latitude: action.payload.region.latitude,
longitude: action.payload.region.longitude
})
} else {
return initialMapState
}
}
default:
return initialMapState
}
}
export default map
<MapView
style={styles.map}
region={this.props.region}
onRegionChangeComplete={this.props.onRegionChange}>