使用React Native的MapView,如何确定何时到达最终拖动目标?

时间:2018-11-04 22:30:05

标签: google-maps react-native drag expo

我有一个地图,图钉的位置位于地图中心。当我拖动地图时,坐标会更新,但是问题是,这会在移动过程的每个步骤中触发。

相反,我希望它检测到地图移动何时停止,然后返回地址。

我一直在尝试使用onDragStart / onDragEnd,但是到目前为止还没有用。

<MapView
    style={{ alignSelf: 'stretch', height: 250 }}
    region={this.state.mapRegion}
    onRegionChange={this._handleMapRegionChange}
    draggable
    onSelect={() => console.log('onSelect', arguments)}
    onDrag={() => console.log('onDrag', arguments)}
    onDragStart={() => console.log('onDragStart', arguments)}

>
    <MapView.Marker
        coordinate={
            this.state.mapRegion
        }
    />

</MapView>

我尝试将拖动动作放在MapView.Marker组件上,但控制台日志不会触发任何一种方式。

是否存在“最佳实践”方法?我正在通过google maps API调用对地址进行地理编码,但我不希望它触发位置更改的每一步。

1 个答案:

答案 0 :(得分:1)

您可以使用doc MapView events中的回调道具onRegionChangeComplete