使用图标图像的功能状态,但表达式解析器抱怨

问题描述 投票:0回答:1

我正在尝试在case语句中对具有缩放步骤的图标图像使用特征状态,但是解析器拒绝接受它,即使一次只能有一个,在这里我丢失了什么吗?

        layout: {
          'icon-image': ["case",
            ["boolean", ["feature-state", "hover"], false],
            ['step', ['zoom'], 'marker-13', 7, 'marker-17'],
            ['step', ['zoom'], 'active-marker-13', 7, 'active-marker-17']
          ],
          'icon-size': 1
        },

接收到错误:一个表达式中只能使用一个基于缩放的“ step”或“ interpolate”子表达式。使用1.6.0。

TIA。

mapbox-gl-js
1个回答
0
投票

如消息所指示,您不能有两个单独的['zoom']表达式。

您可以通过将表达式内翻来解决此问题,从而使zoom在外面。

{
    layout: {
        'icon-image': ['step', ['zoom'],
            ['case',
                ["boolean", ["feature-state", "hover"], false],
                'marker-13',
                'active-marker-13'
            ],
            7,
            ['case',
                ["boolean", ["feature-state", "hover"], false],
                'marker-17',
                'active-marker-17'
            ]
        ]
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.