首页 / 浏览问题 / 移动GIS / 问题详情
SuperMap Android 动态修改图层颜色
66EXP 2020年10月26日
我导入一个或多个shp图层文件,通过rgba设置图层颜色和透明度,这是一次性的。;;;请问有动态设置颜色的方法吗?就是图层加载完了,想动态修改图层颜色

1个回答

您好,修改图层的颜色是指设置图层的对象显示风格吗?可以通过设置图层风格layer.setAdditionalSetting(LayerSetting layerSetting)或者对图层设置专题图,可以使用单值专题图、分段专题图。具体代码可以参考帮助文档

9,137EXP 2020年10月26日
天地图中文标注open打开失败了,这是为什么呢,提示为空,参数都给了
自己看一下参数哪有问题,正常情况是可以打开的,你的driver写的有问题,driver设置是一样的,直接写WMTS
现在不报错误了,但是只显示影像图,不显示中文标注,是被覆盖了吗?
//初始化天地图卫星图
public void initTiandituSatelliteMap() {
    //显示天地图影像
    DatasourceConnectionInfo dcInfo = new DatasourceConnectionInfo();
    //数据源别名
    dcInfo.setAlias("ImgTianDiTu");
    dcInfo.setEngineType(EngineType.OGC);
    dcInfo.setDriver("WMTS");
    String url = "http://t0.tianditu.gov.cn/img_c/wmts?tk=fc549a8d2da7d6dec0f0511ee3456c81&DPI=96";
    dcInfo.setServer(url);
    //打开数据源// roadmap//  satellite-影像// terrain-地形// hybrid-地名
    Datasource datasource = workspace.getDatasources().open(dcInfo);
    Dataset dasetvalue = datasource.getDatasets().get(0);
    map.getLayers().add(dasetvalue, false);

    //显示天地图中文标注
    DatasourceConnectionInfo dcInfo2 = new DatasourceConnectionInfo();
    //数据源别名
    dcInfo2.setAlias("CiaTianDiTu");
    dcInfo2.setEngineType(EngineType.OGC);
    dcInfo2.setDriver("WMTS");
    String url2 = "http://t0.tianditu.gov.cn/cia_c/wmts?tk=fc549a8d2da7d6dec0f0511ee3456c81&DPI=96";
    dcInfo2.setServer(url2);
    //打开数据源// roadmap//  satellite-影像// terrain-地形// hybrid-地名
    Datasource datasource2 = workspace.getDatasources().open(dcInfo2);
    Dataset dasetvalue2 = datasource2.getDatasets().get(0);
    map.getLayers().add(dasetvalue2, false);
}
你添加注记的时候设置第二个参数为true,让注记图层显示在最上层

找到api了,原来是这个意思

//用于把一个数据集添加到此图层集合作为一个普通图层显示,即创建一个普通图层。其风格由系统默认设置。
//一参:dataset - 要添加到图层的数据集。 二参:addToHead - 指定新创建图层是否放在图层集合的最上面一层。当设置为 false 时,则将此新创建图层放在最底层。

我把这两个数据源调换一下加载位置就好了,把影像放到最底下了。谢谢帮助
...