Как скрыть слой в mapbox android? - PullRequest
0 голосов
/ 05 января 2020
   private void AddSanciangkoStreet(@NonNull Style style) {

   style.addImage("sanciangko-street",
                   BitmapUtils.getBitmapFromDrawable(getResources().getDrawable(R.drawable.floodicon)));

            style.addSource(new GeoJsonSource("sanciangkoFlood1-source-id"));

            style.addLayer(new SymbolLayer("sanciangkoFlood1-layer-id", "sanciangkoFlood1-source-id").withProperties(
                    iconImage("sanciangko-street"),
                    iconIgnorePlacement(true),
                    iconAllowOverlap(true),
                    iconSize(1f)
            ));

Мне нужно скрыть этот символ, когда мое statusValue = 0, и появляется снова, когда statusValue = 1. Пожалуйста, помогите

1 Ответ

0 голосов
/ 05 января 2020

Изменить свойство видимости на NONE/VISIBLE:

public void updateLayer(final int statusValue) {
    mapboxMap.getStyle(new Style.OnStyleLoaded() {
        @Override
        public void onStyleLoaded(@NonNull Style style) {
            Layer layer = style.getLayer("sanciangkoFlood1-layer-id");
            if (layer != null) {
                layer.setProperties(PropertyFactory.visibility(
                        statusValue == 0 ? Property.NONE : Property.VISIBLE
                ));
            }
        }
    });
}
...