YMaps.Hotspots.NPolyShape
Расширяет YMaps.Hotspots.IShape.
Невыпуклый многоугольник.
Конструктор
Имя |
Описание |
YMaps.Hotspots.NPolyShape(coords) |
Создает фигуру - невыпуклый многоугольник. Примечание Все координаты задаются в пикселах на текущем масштабе, отсчитанных от левого верхнего угла мира. Примечание Вычисление функции принадлежности точки многоугольнику производится значительно быстрее для выпуклых многоугольников по сравнению с невыпуклыми. |
Методы
Имя | Возвращает | Описание |
---|---|---|
getNumPoints() | Integer | Возвращает число вершин фигуры. |
getPoint() | YMaps.Point | Возвращает вершину фигуры по ее индексу. |
Наследуемые методы
Подробное описание конструктора
YMaps.Hotspots.NPolyShape(coords)
Создает фигуру - невыпуклый многоугольник.
Примечание
Все координаты задаются в пикселах на текущем масштабе, отсчитанных от левого верхнего угла мира.
Примечание
Вычисление функции принадлежности точки многоугольнику производится значительно быстрее для выпуклых многоугольников по сравнению с невыпуклыми.
Пример:
// Создадим многоугольник в виде буквы "V"
// Пусть задана левая верхняя точка в виде географических координат
// и смещения в виде пикселей на текущем масштабе.
var geoBase = new YMaps.GeoPoint(30, 40),
offsets = [
0, 0, //левая верхняя точка
10, 0,
25, 30,
40, 0,
50, 0,
30, 40,
20, 40];
// Последняя точка соединяется с первой автоматически.
// Пересчитаем точку отсчета в пиксели на последнем масштабе
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 npoly = new YMaps.Hotspots.NPolyShape(offsets);
Параметры:
Имя | Тип | Описание |
---|---|---|
coords |
Number[] | Массив координат вершин в пикселах на текущем масштабе. Должен содержать не менее 6 чисел (т.е. 3 вершин). |
Подробное описание методов
getNumPoints
{Integer} getNumPoints()
Возвращает число вершин фигуры.
Возвращает:
Тип | Описание |
---|---|
Integer | Число вершин. |
getPoint
{YMaps.Point} getPoint()
Возвращает вершину фигуры по ее индексу.
Возвращает:
Тип | Описание |
---|---|
YMaps.Point | Вершину. |