首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在用于JavaScript的ArcGIS应用程序接口上删除层时出现问题

在用于JavaScript的ArcGIS应用程序接口上删除层时出现问题
EN

Stack Overflow用户
提问于 2015-09-16 09:44:34
回答 1查看 1K关注 0票数 0

我正在向地图添加一个名为layer1的标记图层,如下所示

代码语言:javascript
复制
function drawPoints(mapInfo) {
  layer1 = new esri.layers.GraphicsLayer();
    for (var i = 0; i < mapInfo.length; i++) {
           var projects = mapInfo[i];
           var project = new esri.geometry.Point(projects.Longitude, projects.Latitude);
           project = esri.geometry.geographicToWebMercator(project);
           var symbol = new esri.symbol.PictureMarkerSymbol("img/map/marker.png", 18, 18);
           projectInfoTemplate = new InfoTemplate();
           projectInfoTemplate.setTitle("Project Details");
           projectInfoTemplate.setContent('<div class="row"></div> ');
           var projectsG = new esri.Graphic(project, symbol).setInfoTemplate(projectInfoTemplate);
           layer1.add(projectsG);
           }
          map.addLayer(layer1);
 }

现在在下一个请求中,我需要清除map,所以我使用了

代码语言:javascript
复制
map.removeLayer(layer1);

但这会导致错误,因为layer1仍然不是在第一次请求时创建的。现在我需要检查IF,地图有一个名为layer1的图层,然后删除它。下面是我需要做的伪代码:

代码语言:javascript
复制
if(map.has/contains/include(layer1){
  map.removeLayer(layer1);
}

你能告诉我怎么做吗?

EN

回答 1

Stack Overflow用户

发布于 2016-02-22 20:00:27

它是一个图形层,因此该层将在map.graphicsLayerIds数组中列出。您可以搜索并删除图层,如下所示:

代码语言:javascript
复制
if (map.graphicsLayerIds.indexOf(layer1.id) != -1) {
  map.removeLayer(layer1);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32598411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档