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