2015-12-21 80 views
1

这是一个Esri ArcGIS特定问题。无法在删除平铺地图服务图层后在ArcGIS地图中显示图层

我想创建一个功能来改变底图。

为了测试这个概念,我创建了一个地图,并增加了ArcGISTiledMapServiceLayer

var tiled = new ArcGISTiledMapServiceLayer('http://services.arcgisonline.com/ArcGIS/rest/services/NatGeo_World_Map/MapServer'); 

接下来,我会删除该层并添加ArcGISImageServiceLayer刺激变化底图行动

var image = new ArcGISImageServiceLayer("http://sampleserver6.arcgisonline.com/arcgis/rest/services/Toronto/ImageServer", { 
    imageServiceParameters: params, 
    opacity: 0.75 
}); 

我实现是在这些[添加平铺,删除平铺,添加图像]动作,没有图层将被渲染

我测试的其他情形,这些都是结果:

1) If I do not remove the tiled layer, both layers get rendered 
2) If I add only image layer, image layer get rendered 
3) If I add only tiled layer, tiled layer get rendered 

。你们有什么建议,为什么我无法执行删除层动作?

为了使这个问题可以理解,我创建了一个可以说明我的情况的示例小提琴。只需删除小提琴中的removeLayer注释并运行它。你会注意到,没有任何东西会被渲染。

https://jsfiddle.net/82qjh0wg/

回答

0

如果去掉底图层(这将是您添加到地图中的第一层,如果你不指定构造函数中的底图图层),那么整个地图对象将停止渲染。

如果要隐藏底图图层,那么最好的选择是使用css或create a blank basemap并将底图更改为该底图。

您也可以设置底图的透明度来隐藏它。

+0

嗨,赖安,感谢您的评论,道歉我没有更新我的问题,但我已经通过提供一组缩放级别的地图解决了它。原因在于由于平铺图层设置的缩放级别与图像图层不兼容,图层不显示。 – bryan