【问题标题】:deck.gl transitions and filteringdeck.gl 过渡和过滤
【发布时间】:2018-11-25 16:19:34
【问题描述】:

谁能解释一下 Deck.gl 与 d3js 相比如何进行数据更新和转换?例如在这段代码中:

var updateLayers = function(dataset) {
var scatterplot = new deck.ScatterplotLayer({
    /* unique id of this layer */
    id: 'checkins',
    /* data: an array of objects */
    data: dataset,
    /* data accessors */
    getPosition: d => d.geometry.coordinates, // returns longitude, latitude, [altitude]
    getRadius: d => circleSize(d.properties.reviews), // returns radius in meters
    getColor: d => [255, 0, 0],
    outline: true, // returns R, G, B, [A] in 0-255 range
    transitions: {
        getRadius: {
            duration: 1000,
            easing: d3.easeCubicInOut,
            enter: value => [value[0], value[1], value[2], 1] // fade in
        }
    }
})

// Add the layer to deckgl:
deckgl.setProps({ layers: [scatterplot] });
}

我不清楚enter: value => [value[0], value[1], value[2], 1] 在做什么。谁能解释一下?我通常希望(根据 d3js)这个 enter: 正在设置转换中的断点,但我不清楚 value 指的是什么?

【问题讨论】:

    标签: d3.js deck.gl


    【解决方案1】:

    https://github.com/uber/deck.gl/blob/master/docs/api-reference/layer.md

    enter - Function - APPEARANCE (value => value) - 回调以获取输入顶点正在转换的值。

    enter 应该返回要转换的值。对于当前顶点。

    它接收两个参数:

    toValue (TypedArray) - 当前顶点要转换到的新值

    fromChunk (Array | TypedArray) - 用于转换的现有值,用于当前顶点所属的块。 “块”是一组顶点,可帮助回调确定此转换的上下文。对于大多数层,所有对象都在一个块中。对于 PathLayer 和 PolygonLayer,每个路径/多边形都是一个块。

    【讨论】:

    • 是的,我已经看到了,但不清楚它与上面的示例的关系是什么意思。 eg:“value[0], value[1], and value[2]”是toValue还是fromChunk?
    • @Brad:回调只有一个参数,所以value == toValue,很可能它只是动画不透明度而不是位置。
    猜你喜欢
    • 2015-09-17
    • 2013-01-30
    • 2016-01-09
    • 1970-01-01
    • 2017-12-22
    • 2014-04-21
    • 1970-01-01
    • 2014-02-11
    • 2015-06-22
    相关资源
    最近更新 更多