IPolygonGeometryAccess

Расширяет IFreezable.

Интерфейс доступа к геометрии "Многоугольник".

Конструктор | Поля | События | Методы

Конструктор

IPolygonGeometryAccess()

Поля

Имя Тип Описание
events IEventManager

Менеджер событий объекта.

Унаследовано от IFreezable.

Имя Тип Описание
events IEventManager

Менеджер событий объекта.

Унаследовано от IFreezable.

События

Имя Описание
change
Изменение координат. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
  • oldCoordinates - старые координаты;
  • newCoordinates - новые координаты;
  • oldFillRule - старый алгоритм заливки;
  • newFillRule - новые алгоритм заливки.
Имя Описание
change
Изменение координат. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
  • oldCoordinates - старые координаты;
  • newCoordinates - новые координаты;
  • oldFillRule - старый алгоритм заливки;
  • newFillRule - новые алгоритм заливки.

Методы

Имя Возвращает Описание
contains(position)

Boolean

Проверяет, лежит ли переданная точка внутри многоугольника.

freeze()

IFreezable

Переводит объект в "замороженный" режим.

Унаследован от IFreezable.

get(index)

Number[][]

Returns координаты контура с заданным индексом.

getChildGeometry(index)

ILinearRingGeometryAccess

Создает и возвращает объект ILinearRingGeometryAccess для заданного контура.

getClosest(anchorPosition)

Object

Ищет на контуре многоугольника точку, ближайшую к anchorPosition.

getCoordinates()

Number[][][]

Returns массив координат геометрии.

getFillRule()

String

Returns идентификатор алгоритма заливки.

getLength()

Integer

Returns количество контуров в геометрии.

insert(index, path)

IPolygonGeometryAccess

Добавляет новый контур с заданным индексом.

isFrozen()

Boolean

Returns true, если объект находится в "замороженном" режиме, иначе false.

Унаследован от IFreezable.

remove(index)

ILinearRingGeometryAccess

Удаляет контур с заданным индексом.

set(index, path)

IPolygonGeometryAccess

Задает координаты контура c заданным индексом.

setCoordinates(coordinates)

IPolygonGeometryAccess

Задает массив координат геометрии.

setFillRule(fillRule)

IPolygonGeometryAccess

Задает алгоритм заливки многоугольника.

splice(index, number)

ILinearRingGeometryAccess[]

Удаляет определенное число контуров начиная с заданного индекса. При этом на место удаляемых контуров могут быть добавлены новые. Координаты новых контуров можно передавать дополнительными аргументами после параметра number.

unfreeze()

IFreezable

Переводит объект в активный режим.

Унаследован от IFreezable.

Имя Возвращает Описание
contains(position)

Boolean

Проверяет, лежит ли переданная точка внутри многоугольника.

freeze()

IFreezable

Переводит объект в "замороженный" режим.

Унаследован от IFreezable.

get(index)

Number[][]

Returns координаты контура с заданным индексом.

getChildGeometry(index)

ILinearRingGeometryAccess

Создает и возвращает объект ILinearRingGeometryAccess для заданного контура.

getClosest(anchorPosition)

Object

Ищет на контуре многоугольника точку, ближайшую к anchorPosition.

getCoordinates()

Number[][][]

Returns массив координат геометрии.

getFillRule()

String

Returns идентификатор алгоритма заливки.

getLength()

Integer

Returns количество контуров в геометрии.

insert(index, path)

IPolygonGeometryAccess

Добавляет новый контур с заданным индексом.

isFrozen()

Boolean

Returns true, если объект находится в "замороженном" режиме, иначе false.

Унаследован от IFreezable.

remove(index)

ILinearRingGeometryAccess

Удаляет контур с заданным индексом.

set(index, path)

IPolygonGeometryAccess

Задает координаты контура c заданным индексом.

setCoordinates(coordinates)

IPolygonGeometryAccess

Задает массив координат геометрии.

setFillRule(fillRule)

IPolygonGeometryAccess

Задает алгоритм заливки многоугольника.

splice(index, number)

ILinearRingGeometryAccess[]

Удаляет определенное число контуров начиная с заданного индекса. При этом на место удаляемых контуров могут быть добавлены новые. Координаты новых контуров можно передавать дополнительными аргументами после параметра number.

unfreeze()

IFreezable

Переводит объект в активный режим.

Унаследован от IFreezable.

Описание событий

change

Изменение координат. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
  • oldCoordinates - старые координаты;
  • newCoordinates - новые координаты;
  • oldFillRule - старый алгоритм заливки;
  • newFillRule - новые алгоритм заливки.

Описание методов

contains

{Boolean} contains(position)

Проверяет, лежит ли переданная точка внутри многоугольника.

Returns признак принадлежности точки многоугольнику.

Параметры:

Параметр Значение по умолчанию Описание
position *

Тип: Number[]

Координаты точки.

Параметр Значение по умолчанию Описание
position *

Тип: Number[]

Координаты точки.

* Обязательный параметр/опция.

Пример:

var myPolygon = new ymaps.geometry.Polygon([
        [[69, 45], [68, 55], [86, 56]]
    ]);

// Метод работает только с корректно заданной картой.
myPolygon.options.setParent(myMap.options);
myPolygon.setMap(myMap);

// Проверка, входит ли точка клика в полигон, с заданной выше геометрией.
myMap.events.add('click', function (e) {
    alert(myPolygon.contains(e.get('coordPosition')) ? 'Ранил!' : 'Мимо!');
});

get

{Number[][]} get(index)

Returns координаты контура с заданным индексом.

Параметры:

Параметр Значение по умолчанию Описание
index *

Тип: Integer

Индекс контура.

Параметр Значение по умолчанию Описание
index *

Тип: Integer

Индекс контура.

* Обязательный параметр/опция.

getChildGeometry

{ILinearRingGeometryAccess} getChildGeometry(index)

Создает и возвращает объект ILinearRingGeometryAccess для заданного контура.

Returns объект геометрии, соответствующий заданному контуру.

Параметры:

Параметр Значение по умолчанию Описание
index *

Тип: Integer

Индекс контура.

Параметр Значение по умолчанию Описание
index *

Тип: Integer

Индекс контура.

* Обязательный параметр/опция.

getClosest

{Object} getClosest(anchorPosition)

Ищет на контуре многоугольника точку, ближайшую к anchorPosition.

Returns объект со следующими полями:
  • position - точка на контуре многоугольника ближайшая к anchorPosition;
  • distance - расстояние от anchorPosition до position;
  • closestPointIndex - индекс вершины многоугольника, ближайшей к position;
  • nextPointIndex - индекс вершины многоугольника, следующей за position;
  • prevPointIndex - индекс вершины многоугольника, предшествующей position;
  • pathIndex - индекс контура многоугольника, к которому относится найденная точка.
Поля nextPointIndex, prevPointIndex могут отсутствовать, если position совпадает с одной из вершин многоугольника.

Параметры:

Параметр Значение по умолчанию Описание
anchorPosition *

Тип: Number[]

Координаты точки, для которой расчитывается ближайшая точка на контуре многоугольника.

Параметр Значение по умолчанию Описание
anchorPosition *

Тип: Number[]

Координаты точки, для которой расчитывается ближайшая точка на контуре многоугольника.

* Обязательный параметр/опция.

Пример:

var myPolygon = new ymaps.Polygon([
        [[69, 45], [68, 55], [86, 56], [87, 43]],
        [[60, 48], [62, 60], [80, 62], [80, 48]]
    ]),
    myPoint = new ymaps.Placemark([74, 52]),
    // Построим кратчайшую нормаль от контура полигона до точки:
    normalVec = new ymaps.Polyline([
        myPolygon.geometry.getClosest(myPoint.geometry.getCoordinates()).position,
        myPoint.geometry.getCoordinates()
    ]));

myMap.geoObjects
    .add(myPolygon)
    .add(myPoint),
    .add(normalVec);

getCoordinates

{Number[][][]} getCoordinates()

Returns массив координат геометрии.

getFillRule

{String} getFillRule()

Returns идентификатор алгоритма заливки.

Пример:

var myPolygon = new ymaps.Polygon([
        [[69, 45], [68, 55], [86, 56], [87, 43]],
        [[60, 48], [62, 60], [80, 62], [80, 48]]
    ]),
    middlePoint = [74, 52];

myMap.geoObjects.add(myPolygon);

// Проверка точки, приходящейся на пересечение двух контуров,
// по умолчанию (значение fillRule == 'evenOdd') образует вырез (дырку).
alert(myPolygon.geometry.contains(middlePoint)); // => false

// После задания значения 'nonZero', все пересечения также "закрашиваются",
// теперь точка входит в полигон.
myPolygon.geometry.setFillRule('nonZero');
alert(myPolygon.geometry.contains(middlePoint)); // => true

getLength

{Integer} getLength()

Returns количество контуров в геометрии.

insert

Добавляет новый контур с заданным индексом.

Returns ссылку на себя.

Параметры:

Параметр Значение по умолчанию Описание
index *

Тип: Integer

Индекс контура.

path *

Тип: Number[][]

Координаты контура.

Параметр Значение по умолчанию Описание
index *

Тип: Integer

Индекс контура.

path *

Тип: Number[][]

Координаты контура.

* Обязательный параметр/опция.

remove

Удаляет контур с заданным индексом.

Returns удаленный контур.

Параметры:

Параметр Значение по умолчанию Описание
index *

Тип: Integer

Индекс контура.

Параметр Значение по умолчанию Описание
index *

Тип: Integer

Индекс контура.

* Обязательный параметр/опция.

set

Задает координаты контура c заданным индексом.

Returns ссылка на себя.

Параметры:

Параметр Значение по умолчанию Описание
index *

Тип: Integer

Индекс контура.

path *

Тип: Number[][]

Координаты контура.

Параметр Значение по умолчанию Описание
index *

Тип: Integer

Индекс контура.

path *

Тип: Number[][]

Координаты контура.

* Обязательный параметр/опция.

setCoordinates

Задает массив координат геометрии.

Returns ссылка на себя.

Параметры:

Параметр Значение по умолчанию Описание
coordinates *

Тип: Number[][][]

Координаты геометрии.

Параметр Значение по умолчанию Описание
coordinates *

Тип: Number[][][]

Координаты геометрии.

* Обязательный параметр/опция.

setFillRule

Задает алгоритм заливки многоугольника.

Returns ссылку на себя.

Параметры:

Параметр Значение по умолчанию Описание
fillRule *

Тип: String

Идентификатор алгоритма заливки.

Параметр Значение по умолчанию Описание
fillRule *

Тип: String

Идентификатор алгоритма заливки.

* Обязательный параметр/опция.

splice

Удаляет определенное число контуров начиная с заданного индекса. При этом на место удаляемых контуров могут быть добавлены новые. Координаты новых контуров можно передавать дополнительными аргументами после параметра number.

Returns удаленные контуры.

Параметры:

Параметр Значение по умолчанию Описание
index *

Тип: Integer

Индекс, начиная с которого производится удаление и добавление контуров.

number *

Тип: Integer

Количество удаляемых контуров.

Параметр Значение по умолчанию Описание
index *

Тип: Integer

Индекс, начиная с которого производится удаление и добавление контуров.

number *

Тип: Integer

Количество удаляемых контуров.

* Обязательный параметр/опция.