使用 React Native 的 MapView,我如何确定何时到达最终拖动目的地?
With React Native's MapView, how can I determine when I've reached my final drag destination?
我有一张地图,地图中央有一个图钉。当我拖动地图时,坐标会更新,但问题是这会在移动过程的每一步触发。
相反,我希望它检测地图移动何时停止,然后 return 地址。
我一直在尝试使用 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 组件上,但控制台日志不会以任何方式触发。
有没有 'best practice' 方法来做到这一点?我正在调用 google 地图 API 来对地址进行地理编码,但我不希望它触发位置更改的每一步。
您可以使用 doc MapView events
中的回调道具 onRegionChangeComplete
我有一张地图,地图中央有一个图钉。当我拖动地图时,坐标会更新,但问题是这会在移动过程的每一步触发。
相反,我希望它检测地图移动何时停止,然后 return 地址。
我一直在尝试使用 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 组件上,但控制台日志不会以任何方式触发。
有没有 'best practice' 方法来做到这一点?我正在调用 google 地图 API 来对地址进行地理编码,但我不希望它触发位置更改的每一步。
您可以使用 doc MapView events
中的回调道具onRegionChangeComplete