FLEX API ARCGIS Обработка события MOUSE_OVER

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Ответить
Вадимчик
Интересующийся
Сообщения: 30
Зарегистрирован: 12 июл 2007, 16:36
Репутация: 0

FLEX API ARCGIS Обработка события MOUSE_OVER

Сообщение Вадимчик » 26 ноя 2013, 08:17

Здравствуйте!
Никак не можем решить такую проблему и в интернете ничего про это не сказано:
Необходимо при наведении курсора на точечный объект, имеющий символику в виде какой-то картинки, чтобы символ объекта менялся на другую картинку.
Есть точечный слой 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

Сообщение novia » 26 ноя 2013, 08:33

Вадимчик писал(а):Никак не можем решить такую проблему и в интернете ничего про это не сказано:
Необходимо при наведении курсора на точечный объект, имеющий символику в виде какой-то картинки, чтобы символ объекта менялся на другую картинку.
вот вам форум, где это уже обсудили.

а вот еще пример реализации такой функциональности.
понравилось? жми палец вверх :!:

Вадимчик
Интересующийся
Сообщения: 30
Зарегистрирован: 12 июл 2007, 16:36
Репутация: 0

Re: FLEX API ARCGIS Обработка события MOUSE_OVER

Сообщение Вадимчик » 26 ноя 2013, 08:49

Это всё я читал, замена на currentTarget не работает.
Мне надо именно сменить растровый символ при наведении курсора на точечный объект.
Векторные символы меняются без проблем.

Аватара пользователя
novia
Гуру
Сообщения: 2261
Зарегистрирован: 29 апр 2011, 15:06
Репутация: 489
Откуда: Тель-Авив

Re: FLEX API ARCGIS Обработка события MOUSE_OVER

Сообщение novia » 26 ноя 2013, 09:10

второй пример тоже не работает?
понравилось? жми палец вверх :!:

Вадимчик
Интересующийся
Сообщения: 30
Зарегистрирован: 12 июл 2007, 16:36
Репутация: 0

Re: FLEX API ARCGIS Обработка события MOUSE_OVER

Сообщение Вадимчик » 26 ноя 2013, 09:24

С растровыми маркерами(PictureMarkerSymbol) - НЕТ.
С обычными (SimpleMarkerSymbol) - работает.

Аватара пользователя
novia
Гуру
Сообщения: 2261
Зарегистрирован: 29 апр 2011, 15:06
Репутация: 489
Откуда: Тель-Авив

Re: FLEX API ARCGIS Обработка события MOUSE_OVER

Сообщение novia » 26 ноя 2013, 10:46

проверил со слушателем на самой графике. успешно меняет один PictureMarkerSymbol на другой. использовать для присвоения нужно (event.currentTarget as Graphic).symbol
понравилось? жми палец вверх :!:

Вадимчик
Интересующийся
Сообщения: 30
Зарегистрирован: 12 июл 2007, 16:36
Репутация: 0

Re: FLEX API ARCGIS Обработка события MOUSE_OVER

Сообщение Вадимчик » 26 ноя 2013, 11:20

Меняются все символы слоя. А надо чтобы только один над которым мышь )))
Вот код фунцкии, может что подправить, хотя и так минимум:

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

Сообщение novia » 26 ноя 2013, 11:43

я же вам дал ссылку на пример. слушаем graphicAdd на FeatureLayer
внутри вешаем два слушателя на графику
в обработчике наведения и уведения мыши делаем дело
понравилось? жми палец вверх :!:

Вадимчик
Интересующийся
Сообщения: 30
Зарегистрирован: 12 июл 2007, 16:36
Репутация: 0

Re: FLEX API ARCGIS Обработка события MOUSE_OVER

Сообщение Вадимчик » 26 ноя 2013, 13:08

Благодарю заработало))))
Единственное непонятно, почему мой пример, когда слушается наведение курсора в FutureLayer работает только с нерастровой графикой.

Аватара пользователя
novia
Гуру
Сообщения: 2261
Зарегистрирован: 29 апр 2011, 15:06
Репутация: 489
Откуда: Тель-Авив

Re: FLEX API ARCGIS Обработка события MOUSE_OVER

Сообщение novia » 26 ноя 2013, 15:36

скорее всего из-за наличия картинки, которая либо не слушает, либо забирает событие у графики
понравилось? жми палец вверх :!:

Ответить

Вернуться в «Веб-картография»

Кто сейчас на конференции

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