kepler.gl で新しいフレームのレンダリングを要求するにはどうすればよいですか?
vis.academy チュートリアルのような、アニメーション化された Deck.gl レイヤーを作成しました: http://vis.academy/#/custom-layers/5-custom-uniform
また、そのレイヤーを kepler.gl と統合することにも成功しました。
ただし、kepler.gl は、マウスまたはビューポートを移動したときにのみレイヤーを更新 (新しいフレームをレンダリング) します。
Deckl.gl では、新しいフレームの要求はアプリの初期化で構成されます。
export default class App extends Component {
constructor(props) {
super(props);
this.state = {
viewport: {
width: window.innerWidth,
height: window.innerHeight,
longitude: -74,
latitude: 40.7,
zoom: 11,
pitch: 30,
maxZoom: 16
}
};
this._resize = this._resize.bind(this);
this._animate = this._animate.bind(this);
this._onViewportChange = this._onViewportChange.bind(this);
}
……
_animate() {
this.setState({});
this._animation = window.requestAnimationFrame(this._animate);
}
ただし、これまでのところ、対応するアクションを kepler.gl で把握できませんでした。