Просматривал и искал ответ, но не смог - надеюсь, это не дубль.
В основном действие в разрабатываемом мной приложении будет показывать только точки (на круглом слое) на карте mapbox - НО только в том случае, если для свойства функции установлено значение true (логическое значение, значение которого может быть изменено в зависимости от другого действия в том же приложении, в зависимости от того, посетили ли вы это место или нет).
Вот Json
{
"features": [
{
"type": "Feature",
"properties": {
"title": "name of place",
"Country": "countryname",
"Region": "regionname",
"poi": "Monument",
"selected": false,
"Visited": false, //This value here is to be filtered
"Visityear": "No",
"Visitmonth": "No",
},
"geometry": {
"coordinates": [
25.588019,
45.641036
],
"type": "Point"
...etc, more values, etc
Теперь логическое значение может быть установлено из другого действия как истинное или ложное, но на этой конкретной карте - мне нужно было бы иметь только простую карту, но показывающую только точки, в которых "is" true "
private void addPointsLayer(@NonNull Style loadedMapStyle) {
CircleLayer Seenlayer = new CircleLayer("points", GEOJSON_SOURCE_ID);
Seenlayer.setProperties(
PropertyFactory.circleColor(Color.RED),
PropertyFactory.circleRadius(2f),
PropertyFactory.circleOpacity(0.4f));
Seenlayer.setFilter(
Expression.all(
eq(literal("$type"), literal("Point")),
eq(get("Visited"), true))); //Im sure its something here!
loadedMapStyle.addLayer(Seenlayer);
}
Пробовал несколько вариантов, но либо баллы не отображаются вообще, либо они отображаются независимо от значения« Посещено »