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