ArcGis api for js 之infowindow与infotemplate(3.x版本)

由于业务需求需要用到弹窗,故记录下用法以便不时之需
1)infoWindow
笔者使用的infoWindow是map所带的infoWindow,有一个好处就是可以控制显示和隐藏,infotemplate的话需要点击要素才能够显示(至于模拟点击要素的方法。。。。暂时没有找到)
代码如下:

   map.infoWindow.setTitle("医院2016");
       map.infoWindow.setContent( "<div class=\"layui-card-header\">"+features[i].attributes.NAME+"</div>"+
       "<div class=\"layui-card-body\">"+
           "<img src=\""+e[0].url+"\" style=\"width: 200px;\"></div>"+
       "<div class=\"layui-card-body\">地址:"+features[i].attributes.ADDRESS+"</div>"+
       "<div class=\"layui-card-body\"> 电话:"+features[i].attributes.PHONE+" </div>");
       map.infoWindow.show(new Point(features[i].geometry.x,features[i].geometry.y));//显示
       map.centerAndZoom(new Point(features[i].geometry.x,features[i].geometry.y),12);//显示的位置
       //隐藏 map.infoWindow.hide();//显示

2)infoTemplate
第一个是基于featureLayer的弹窗,基于自身的属性来生成,上代码:

  var infoTemplate=new InfoTemplate();
    infoTemplate.setTitle("2016年武汉市医院");
  var layer1=new FeatureLayer(data.layers[0].url,{
        id:"2016",
        outFields: ["*"],
        // visible:false
        infoTemplate:infoTemplate
    })
   infoTemplate.setContent( "<div class=\"layui-card-header\">${NAME}</div>"+
                    "<div class=\"layui-card-body\">"+
                        "<img src=\""+data[0].url+"\" style=\"width: 200px;\"></div>"+
                    "<div class=\"layui-card-body\">地址:${ADDRESS}</div>"+
                    "<div class=\"layui-card-body\"> 电话:${PHONE} </div>");

第二个是基于graphicsLayer 的弹窗:

var differenceLayer=new GraphicsLayer();
 var diffInfo=new InfoTemplate();
           diffInfo.setTitle("图斑信息");
   var attr = {"area":Math.abs(dArea.toFixed(3))};
     diffInfo.setContent("<div class='layui-card-body'>面积:${area}公顷</div>");

                                   differenceLayer.add(new Graphic(new Polygon(differenceGeometry.rings[j]).setSpatialReference(new SpatialReference({wkid:4490})),symbol1,attr,diffInfo));//添加一个graphic就设置一个弹窗
                                   //格式是:graphicsLayer,add(graphic,symbol,attr,infotemplate)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值