Как с помощью React Native MapView определить, когда я достиг своего конечного пункта перетаскивания? - PullRequest
0 голосов
/ 05 ноября 2018

У меня есть Карта с булавкой, которая находится в центре карты. Когда я перетаскиваю карту, координаты обновляются, но проблема в том, что это срабатывает на каждом шаге процесса перемещения.

Вместо этого я хотел бы, чтобы он обнаружил, когда движение карты прекратилось, а затем вернул адрес.

Я пытался использовать 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, но журнал консоли не сработал в любом случае.

Есть ли лучший способ сделать это? Я выполняю вызов API карт Google, чтобы геокодировать адрес, и я не хочу, чтобы он вызывал каждый шаг изменения позиции.

1 Ответ

0 голосов
/ 05 ноября 2018

Вы можете использовать функцию обратного вызова onRegionChangeComplete из событий doc MapView

...