|
| ||||||||||||||||||||||
|
|
← Ctrl предыдущаяследующая Ctrl →
Активные области-оверлеиОдной из типовых задач применения активных областей является обозначение на карте районов, регионов или участков местности. Так как активные области не добавляют в DOM-дерево документа новых элементов, на карте можно разметить значительное количество объектов без потери времени на их отрисовку. Поскольку активные области сами по себе не имеют визуального отображения, при наведении курсора на активную область на карту требуется добавлять объект-оверлей (метку или многоугольник), а при выходе курсора за границы области - удалять объект. Класс YMaps.Hotspots.Overlay задает на карте активную область в виде объекта-оверлея и позволяет добавить свойства интерактивности объектам как стандартной, так и пользовательской карт. Например, при наведении курсора на участок городской застройки можно подсвечивать границы соответствующего административного района с помощью добавляемого на карту оверлея-многоугольника. Активная область-оверлей состоит из набора простейших геометрических фигур. Для создания активной области в конструктор класса YMaps.Hotspots.Overlay необходимо передать два параметра:
В свою очередь, геометрия каждой составляющей область фигуры описывается с помощью объекта с двумя полями:
Доступны следующие формы фигур:
![]() Для каждой из перечисленных выше фигур границы активной области определяются по различным алгоритмам. Чем сложнее фигура, тем медленнее работает алгоритм, поэтому по возможности старайтесь использовать cpoly вместо npoly (любой невыпуклый многоугольник всегда можно разбить на несколько выпуклых). Чтобы добавить активную область-оверлей на карту используйте метод карты addOverlay, а чтобы удалить -- метод removeOverlay. Параметры активной области задаются с помощью объекта класса YMaps.Hotspots.OverlayOptions. Этот класс расширяет YMaps.InteractiveGeoObjectOptions следующими значениями:
Параметр interactive позволяет изменять степень реагирования активной области на действия пользователя. Этот параметр может принимать одно из следующих значений:
![]() В состоянии интерактивности YMaps.Interactivity.STATIC курсора мыши при наведении на область автоматически меняется. Чтобы запретить автоматическую смену курсора установите опцию YMaps.Cursor.INHERIT. В состоянии YMaps.Interactivity.INTERACTIVE активная область обрабатывает действия пользователя в соответствии с опциями, заданными в конструкторе (либо через метод setOptions). Интерактивность дает следующие возможности:
|
| Работайте в Яндексе |
© 2008—2012 «Яндекс»
|