Establecí un gesto de panel en el gráfico para hacer que el gráfico se desplace horizontalmente, pero el problema es que cuando el usuario se mueve rápidamente, el gesto moverá el gráfico en un porcentaje muy pequeño, ¿cómo puedo hacer un desplazamiento suave, de modo que si el usuario se mueve rápido, el gráfico se mueve rápidamente también.
Tenga en cuenta que: drawChart() desplazará el gráfico hasta el píxel event.x y volverá a dibujar el gráfico.
Aquí está mi código de gesto panorámico:
private mobileHandleEvent(event: WindowEvent): boolean { let pos = this._lastPoint = {x: event.pointerPosition.x, y: event.pointerPosition.y}; switch (event.evt.type) { case TouchEvent.START: { if (this._checkButton(event) && this._checkHit(event)) { this._prevPoint = {x: pos.x, y: pos.y}; this._which = event.evt.type === TouchEvent.START ? 1 : event.evt.which; this._state = GestureState.STARTED; this.drawChart(); return true; } break; } case TouchEvent.MOVE: { let offset = this.moveOffset; if (this.isActive()) { offset.x = 1.5 * (pos.x - this._prevPoint.x); offset.y = 1.5 * (pos.y - this._prevPoint.y); let minMoveDistance = this.minMoveDistance; if ((this.horizontalMoveEnabled && Math.abs(offset.x) >= minMoveDistance) || (this.verticalMoveEnabled && Math.abs(offset.y) >= minMoveDistance)) { this._state = GestureState.CONTINUED; this.drawChart(); }} return true; } break; } case TouchEvent.END: { if (this.isActive()) { this._state = GestureState.FINISHED; this.drawChart(); return true; } break; } } return false; }