java高亮是什么意思,高亮显示点要素

首先补充查询的方法:

1.获取要素图层

var layer = webscene.layers.getItemAt(1);  //如获取视图上已经显示了的图层

2.创建查询对象

var query = layer.createQuery();

3.设置查询语句where语句

query.where = ""

4.查询并对查询结果进行操作

layer.queryFeatures(query).then(function(results){})

==============================================================================================================================

先上图:

efa8d6d426cd7d6939ec9a863872cfc7.png

1.加载底图和网络三维图

"esri/WebScene","esri/views/SceneView"

var webscene = new WebScene({

portalItem:{id:"475a7161ed194460b5b52654e29581a2"}

});

var view = new SceneView({

map:webscene,

container:"viewDiv",

//设置高亮显示的样式:

hightlightOptions:{

color:[255, 241, 58],

fillOpacity:0.4

}

environment:{

atmosphereEnabled:true,

atmosphere:{quality:"high"}

}

});

2.高亮显示分别是三个动作的结果:点击、移入、移出,所以在场景加载完毕之后触发,并实现功能。用三个函数来表示,onClick onMouseOver onMouseOut

webscene.when(function(){

//查询步1、获取要素图层

var layer = webscene.layers.getItemAt(1);

view.whenLayerView(layer).then(function(layerview){  //layerview是加载完图层之后的视图

//查询步2、创建查询对象

var query = layer.createQuery();

var buttons = document.querySelectorAll("button");

for(var i = 0,button = null;button = buttons[i];i++){

button.addEventListener("click",onClick);

button.addEventListener("mouseover",onMouseOver);

button.addEventListener("mouseout",onMouseOut);

};

function onClick(event){

query.where = "nom='"+event.target.innerText+"'";

layer.queryFeatures(query).then(function(result){

if(highlightSelect){

highlightSelect.remove();

}

var feature = result.features[0];

highlightSelect = layerview.highlight(feature.attributes["OBJECTID"]);

view.goTo({

target:feature.geometry,

tilt:70

},{duration:2000,easing:"in-out-expo"})

})

}

function onMouseOver(event){

query.where = "nom='"+event.target.innerText+"'";

hoverNon = layer.queryFeatures(query)

hoverNon.then(function(result){

if(highlightHover){

highlightHover.remove();

}

var feature = result.features[0];

highlightHover = layerview.highlight(feature.attributes["OBJECTID"]);

})

}

function onMouseOut(event){

hoverNon.cancel();

if(highlightHover){

highlightHover.remove();

}

}

})

});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值