Arcgis Javascript API 学习(六)简单的空间查询

地图经常会用到查询功能,比如用户可能需要在地图上使用类似框选之类的的操作,显示该区域范围内的目标。 
首先说说查询的思路:
  1:对图层A上的点先全部隐藏;

var graphicLayer = map.getLayer("A");
map.addLayer(graphicLayer);

//做循环添加点,并且添加到全局变量graphics数组中 
graphicLayer.add(graphic);
graphics.push(gra);

for(var i=0;i<graphics.length;i++){
    graphics[i].hide();
}
  2:使用绘图工具esri.toolbars.Draw,以便用户框选;
var tb = new esri.toolbars.Draw(map);
tb.activate(esri.toolbars.Draw.EXTENT);
dojo.connect(tb, "onDrawEnd", findPointsInExtent);
  3:在绘图的结束事件onDrawEnd中遍历所有点
function findPointsInExtent(extent) {     
    dojo.forEach(graphics,function(graphic){    //graphics作为全局变量,表示图层上所有点的数组
        if (extent.contains(graphic.geometry)) {
            graphic.show();
        }
    });
}

以上便可以实现简单的空间查询功能。

转载于:https://my.oschina.net/chenhao901007/blog/212436

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值