FLEX API ARCGIS Обработка события MOUSE_OVER
-
- Интересующийся
- Сообщения: 30
- Зарегистрирован: 12 июл 2007, 16:36
- Репутация: 0
FLEX API ARCGIS Обработка события MOUSE_OVER
Здравствуйте!
Никак не можем решить такую проблему и в интернете ничего про это не сказано:
Необходимо при наведении курсора на точечный объект, имеющий символику в виде какой-то картинки, чтобы символ объекта менялся на другую картинку.
Есть точечный слой FeatureLayer. Символика задана внутри тега FeatureLayer через <esri:symbol> <esri:PictureMarkerSymbol путь к рисунку_1.png /> </esri:symbol>
На Map стоит стандартный прослушиватель (addEventListener(MouseEvent.MOUSE_OVER, NameFunction)
Сама фукнция имеет код:
private function NameFunction(event:MouseEvent):void
{
Mouse.cursor = MouseCursor.BUTTON;
var grp:Graphic = Graphic(event.target);
grp.symbol =onMouseOverSymbol;
}
В Declarations создано:
<esri:PictureMarkerSymbol id="onMouseOverSymbol" source="Путь к рисунку_2.png"/>
Как только меняем символику слоя с PictureMarkerSymbol на SimpleMarkerSymbol событие прекрасно отрабатывается.
В чём проблема, подскажите!!??
Никак не можем решить такую проблему и в интернете ничего про это не сказано:
Необходимо при наведении курсора на точечный объект, имеющий символику в виде какой-то картинки, чтобы символ объекта менялся на другую картинку.
Есть точечный слой FeatureLayer. Символика задана внутри тега FeatureLayer через <esri:symbol> <esri:PictureMarkerSymbol путь к рисунку_1.png /> </esri:symbol>
На Map стоит стандартный прослушиватель (addEventListener(MouseEvent.MOUSE_OVER, NameFunction)
Сама фукнция имеет код:
private function NameFunction(event:MouseEvent):void
{
Mouse.cursor = MouseCursor.BUTTON;
var grp:Graphic = Graphic(event.target);
grp.symbol =onMouseOverSymbol;
}
В Declarations создано:
<esri:PictureMarkerSymbol id="onMouseOverSymbol" source="Путь к рисунку_2.png"/>
Как только меняем символику слоя с PictureMarkerSymbol на SimpleMarkerSymbol событие прекрасно отрабатывается.
В чём проблема, подскажите!!??
- novia
- Гуру
- Сообщения: 2261
- Зарегистрирован: 29 апр 2011, 15:06
- Репутация: 489
- Откуда: Тель-Авив
Re: FLEX API ARCGIS Обработка события MOUSE_OVER
вот вам форум, где это уже обсудили.Вадимчик писал(а):Никак не можем решить такую проблему и в интернете ничего про это не сказано:
Необходимо при наведении курсора на точечный объект, имеющий символику в виде какой-то картинки, чтобы символ объекта менялся на другую картинку.
а вот еще пример реализации такой функциональности.
понравилось? жми палец вверх 

-
- Интересующийся
- Сообщения: 30
- Зарегистрирован: 12 июл 2007, 16:36
- Репутация: 0
Re: FLEX API ARCGIS Обработка события MOUSE_OVER
Это всё я читал, замена на currentTarget не работает.
Мне надо именно сменить растровый символ при наведении курсора на точечный объект.
Векторные символы меняются без проблем.
Мне надо именно сменить растровый символ при наведении курсора на точечный объект.
Векторные символы меняются без проблем.
- novia
- Гуру
- Сообщения: 2261
- Зарегистрирован: 29 апр 2011, 15:06
- Репутация: 489
- Откуда: Тель-Авив
Re: FLEX API ARCGIS Обработка события MOUSE_OVER
второй пример тоже не работает?
понравилось? жми палец вверх 

-
- Интересующийся
- Сообщения: 30
- Зарегистрирован: 12 июл 2007, 16:36
- Репутация: 0
Re: FLEX API ARCGIS Обработка события MOUSE_OVER
С растровыми маркерами(PictureMarkerSymbol) - НЕТ.
С обычными (SimpleMarkerSymbol) - работает.
С обычными (SimpleMarkerSymbol) - работает.
- novia
- Гуру
- Сообщения: 2261
- Зарегистрирован: 29 апр 2011, 15:06
- Репутация: 489
- Откуда: Тель-Авив
Re: FLEX API ARCGIS Обработка события MOUSE_OVER
проверил со слушателем на самой графике. успешно меняет один PictureMarkerSymbol на другой. использовать для присвоения нужно (event.currentTarget as Graphic).symbol
понравилось? жми палец вверх 

-
- Интересующийся
- Сообщения: 30
- Зарегистрирован: 12 июл 2007, 16:36
- Репутация: 0
Re: FLEX API ARCGIS Обработка события MOUSE_OVER
Меняются все символы слоя. А надо чтобы только один над которым мышь )))
Вот код фунцкии, может что подправить, хотя и так минимум:
private function onMouseOver(event:MouseEvent):void
{
Mouse.cursor = MouseCursor.BUTTON;
(event.currentTarget).symbol = onMouseMarkerSymbol;
}
<fx:Declarations>
<esri:PictureMarkerSymbol id="onMouseMarkerSymbol" source="http://путь/images/sample.png"/>
</fx:Declarations>
Я даже прослушиватель переместил из Map в FeatureLayer.
НЕ ПОМОГАЕТ.
Вот код фунцкии, может что подправить, хотя и так минимум:
private function onMouseOver(event:MouseEvent):void
{
Mouse.cursor = MouseCursor.BUTTON;
(event.currentTarget).symbol = onMouseMarkerSymbol;
}
<fx:Declarations>
<esri:PictureMarkerSymbol id="onMouseMarkerSymbol" source="http://путь/images/sample.png"/>
</fx:Declarations>
Я даже прослушиватель переместил из Map в FeatureLayer.
НЕ ПОМОГАЕТ.
- novia
- Гуру
- Сообщения: 2261
- Зарегистрирован: 29 апр 2011, 15:06
- Репутация: 489
- Откуда: Тель-Авив
Re: FLEX API ARCGIS Обработка события MOUSE_OVER
я же вам дал ссылку на пример. слушаем graphicAdd на FeatureLayer
внутри вешаем два слушателя на графику
в обработчике наведения и уведения мыши делаем дело
внутри вешаем два слушателя на графику
в обработчике наведения и уведения мыши делаем дело
понравилось? жми палец вверх 

-
- Интересующийся
- Сообщения: 30
- Зарегистрирован: 12 июл 2007, 16:36
- Репутация: 0
Re: FLEX API ARCGIS Обработка события MOUSE_OVER
Благодарю заработало))))
Единственное непонятно, почему мой пример, когда слушается наведение курсора в FutureLayer работает только с нерастровой графикой.
Единственное непонятно, почему мой пример, когда слушается наведение курсора в FutureLayer работает только с нерастровой графикой.
- novia
- Гуру
- Сообщения: 2261
- Зарегистрирован: 29 апр 2011, 15:06
- Репутация: 489
- Откуда: Тель-Авив
Re: FLEX API ARCGIS Обработка события MOUSE_OVER
скорее всего из-за наличия картинки, которая либо не слушает, либо забирает событие у графики
понравилось? жми палец вверх 

Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя