arcgis for js图层graphic的鼠标悬浮事件

//仅供参考(与layui前端框架配合使用)

$(function(){

    createModelAllLayer();

    wbgraphicsOnMouseOut();

});

/**
 * 用于轨迹鼠标悬浮事件
 */

var wbnpTtNum,wbnpTtArray;
function wbgraphicsOnMouseOut(){

var modelAllLayer=map.getLayer("modelAllLayer");
    var wbnplayerConnect=dojo.connect(modelAllLayer, "onMouseMove", function(evt) {
        var g = evt.graphic;
        if(wbnpTtNum==g.attributes.id){
            if(tipsClose<=0){
                //轨迹鼠标悬浮展示层【layui】
                showTrajectoryTips(wbnpTtArray,evt.target);
            }
            return true;
        }
        var id=g.attributes.id;
        //遍历图层获取需要展示的数组数据
        wbnpTtArray=querywbnpDates(id);
        wbnpTtNum=id;//将序号传给wbnpTtNum
        //轨迹鼠标悬浮展示层【layui】
        showTrajectoryTips(wbnpTtArray,evt.target);
    });
    
    //dojo.disconnect(wbnplayerConnect);//移除图层的监听事件 
}
/**
 * 轨迹鼠标悬浮之获取graphic信息(包含重复叠加的graphic)
 */
function querywbnpDates(id){
    var graphics=modelAllLayer.graphics;
    var array=new Array(),a=0;
    for(var i=0;i<graphics.length;i++){
        var gid=graphics[i].attributes.id;
        if(id==gid){
            array[a]={
                "name":graphics[i].attributes.wbname
            };
            a++;
        }
    }
    return array;
}

var tipsClose;

/**
 * 轨迹鼠标悬浮之展示层【layui】
 */
function showTrajectoryTips(array,target){
    var str="<div>";
    for(var a=0;a<array.length;a++){
        str+="<p>"+array[a].name+"</p>";
    }
    str+="</div>";
    tipsClose=layer.tips(str, target, {
        tips: [1, '#3595CC'],
        area: ['350px', 'auto'],
        time: 0//tips一直存在
    });
}

/**
 * 创建图层和鼠标移出事件
 */
function createModelAllLayer(){
    //创建一键搜索图层
    var layerid="modelAllLayer";
    modelAllLayer = new esri.layers.GraphicsLayer();
    modelAllLayer.id=layerid;
    map.addLayer(modelAllLayer);
    //鼠标移出事件,用于鼠标悬浮tips展示
    dojo.connect(modelAllLayer, "onMouseOut", function(evt) {
        if(tipsClose && tipsClose>0){
            layer.close(tipsClose);
            tipsClose=0;
        }
    });
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

祥哥哥咩~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值