首页 / 浏览问题 / 移动GIS / 问题详情
iMobile for Android
dgc
5EXP 2017年03月15日

底图为WTMS地图服务 在上面加了一层业务图层为WMS地图服务,Layers().getCount()已经是等于2了  上面的业务图层始终是覆盖底图 底图不可见,setVisible(),moveToBottom()等方法都没有效果  该如何做呀。

1个回答

关于这个问题解答如下:

1、两个图层叠加显示首先要确保两个图层的数据范围大致一致;

2、两个数据服务的坐标系一致,建议在iDesktop中打开着两个服务查看1和2较为方便;

3、确保1和2后底图不显示是由于上层是影像图层,需要设置其背景色透明:

LayerSettingImage layersetting = new LayerSettingImage();
layersetting.setTransparent(true);
layersetting.setTransparentColor(Color color);
layersetting.setTransparentColorTolerance(int value);
layer.setAdditionalSetting(layersetting); 

主要设置影像图层背景色透明,具体的方法和参数解释参考联机帮助中的LayerSettingImage类下的方法。

2,042EXP 2017年03月15日
恩恩  谢谢  我试下  我刚用setOpaqueRate透明度试了下 两个图层都显示了 但是底图看起来也是半透明的效果不好 还有就是地图一直闪烁  您有没有遇到过
1、关于上面描述的这个问题我这边没有遇到过,用layer.setOpaqueRate()是整个图层的透明度,应用中一般是设置图层的背景色透明,地物不需要透明;

2、如果你用的是8.10以上的版本,建议在工程的开始设置environment.setOpenGLMode(false);即不使用OpenGL模式渲染地图。

你好  我试了下单独的wms服务设置environment.setOpenGLMode(false);是可以解决闪烁问题  但是WMS 和WMTS一起就不行了    刚才那个问题我设置了LayerSettingImage  但是还是不行  就像图片这样  遮盖住一部分  之前是全部遮盖住的

layer.setAdditionalSetting(layersetting);  这个layer是底图还是业务图层 呀

 mapControl.getMap().getLayers().get(1).setAdditionalSetting(layersetting)(底图)layer会报空指针

 mapControl.getMap().getLayers().get(0)(业务图层)就不会 ,
基于你的描述有下面几个疑问:

1、设置的图层背景色是什么颜色,容限设置的是多大,容限设置大一点效果会更好,能否截代码图片;

2、测试机是什么配置,换一个配置高一点的测试机是否还有闪烁的问题;

3、再iDesktop中叠加显示这两个数据是什么效果,最好有截图。
只需要设置放在上面业务图层的别景色透明,底图不需要设置的;报空指针是不是一个图层呀,你可以先获取底图看是否还会报空指针。

获取底图是没问题的  

这个是我打印的信息  分明打印出来不是null了 但是到setAdditionalSetting 就变成null了

  

你这个设置没有设置什么背景色透明,我上面发的代码还有一句是表示什么颜色透明的,这个null是指你没有指定颜色的。
恩恩 还是null  我都快崩溃了
1、是用的哪个版本的SuperMap iMobile for Android;

2、将一个数据服务加载到地图设置图层是否还有这个问题;

3、将设置图层透明修改后的代码帖出来。
谢谢哈  是后台服务的原因  后台服务还在改
...