YMaps.Hotspots.CPolyShape

Расширяет YMaps.Hotspots.IShape.

Выпуклый многоугольник.

Конструктор

Имя Описание
YMaps.Hotspots.CPolyShape(coords)

Создает фигуру - выпуклый многоугольник.

Примечание. Все координаты задаются в пикселах на текущем масштабе, отсчитанных от левого верхнего угла мира.
Примечание. Вычисление функции принадлежности точки многоугольнику производится значительно быстрее для выпуклых многоугольников по сравнению с невыпуклыми.

Методы

Имя Возвращает Описание
getNumPoints() Integer Возвращает число вершин фигуры.
getPoint() YMaps.Point Возвращает вершину фигуры по ее индексу.

Наследуемые методы

Из YMaps.Hotspots.IShape:
contains, getMaxX, getMaxY, getMinX, getMinY, getOwner, setOwner

Подробное описание конструктора

YMaps.Hotspots.CPolyShape(coords)

Создает фигуру - выпуклый многоугольник.

Примечание. Все координаты задаются в пикселах на текущем масштабе, отсчитанных от левого верхнего угла мира.
Примечание. Вычисление функции принадлежности точки многоугольнику производится значительно быстрее для выпуклых многоугольников по сравнению с невыпуклыми.

Пример:

// Создадим многоугольник в виде ромба с диагоналями 20 и 40 пикселей.
// Пусть задана верхняя точка ромба в виде географических координат
// и смещения в виде пикселей на текущем масштабе.
var geoBase = new YMaps.GeoPoint(30, 40),
    offsets = [
      0, 0, // верхняя точка
      10, 20, // правая точка
      0, 40, // нижняя точка
      -10, 20]; // левая точка
// Последняя точка соединяется с первой автоматически.

// Пересчитаем точку отсчета в пиксели на последнем масштабе
var pixelBase = map.tileCoordinates.scale(
        map.coordSystem.fromCoordPoint(geoBase),
        map.coordSystem.getMaxZoom(),
        map.getZoom()
);

// Пересчитаем координаты, прибавив к ним базовую точку
for (var i = 0; i < offsets.length - 1; i+=2) {
    offsets[i] += pixelBase.getX();
    offsets[i+1] += pixelBase.getY();
}

// Создадим объект - выпуклый многоугольник:
var cpoly = new YMaps.Hotspots.CPolyShape(offsets);

Параметры:

Имя Тип Описание
coords Number[] Массив координат вершин многоугольника. Должен содержать не менее 6 чисел (т.е. в многоугольнике должно быть не менее трех вершин).

Подробное описание методов

getNumPoints

{Integer} getNumPoints()

Возвращает число вершин фигуры.

Возвращает:

Тип Описание
Integer Число вершин.

getPoint

{YMaps.Point} getPoint()

Возвращает вершину фигуры по ее индексу.

Возвращает:

Тип Описание
YMaps.Point Вершину.