Как преобразовать результат Mapbox Expression.get () в цвет, подходящий для fillColor ()? - PullRequest
0 голосов
/ 22 февраля 2019

Следующий код, кажется, не применяет значение fillColorProp из моего файла JSON

Содержимое JSON

"fillColorProp": "#FF0000"

Java

import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.fillColor;
import static com.mapbox.mapboxsdk.style.expressions.Expression.get;
// ...
FillLayer fillLayer = new FillLayer("abc123", source.getId()).withProperties(
                fillColor(get("fillColorProp"))
        );

Я попытался преобразовать тип свойства несколькими различными способами, но не смог найти синтаксис, который скомпилировал бы:

fillColor(color(literal(get("fillColorProp"))));
fillColor(Color.parseColor(literal(get("fillColorProp"))));

Как правильно преобразовать результат Mapbox для Android Expression.get() в цвет, подходящий для передачи в качестве аргумента PropertyFactory.fillColor(), PropertyFactory.lineColor() и т. Д .?

1 Ответ

0 голосов
/ 22 февраля 2019

Expression.toColor () , кажется, работает:

import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.fillColor;
import static com.mapbox.mapboxsdk.style.expressions.Expression.get;
import static com.mapbox.mapboxsdk.style.expressions.Expression.toColor;
// ...
fillColor(toColor(get("fillColor")))
...