protected virtual void UpdateBaseLayer()
        {
            string styleAssetName   = vectorStyleName + ".zip";
            bool   styleBuildings3D = false;

            if (vectorStyleName.Equals("nutibright3d"))
            {
                styleAssetName   = BaseStyleFile;
                styleBuildings3D = true;
            }

            BinaryData styleBytes = AssetUtils.LoadAsset(styleAssetName);

            if (styleBytes == null)
            {
                Toast.MakeText(this, "Map style file must be in project assets: " + vectorStyleName, ToastLength.Short).Show();
                return;
            }

            // Create style set
            CompiledStyleSet vectorTileStyleSet = new CompiledStyleSet(new ZippedAssetPackage(styleBytes));

            vectorTileDecoder = new MBVectorTileDecoder(vectorTileStyleSet);

            // Set language, language-specific texts from vector tiles will be used
            vectorTileDecoder.SetStyleParameter("lang", vectorStyleLang);

            // OSM Bright style set supports choosing between 2d/3d buildings. Set corresponding parameter.
            if (styleAssetName.Equals(BaseStyleFile))
            {
                vectorTileDecoder.SetStyleParameter("buildings3d", styleBuildings3D ? "1" : "0");
                vectorTileDecoder.SetStyleParameter("markers3d", styleBuildings3D ? "1" : "0");
                vectorTileDecoder.SetStyleParameter("texts3d", styleBuildings3D ? "1" : "0");
            }

            // Create tile data source for vector tiles
            if (vectorTileDataSource == null)
            {
                vectorTileDataSource = CreateTileDataSource();
            }

            // Remove old base layer, create new base layer
            if (BaseLayer != null)
            {
                MapView.Layers.Remove(BaseLayer);
            }

            BaseLayer = new VectorTileLayer(vectorTileDataSource, vectorTileDecoder);
            MapView.Layers.Insert(0, BaseLayer);
        }
        void UpdateLanguage(string code)
        {
            if (currentLayer == null)
            {
                return;
            }

            MBVectorTileDecoder decoder = (currentLayer as VectorTileLayer).TileDecoder as MBVectorTileDecoder;

            decoder.SetStyleParameter("lang", code);
        }