问题描述
我正在尝试对react-native-mapBox-gl
<MapBoxGL.SymbolLayer
id="controlPointIcon"
filter={['all',['in','id',this.state.nextPossible],['==','type','alt']]}
style={mapStyle.iconControlPoint}
/>
仅当给定的GeoJSON功能的属性ID包含在数组this.state.nextPossible中并且属性类型与'alt'相匹配时,才认为该过滤器匹配。
我显然做错了,我得到的错误是:
Invalide predicate: "id" ... NSinvalidargumentexception
reason [__NSCFNumber isEqualTOString:]: unrecognized selector sent to instance ...
解决方法
请参见https://github.com/react-native-mapbox-gl/maps/issues/70#issuecomment-499775185 in
是旧版过滤器语法,不支持。请改用match
。
<MapboxGL.SymbolLayer
id="controlPointIcon"
filter={
['all',['match','id',this.state.nextPossible,true,false
],['==','type','alt']
]}
style={mapStyle.iconControlPoint}
/>