From 6292e95f80fa2e0a9a7aa4d4d4e320a207e78d27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Minh=20Nguy=E1=BB=85n?= Date: Thu, 7 May 2015 08:35:41 -0700 Subject: Parse feature types in set filters A filter key of `$type` should work in an `in` filter, just like in an `==` filter. --- src/mbgl/style/filter_expression.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/mbgl/style/filter_expression.cpp b/src/mbgl/style/filter_expression.cpp index 684715b026..bb755c5644 100644 --- a/src/mbgl/style/filter_expression.cpp +++ b/src/mbgl/style/filter_expression.cpp @@ -59,7 +59,11 @@ FilterExpression parseSetFilter(const rapidjson::Value& value) { Expression expression; expression.key = { value[1u].GetString(), value[1u].GetStringLength() }; for (rapidjson::SizeType i = 2; i < value.Size(); ++i) { - expression.values.push_back(parseValue(value[i])); + Value parsedValue = parseValue(value[i]); + if (expression.key == "$type") { + parsedValue = parseFeatureType(parsedValue); + } + expression.values.push_back(parsedValue); } return expression; } -- cgit v1.2.1