在react-native-mapbox-gl中使用match过滤器过滤SymbolLayer报错求助
问题解决方法
你的错误出在Mapbox表达式的属性引用方式上,直接使用'name'和'maki'无法正确获取图层属性值,需要用['get', '属性名']的格式来引用属性。
修正后的代码如下:
<MapboxGL.SymbolLayer id="LayerRestaurant" filter={[ 'all', ['==', ['get', 'maki'], 'restaurant'], ['match', ['get', 'name'], 'Pita Pit', true, false], ]} />
额外注意:
- 确认你的数据源中确实存在
maki和name这两个属性,否则过滤器无法匹配到对应要素 match表达式的最后一个参数是默认值,你这里设置的false会让不匹配Pita Pit的要素被过滤掉,逻辑是正确的
内容的提问来源于stack exchange,提问作者Bruno Saito
相关产品推荐
相关产品推荐

