【问题标题】:Unable to show layers in ArcGIS map after removing tiled map service layer删除切片地图服务图层后无法在 ArcGIS 地图中显示图层
【发布时间】:2015-12-21 09:19:02
【问题描述】:

这是一个 Esri 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/

【问题讨论】:

    标签: layer arcgis-js-api


    【解决方案1】:

    如果您删除底图图层(如果您未在构造函数中指定底图图层,这将是您添加到地图的第一个图层),则整个地图对象将停止渲染。

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

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

    【讨论】:

    • 嘿 Ryan,感谢您的评论,很抱歉我没有更新我的问题,但我已经通过为地图提供一组缩放级别来解决它。原来由于平铺层设置的缩放级别与图像层不兼容,图像层没有显示。
    猜你喜欢
    • 1970-01-01
    • 2013-07-18
    • 2016-03-28
    • 1970-01-01
    • 2014-05-24
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多