Остановка перехода состояния вида deck.gl с помощью transitionInterruption - PullRequest
0 голосов
/ 08 апреля 2019

Я использую vue в сочетании с deck.gl, во время перехода между состояниями просмотра он продолжает играть, пока переход не завершится, даже когда он прерван.

Начальная колода:

this.deck = new Deck({
  canvas: 'deck-canvas',
  width: '100%',
  height: '100%',
  initialViewState: this.initialViewState,
  controller: true,
  onViewStateChange: ({ viewState }) => {
    this.map.jumpTo({
      center: [viewState.longitude, viewState.latitude],
      zoom: viewState.zoom,
      bearing: viewState.bearing,
      pitch: viewState.pitch,
    });
  },
});

Создание нового перехода представления:

this.deck.setProps({
  viewState: {
    ...predefinedCameraPosition,
    transitionInterpolator: new FlyToInterpolator(),
    transitionDuration: 2000,
    transitionInterruption: this.deck._onViewStateChange.bind(this)
  }
})

Я ожидаю, что переход прекратится, когда пользователь прервет его.

1 Ответ

0 голосов
/ 08 апреля 2019

Оказывается, другая функция манипулировала состоянием слоя deck.gl.Обновление viewState в то же время исправило это.

this.deck.setProps({
  layers: [...this.deckLayers],
  viewState: this.deck.viewState
});
...