首页 / 浏览问题 / 移动GIS / 问题详情
图层透明度设置无效
77EXP 2019年06月28日

1、imobile版本 supermap-imobile-9.1.2-171-android-zip-chs_(精简绿色包)

2、本地工作空间中有一副地图 和多幅专题图、先加载底图。然后使用

boolean added= map.addLayersFromMap(mapAlias, true); 方法通过名称将专题图合并到地图上 ,

这个时候获取到叠加的专题layer  设置透明度

layer.setOpaqueRate(themeLayerInfo.getAlpha()),无效

想请问下这个应该怎么设置透明度。。。  顺便问下关于legend获取图例的使用,能够获取到叠加的专题图例么?有相关demo不?

1个回答

您好,1.设置专题图图层透明度直接用获取的图层layer来进行设置,如layer.setOpaqueRate(50);

2.图例的制作,可以自定义添加图例子项。图例的demo:http://support.supermap.com.cn/product/search.aspx?querystr=%E5%9B%BE%E4%BE%8B

9,197EXP 2019年06月28日

   

在移动端  通过名称获取到   2016年人均GDP 的图层,设置setOpaqueRate( )确实无效,我猜测是因为在执行了

map.addLayersFromMap(mapAlias, true); 这步操作 ,将其它地图打开作为图层添加进来导致的
或者有没有可能是 配图的原因造成的。。
您获取的2016年人均GDP是一个图层组,不支持设置透明度。您需要获取图层组里面的图层来设置风格。

好的  谢谢,我进行了图层组判断  然后遍历图层设置透明度 解决了这个问题。

然后 我看了下提供的demo示例里面关于图例使用:

//图例控件
			legendView.setRowHeight(36);
			legendView.setTextSize(24);
			legendView.setTextColor(android.graphics.Color.BLUE);
			Legend legend=new Legend(mapControl.getMap());
			ColorLegendItem itemRoad=new ColorLegendItem();
			itemRoad.setCaption("道路");
			itemRoad.setColor(android.graphics.Color.rgb(255,222,173));
			ColorLegendItem itemBuild=new ColorLegendItem();
			itemBuild.setCaption("建筑");
			itemBuild.setColor(android.graphics.Color.rgb(210,105,30));
			ColorLegendItem itemLand=new ColorLegendItem();
			itemLand.setCaption("绿地");
			itemLand.setColor(android.graphics.Color.rgb(60,179,113));
			ColorLegendItem itemRiver=new ColorLegendItem();
			itemRiver.setCaption("河流");
			itemRiver.setColor(android.graphics.Color.rgb(30,144,255));
			LegendItem itemSchool=new LegendItem();
			itemSchool.setCaption("学校");
			Bitmap bitmap=BitmapFactory.decodeResource(getResources(), R.drawable.school);
			itemSchool.setBitmap(bitmap);
			legend.addUserDefinedLegendItem(itemSchool);
			legend.addColorLegendItem(1, itemRoad);
			legend.addColorLegendItem(2, itemBuild);
			legend.addColorLegendItem(2, itemLand);
			legend.addColorLegendItem(2, itemRiver);
			legend.connectLegendView(legendView);

实际使用中 legend.addColorLegendItem( )  没有效果。图例不进行显示  只显示了addUserDefinedLegendItem()添加的自定义图例。。。。

关于这个图例使用  能够有方法获取到上面图片中图层组里面的子图层的图例么。。

...