更改Polyline的颜色和宽度 - ESRI Javascript API

时间:2013-04-03 03:54:22

标签: javascript esri polyline arcgis-js-api

我有一张ESRI地图,上面有11条折线。我希望这样当用户将鼠标悬停在一条线上时,该线会改变不同的颜色并更改为更大的宽度。当用户将线路移开时,线条将返回其原始颜色和宽度。所有这些线都在同一层(var到达)。

我有一个代码可以检测用户鼠标移动或鼠标输出行的时间:

dojo.connect(reaches, "onMouseOver", function(evt) 
{ });

dojo.connect(reaches, "onMouseOut", function() 
{ });

它们可以正确地检测鼠标何时在一条线上以及当鼠标离线时。我有这两个功能的方式,它们检测鼠标何时在reaches层中的任何一行。我希望onMouseOver函数能够知道哪条线是moused并改变了线条的颜色和宽度。我该怎么做?

1 个答案:

答案 0 :(得分:1)

  

我希望onMouseOver函数知道哪一行是moused   在

为您的事件处理函数提供的evt参数应该具有.graphic属性,该属性包含您正在悬停的要素的几何。

  

并更改线条的颜色和宽度

如果不播放其字段值,则无法直接在该功能上执行此操作,但您可以向map.graphics图层添加新功能以用作突出显示的功能。 ESRI's forums上有一个很好的例子:

dojo.connect(pdaGraphicsLayer, "onMouseOver", function(evt) {
map.graphics.clear();
var highlightGraphic = new esri.Graphic(evt.graphic.geometry,highlightSymbol);
map.graphics.add(highlightGraphic);
});