YMaps.Hotspots.CPolyShape
Расширяет YMaps.Hotspots.IShape.
Выпуклый многоугольник.
Конструктор
Имя |
Описание |
YMaps.Hotspots.CPolyShape(coords) |
Создает фигуру - выпуклый многоугольник. Примечание Все координаты задаются в пикселах на текущем масштабе, отсчитанных от левого верхнего угла мира. Примечание Вычисление функции принадлежности точки многоугольнику производится значительно быстрее для выпуклых многоугольников по сравнению с невыпуклыми. |
Методы
Имя | Возвращает | Описание |
---|---|---|
getNumPoints() | Integer | Возвращает число вершин фигуры. |
getPoint() | YMaps.Point | Возвращает вершину фигуры по ее индексу. |
Наследуемые методы
Подробное описание конструктора
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 | Вершину. |