YMaps.Polygon
Расширяет YMaps.IInteractiveGeoObject, YMaps.IOverlay.
Многоугольник.
Конструктор
Имя | Описание |
---|---|
YMaps.Polygon(path, options) | Создает многоугольник. |
Поля
Имя | Описание |
---|---|
Events | Список обрабатываемых событий. |
Наследуемые поля
События
Имя | Описание |
---|---|
AddToMap | Добавление многоугольника на карту. |
BalloonClose | Закрытие балуна многоугольника. |
BalloonOpen | Открытие балуна многоугольника. |
Click | Щелчок левой кнопкой мыши. |
DblClick | Двойной щелчок левой кнопкой мыши. |
Drag | Продолжается перетаскивание многоугольника. |
DragEnd | Закончено перетаскивание многоугольника. |
DragStart | Началось перетаскивание многоугольника (если разрешено). |
MouseEnter | Курсор наведен на многоугольник. |
MouseLeave | Курсор убран с многоугольника. |
MouseMove | Движение курсора в пределах многоугольника. |
PositionChange | Изменение координат многоугольника (например, с помощью метода YMaps.Polygon.addPoint). |
RemoveFromMap | Удаление многоугольника с карты. |
StartDrawing | Включение режима добавления вершин многоугольника. |
StartEditing | Включение режима редактирования многоугольника. |
StopDrawing | Отключение режима добавления вершин многоугольника. |
StopEditing | Отключение режима редактирования многоугольника. |
Методы
Имя | Статический | Возвращает | Описание |
---|---|---|---|
addPoint(point, index) | Добавляет одну или несколько вершин в многоугольник. По умолчанию вершины добавляются после вершины с максимальным индексом. | ||
contains(coordPoint) | Boolean | Определяет находится ли визуально точка coordPoint внутри многоугольника. |
|
fromEncodedPoints(encodedPoints, levels, options, coordSystem) | YMaps.Polygon | Строит многоугольник из закодированных в Base64 координат его вершин с учетом указанного для каждой вершины уровня видимости. | |
getClosestPoint(anchorPoint) | Object | null | |
getCoordPath() | YMaps.CoordPath | Возвращает объект, управляющий множеством вершин внешнего контура многоугольника. | |
getEditingOptions() | YMaps.PolygonEditingOptions | Возвращает опции режима редактирования многоугольника. | |
getMap() | YMaps.Map | Возвращает указатель на карту, в которую добавлен многоугольник. | |
getNumPoints() | Integer | Возвращает количество вершин многоугольника. | |
getOptions() | YMaps.PolygonOptions | Возвращает опции многоугольника. | |
getPixelPoints(options) | YMaps.Point[][] | Возвращает информацию об отображении контуров многоугольника. | |
getPoint(index) | YMaps.ICoordPoint | Возвращает вершину многоугольника с заданным индексом. | |
getPoints() | YMaps.ICoordPoint[] | Возвращает координаты вершин многоугольника. | |
isDrawing() | Boolean | Проверяет, находится ли многоугольник в режиме рисования. | |
isEditing() | Boolean | Проверяет, находится ли многоугольник в режиме редактирования. | |
removePoint(index) | YMaps.ICoordPoint | Удаляет из многоугольника вершину с заданным индексом. | |
setEditingOptions(options) | Устанавливает опции режима редактирования многоугольника. | ||
setOptions(options, restoreDefault) | Устанавливает опции многоугольника. | ||
setPoints(points) | Устанавливает координаты вершин многоугольника. | ||
splicePoints(index, number) | YMaps.ICoordPoint[] | Удаляет заданные вершины многоугольника. Если требуется, вставляет на место удаленных другие вершины, которые передаются в метод дополнительными параметрами (после параметра number). | |
startEditing() | Включает режим редактирования многоугольника. | ||
stopEditing() | Отключает режим редактирования многоугольника. |
Наследуемые методы
- Из YMaps.IOverlay:
- onAddToMap, onMapUpdate, onRemoveFromMap
- Из YMaps.IInteractiveGeoObject:
- closeBalloon, getBalloon, getBalloonContent, getBalloonOptions, getHintContent, getHintOptions, openBalloon, setBalloonContent, setBalloonOptions, setHintContent, setHintOptions, update
- Из YMaps.IGeoObject:
- getBounds, getComputedStyle, getParentGroup, getStyle, onAddToGroup, onRemoveFromGroup, setBounds, setStyle
Подробное описание конструктора
YMaps.Polygon(path, options)
Создает многоугольник.
Пример:
//
var style = new YMaps.Style("default#greenPoint");
style.polygonStyle = new YMaps.PolygonStyle();
style.polygonStyle.fill = 1;
style.polygonStyle.outline = 1;
style.polygonStyle.strokeWidth = 10;
style.polygonStyle.strokeColor = "ffff0088";
style.polygonStyle.fillColor = "ff000055";
YMaps.Styles.add("polygon#Example", style);
var polygon = new YMaps.Polygon([
new YMaps.GeoPoint(37.59507,55.576559),
new YMaps.GeoPoint(37.493452,55.613885),
new YMaps.GeoPoint(37.369853,55.767479),
new YMaps.GeoPoint(37.405561,55.871082),
new YMaps.GeoPoint(37.553873,55.911209),
new YMaps.GeoPoint(37.707682,55.898866),
new YMaps.GeoPoint(37.83677,55.821634),
new YMaps.GeoPoint(37.834021,55.689979),
new YMaps.GeoPoint(37.83677,55.646518),
new YMaps.GeoPoint(37.669234,55.576559)
], {
style: "polygon#Example",
hasHint: 1,
hasBalloon: 1
});
polygon.name = "Москва";
polygon.description = "Столица России";
map.addOverlay(polygon);
Параметры:
Имя | Тип | Необязательный | По умолчанию | Описание |
---|---|---|---|---|
path |
YMaps.ICoordPoint[] | YMaps.CoordPath | ||
options |
YMaps.PolygonOptions | Опции многоугольника. |
Подробное описание полей
Events
Object Events
Список обрабатываемых событий.
Подробное описание событий
AddToMap
AddToMap
Добавление многоугольника на карту.
В callback-функцию передается указатель на многоугольник, для которого был вызван обработчик.
BalloonClose
BalloonClose
Закрытие балуна многоугольника.
В callback-функцию передается указатель на многоугольник, для которого был вызван обработчик.
BalloonOpen
BalloonOpen
Открытие балуна многоугольника.
В callback-функцию передается указатель на многоугольник, для которого был вызван обработчик.
Click
Click
Щелчок левой кнопкой мыши.
В callback-функцию передаются:
- указатель на многоугольник, для которого был вызван обработчик;
- указатель на объект события мыши YMaps.MouseEvent.
DblClick
DblClick
Двойной щелчок левой кнопкой мыши.
В callback-функцию передаются:
- указатель на многоугольник, для которого был вызван обработчик;
- указатель на объект события мыши YMaps.MouseEvent.
Drag
Drag
Продолжается перетаскивание многоугольника.
В callback-функцию передаются два аргумента:
- указатель на многоугольник, для которого был вызван обработчик;
- объект YMaps.Point со значением смещения многоугольника в пикселах относительно его предыдущего положения.
DragEnd
DragEnd
Закончено перетаскивание многоугольника.
В callback-функцию передается указатель на многоугольник, для которого был вызван обработчик.
DragStart
DragStart
Началось перетаскивание многоугольника (если разрешено).
В callback-функцию передается указатель на многоугольник, для которого был вызван обработчик.
MouseEnter
MouseEnter
Курсор наведен на многоугольник.
В callback-функцию передаются:
- указатель на многоугольник, для которого был вызван обработчик;
- указатель на объект события мыши YMaps.MouseEvent.
MouseLeave
MouseLeave
Курсор убран с многоугольника.
В callback-функцию передаются:
- указатель на многоугольник, для которого был вызван обработчик;
- указатель на объект события мыши YMaps.MouseEvent.
MouseMove
MouseMove
Движение курсора в пределах многоугольника.
В callback-функцию передаются:
- указатель на многоугольник, для которого был вызван обработчик;
- указатель на объект события мыши YMaps.MouseEvent.
PositionChange
PositionChange
Изменение координат многоугольника (например, с помощью метода YMaps.Polygon.addPoint).
В callback-функцию передается указатель на многоугольник, для которого был вызван обработчик.
RemoveFromMap
RemoveFromMap
Удаление многоугольника с карты.
В callback-функцию передается указатель на многоугольник, для которого был вызван обработчик.
StartDrawing
StartDrawing
Включение режима добавления вершин многоугольника.
В callback-функцию передается указатель на многоугольник, для которого был вызван обработчик.
StartEditing
StartEditing
Включение режима редактирования многоугольника.
В callback-функцию передается указатель на многоугольник, для которого был вызван обработчик.
StopDrawing
StopDrawing
Отключение режима добавления вершин многоугольника.
В callback-функцию передается указатель на многоугольник, для которого был вызван обработчик.
StopEditing
StopEditing
Отключение режима редактирования многоугольника.
В callback-функцию передается указатель на многоугольник, для которого был вызван обработчик.
Подробное описание методов
AddPoint
addPoint(point, index)
Добавляет одну или несколько вершин в многоугольник. По умолчанию вершины добавляются после вершины с максимальным индексом.
Параметры:
Имя | Тип | Необязательный | По умолчанию | Описание |
---|---|---|---|---|
point |
YMaps.ICoordPoint | YMaps.ICoordPoint[] | ||
index |
Integer | Позиция, в которую нужно добавить вершину. |
contains
{Boolean} contains(coordPoint)
Определяет находится ли визуально точка coordPoint
внутри многоугольника.
Параметры:
Имя | Тип | Описание |
---|---|---|
coordPoint |
YMaps.ICoordPoint | Точка, для которой определяется принадлежность многоугольнику. |
Возвращает:
Тип | Описание |
---|---|
Boolean | true, если точка внутри многоугольника, иначе false. |
fromEncodedPoints
{YMaps.Polygon} fromEncodedPoints(encodedPoints, levels, options, coordSystem)
Строит многоугольник из закодированных в Base64 координат его вершин с учетом указанного для каждой вершины уровня видимости.
См.: Ломаная
Пример:
//
map.setCenter(new YMaps.GeoPoint(37.619, 55.753), 1);
var polygon = YMaps.Polygon.fromEncodedPoints(
"hPD6AgItMQGAaWf_QEtMAAAAAAA8S0wAgGln_0JLTACAlpgAO0tMAAAAAABDS0wAgJaYAEFLTAB3lpgAv7Sz_wAAAAC9tLP_gJaYAMW0s_-AaWf_vrSz_wAAAADEtLP_iWln_8C0s_8=",
"BCCBCCBCCBCC"
);
map.addOverlay(polygon);
Параметры:
Имя | Тип | Необязательный | По умолчанию | Описание |
---|---|---|---|---|
encodedPoints |
String | Закодированные в Base64 координаты вершин контуров многоугольника. Кодированные наборы координат вершин для различных контуров многоугольника разделяютя символом ";". Координаты вершин внешнего контура должны передаваться в начале строки. | ||
levels |
String | Строка кодов уровней, определяющая для каждой вершины многоугольника значение коэффициента масштабирования, начиная с которого вершина должна отображаться в составе контура соответствующего многоугольника. Наборы уровней для различных контуров многоугольника разделяются символом ";". Если для какой-либо вершины значение уровня не задано, применяется значение по умолчанию "A". | ||
options |
YMaps.PolygonOptions | Опции многоугольника. | ||
coordSystem |
YMaps.ICoordSystem | YMaps.GeoCoordSystem | Ссылка на координатную систему. |
Возвращает:
Тип | Описание |
---|---|
YMaps.Polygon | Многоугольник. |
getClosestPoint
{Object|null} getClosestPoint(anchorPoint)
Ищет на контуре многоугольника точку, ближайшую к anchorPoint
. Возвращает объект, содержащий координаты ближайшей точки и индекс начальной вершины стороны многоугольника, на которой лежит найденная точка. Если многоугольник не содержит точек, возвращает null.
Пример:
var polygon = new YMaps.Polygon([
new YMaps.GeoPoint(0, 0),
new YMaps.GeoPoint(10, 10),
new YMaps.GeoPoint(20, 0)
]);
map.addOverlay(polygon);
var closest = polygon.getClosestPoint(
new YMaps.GeoPoint(15, -5)
);
// closest.point будет содержать экземпляр YMaps.GeoPoint с координатами 0, 15.
// closest.index будет содержать 2.
Параметры:
Имя | Тип | Описание |
---|---|---|
anchorPoint |
YMaps.ICoordPoint | Точка координатной системы, для которой расчитывается ближайшая точка на контуре многоугольника. |
Возвращает:
Тип | Описание |
---|---|
Object | null |
getCoordPath
{YMaps.CoordPath} getCoordPath()
Возвращает объект, управляющий множеством вершин внешнего контура многоугольника.
Возвращает:
Тип | Описание |
---|---|
YMaps.CoordPath | Объект множества вершин внешнего контура многоугольника. |
getEditingOptions
{YMaps.PolygonEditingOptions} getEditingOptions()
Возвращает опции режима редактирования многоугольника.
Возвращает:
Тип | Описание |
---|---|
YMaps.PolygonEditingOptions | Опции режима редактирования. |
getMap
{YMaps.Map} getMap()
Возвращает указатель на карту, в которую добавлен многоугольник.
Возвращает:
Тип | Описание |
---|---|
YMaps.Map | Указатель на карту, в которую добавлен многоугольник. |
getNumPoints
{Integer} getNumPoints()
Возвращает количество вершин многоугольника.
Возвращает:
Тип | Описание |
---|---|
Integer | Количество вершин многоугольника. |
getOptions
{YMaps.PolygonOptions} getOptions()
Возвращает опции многоугольника.
Возвращает:
Тип | Описание |
---|---|
YMaps.PolygonOptions | Опции многоугольника. |
getPixelPoints
{YMaps.Point[][]} getPixelPoints(options)
Возвращает информацию об отображении контуров многоугольника.
Параметры:
Имя |
Тип |
Описание |
|
Object |
Объект опций. Может содержать следующие необязательные поля:
|
Возвращает:
Тип | Описание |
---|---|
YMaps.Point[][] | Массив, каждый элемент которого является массивом пиксельных координат, соответствующих вершинам одного из контуров многоугольника. Первым элементом всегда является массив пиксельных координат внешнего контура многоугольника. Затем следуют массивы пиксельных координат внутренних контуров. |
getPoint
{YMaps.ICoordPoint} getPoint(index)
Возвращает вершину многоугольника с заданным индексом.
Параметры:
Имя | Тип | Описание |
---|---|---|
index |
Integer | Индекс. |
Возвращает:
Тип | Описание |
---|---|
YMaps.ICoordPoint | Вершину с заданным индексом. |
getPoints
{YMaps.ICoordPoint[]} getPoints()
Возвращает координаты вершин многоугольника.
Возвращает:
Тип | Описание |
---|---|
YMaps.ICoordPoint[] | Координаты вершин многоугольника. |
isDrawing
{Boolean} isDrawing()
Проверяет, находится ли многоугольник в режиме рисования.
Возвращает:
Тип | Описание |
---|---|
Boolean | true - находится, false - не находится. |
isEditing
{Boolean} isEditing()
Проверяет, находится ли многоугольник в режиме редактирования.
Возвращает:
Тип | Описание |
---|---|
Boolean | true - находится, false - не находится. |
removePoint
{YMaps.ICoordPoint} removePoint(index)
Удаляет из многоугольника вершину с заданным индексом.
Параметры:
Имя | Тип | Описание |
---|---|---|
index |
Integer | Индекс удаляемой вершины. |
Возвращает:
Тип | Описание |
---|---|
YMaps.ICoordPoint | Координаты удаленной вершины. |
setEditingOptions
setEditingOptions(options)
Устанавливает опции режима редактирования многоугольника.
Параметры:
Имя | Тип | Описание |
---|---|---|
options |
YMaps.PolygonEditingOptions | Опции режима редактирования. |
setOptions
setOptions(options, restoreDefault)
Устанавливает опции многоугольника.
Параметры:
Имя | Тип | Необязательный | По умолчанию | Описание |
---|---|---|---|---|
options |
YMaps.PolygonOptions | Опции многоугольника. | ||
restoreDefault |
Boolean | false | Незаданные опции установить в значения по умолчанию. |
setPoints
setPoints(points)
Устанавливает координаты вершин многоугольника.
Параметры:
Имя | Тип | Описание |
---|---|---|
points |
YMaps.ICoordPoint[] | Координаты вершин многоугольника. |
splicePoints
{YMaps.ICoordPoint[]} splicePoints(index, number)
Удаляет заданные вершины многоугольника. Если требуется, вставляет на место удаленных другие вершины, которые передаются в метод дополнительными параметрами (после параметра number).
Примеры:
1.
// Удаляет вторую вершину многоугольника.
polygon.splicePoints(1, 1);
2.
// Вставляет новую вершину на вторую позицию.
polygon.splicePoints(1, 0, new YMaps.GeoPoint(37.63, 55.75));
3.
// Заменяет вторую вершину на новую.
polygon.splicePoints(1, 1, new YMaps.GeoPoint(37.63, 55.75));
Параметры:
Имя | Тип | Описание |
---|---|---|
index |
Integer | Индекс первой удаляемой вершины. |
number |
Integer | Количество удаляемых вершин. |
Возвращает:
Тип | Описание |
---|---|
YMaps.ICoordPoint[] | Координаты удаленных вершин. |
startEditing
startEditing()
Включает режим редактирования многоугольника. Должен вызываться после добавления многоугольника на карту.
stopEditing
stopEditing()
Отключает режим редактирования многоугольника.