superMAP超图控制TiledDynamicRESTLayer地图图层显示与隐蔽
2015-03-10 19:50
183 查看
超图是中国科学院旗下著名的地理信息系统(GIS)软件产品,不得不说中国人做的东西啊!!!都他么是屎。开源的产品包个壳就说是自主知识产权,一点不带谦虚的。那你也搞好点啊,不行,用的时候总是有各种各样的问题。
来一发:
关于TiledDynamicRESTLayer超图是这样讲的。
SuperMap
iServer Java 6R 分块动态 REST 图层, 用于对接 SuperMap iServer 的 REST 地图服务的分块动态栅格图层,有关 REST (REpresentational State Transfer,表述性状态转移)服务请参见 “SuperMap iServer Java 6R 帮助文档 “。
详细请参见:API参考 http://www.supermap.com.cn:8090/iserver/iClient/forJavaScript/apidoc/files/SuperMap/Layer/TiledDynamicRESTLayer-js.html
讲到说,当我们初始化图层之后还想改变图层显示时可以直接如下进行设置: layer.params.layersID = “[0:0,1,7,11]”; //图层索引为0、1、7和11的显示,其他不显示 layer.redraw();但在使用中发现redraw不起作用。也就是目前已经加载的图像还是这样,修改后,没有加载的图像块加载的时候才会起作用。
厂家也无法解决。
so,只好曲线救国了。
1.从地图中删除该图层 map.remove(layerMain)
2.销毁此对象 layerMain.destroy()
3.new一个layerMain
layerMain = new SuperMap.Layer.TiledDynamicRESTLayer("地图图层", "http://10.42.1.152:8090/iserver/services/map-SLPC/rest/maps/SLPC", {transparent: true, cacheEnabled: true,
layersID:""}, {scales:[1/4622333.678977596,
1/2311166.839488798,
1/1155583.419744399,
1/577791.7098721995,
1/288895.8549360997,
1/144447.92746804986,
1/72223.96373402493,
1/36111.981867012466,
1/18055.990933506233,
1/9027.995466753116]}
);
4.修改layersID layerMain.params.layersID = “[0:0,1,7,11]”; 在这里只添加你想要显示的图元的ID号
5.把此图层添加进地图中 map.addLayer(layerMain)
附较完整的原代码
来一发:
关于TiledDynamicRESTLayer超图是这样讲的。
SuperMap
iServer Java 6R 分块动态 REST 图层, 用于对接 SuperMap iServer 的 REST 地图服务的分块动态栅格图层,有关 REST (REpresentational State Transfer,表述性状态转移)服务请参见 “SuperMap iServer Java 6R 帮助文档 “。
详细请参见:API参考 http://www.supermap.com.cn:8090/iserver/iClient/forJavaScript/apidoc/files/SuperMap/Layer/TiledDynamicRESTLayer-js.html
讲到说,当我们初始化图层之后还想改变图层显示时可以直接如下进行设置: layer.params.layersID = “[0:0,1,7,11]”; //图层索引为0、1、7和11的显示,其他不显示 layer.redraw();但在使用中发现redraw不起作用。也就是目前已经加载的图像还是这样,修改后,没有加载的图像块加载的时候才会起作用。
厂家也无法解决。
so,只好曲线救国了。
1.从地图中删除该图层 map.remove(layerMain)
2.销毁此对象 layerMain.destroy()
3.new一个layerMain
layerMain = new SuperMap.Layer.TiledDynamicRESTLayer("地图图层", "http://10.42.1.152:8090/iserver/services/map-SLPC/rest/maps/SLPC", {transparent: true, cacheEnabled: true,
layersID:""}, {scales:[1/4622333.678977596,
1/2311166.839488798,
1/1155583.419744399,
1/577791.7098721995,
1/288895.8549360997,
1/144447.92746804986,
1/72223.96373402493,
1/36111.981867012466,
1/18055.990933506233,
1/9027.995466753116]}
);
4.修改layersID layerMain.params.layersID = “[0:0,1,7,11]”; 在这里只添加你想要显示的图元的ID号
5.把此图层添加进地图中 map.addLayer(layerMain)
附较完整的原代码
<script type='text/javascript'> var map; var layerBase;//行政区划 var layerMain; function onLoad() { map = new SuperMap.Map("mapDiv", { controls: [ new SuperMap.Control.LayerSwitcher(), new SuperMap.Control.ScaleLine(), new SuperMap.Control.OverviewMap(), new SuperMap.Control.PanZoomBar(), new SuperMap.Control.MousePosition(), new SuperMap.Control.Navigation({ dragPanOptions: { enableKinetic: true } })], //allOverlays: true }); addLayerBase(); addLayerMain(); } //底图图层 function addLayerBase(){ } function addLayerMain(){ layerMain = new SuperMap.Layer.TiledDynamicRESTLayer("地图图层", "http://10.42.1.152:8090/iserver/services/map-SLPC/rest/maps/SLPC", {transparent: true, cacheEnabled: true, layersID:"[0:190]"}, {scales:[1/4622333.678977596, 1/2311166.839488798, 1/1155583.419744399, 1/577791.7098721995, 1/288895.8549360997, 1/144447.92746804986, 1/72223.96373402493, 1/36111.981867012466, 1/18055.990933506233, 1/9027.995466753116]} ); layerMain.events.on({"layerInitialized": addFinish}); } function addFinish(){ map.addLayers([layerMain]); map.setCenter(new SuperMap.LonLat(114.3548172712326,30.52938993630498),7); } </script>
相关文章推荐
- ArcGis esri.layers.ArcGISDynamicMapServiceLayer 动态控制某一些图层的显示与否
- ios 中 对 arcgis 的 AGSDynamicMapServiceLayer 下面的子图层 进行显示和不显示的 处理方式
- 利用动态图层实现数据的实时显示(arcEngine IDynamiclayer)
- ArcGIS API for Silverlight 动态图层(ArcGISDynamicMapServiceLayer)的显示与隐藏
- IOS 使用 ArcGis sdk 在iphone 6P上无法显示 AGSDynamicMapServiceLayer 图层的问题
- supermap 在地图上显示 属性信息(添加图层)
- arcgis server jsapi 地图打印:多图层打印(tiled+dynamic地图服务)
- SuperMap超图——使用SQLite数据库中的点位信息创建数据源并在图层中显示数据
- arcgis for javascript之ArcGISDynamicMapServiceLayer图层控制的实现
- arcgis for javascript之ArcGISDynamicMapServiceLayer图层控制的实现
- arcgis js ArcGISDynamicMapServiceLayer图层控制
- arcgis for javascript之ArcGISDynamicMapServiceLayer图层控制的实现
- openlayer 控制图层显示
- 显示,隐藏图层函数(supermap)
- WMS请求中的Layer ID顺序与REST服务中图层是反的
- ArcGISDynamicMapServiceLayer以ArcGISTiledMapServiceLaye方式使用
- 【Silverlight】Bing Maps学习系列(四):使用图钉层(Pushpin layer)及地图图层(MapLayer)
- 扩展DynamicMapServiceLayer和TiledMapServiceLayer,实现访问wms数据和自定义切图数据
- 控制地图显示范围的参数
- 在地图上点击一下,在图层上画一个点,并显示相关的信息