2017-11-21 9 views
1

setStyleを使用し、レイヤーにnullまたはundefinedのフィルタがある場合、これによってエラーが発生します。スタイル仕様フィルタはオプションであり、setFilterはnullまたは未定義を取ることができるが、https://www.mapbox.com/mapbox-gl-js/api/#map#setfilterはエラーを発生させる。マップボックスGL setStyleを使用しているときにレイヤーフィルタをnullまたは未定義にできないのはなぜですか?

レイヤーのフィルターをリセットするにはどうしたらいいですか?

Error: layers[1].filter: array expected, null found 
    at Function.module.exports.emitErrors (mapbox-gl.js:402) 
    at t.setState (mapbox-gl.js:376) 
    at e.setStyle (mapbox-gl.js:474) 
+0

をクリアしている、完全にレイヤーオブジェクトからフィルター小道具を削除することで、この問題を解決することができた、あなたは常にだけでナンセンスフィルタを行うことができます ' map.setFilter(mylayer、['!='、 'Z'、 'X']) ' –

答えて

1

私は正常に回避策として、フィルタ

const { filter, ...newProps } = state.layers[i]; 
new_layers.push(newProps); 
+0

' delete() '関数を使うこともできます。 –

関連する問題