2013-04-03 5 views
1

У меня есть карта ESRI, на которой есть 11 полилиний. Я бы хотел, чтобы, когда пользователь переводит линию над линией, линия меняет другой цвет и изменяется на большую ширину. Когда пользователь выходит из линии, линия вернется к первоначальному цвету и ширине. Все эти строки находятся на одном уровне (var достигает).Изменить цвет и ширину полилинии - ESRI Javascript API

У меня есть код, который определяет, когда пользователь mousesover или MouseOut линии:

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

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

Они правильно определить, когда мышь в течение линии и когда мышь находится вне линии. Как у меня есть эти 2 функции, они обнаруживают, когда мышь находится над любой линией в слое reaches. Я хотел бы, чтобы функция onMouseOver знала, какая линия затуманилась и изменили цвет и ширину линии. Как мне это сделать?

+0

hvae u решил эту проблему? Я столкнулся с тем же вопросом –

ответ

1

Я хотел бы функцию OnMouseOver, чтобы узнать, какая линия была наведении мышки над

Параметр evt предоставленный вашей функции обработчика события должны иметь .graphic свойство, которое содержит геометрию функцию, которую вы» re reovering.

и изменить цвет и ширину линии

Вы не можете сделать это прямо на функции, не играя с его поля значений, но вы можете добавить новую функцию к 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); 
}); 
+0

Как это можно сделать с помощью события mouseover. Я имею в виду, что я хотел изменить ширину и высоту полилиний, когда пользователь нажимает кнопку? –

Смежные вопросы