Spec-Zone.ru › OpenLayers

ol/Feature~Feature


import Feature from 'ol/Feature.js';

Векторный объект для географических объектов с геометрией и другими свойствами-атрибутами, аналогичный объектам в векторных форматах файлов, таких как GeoJSON.

Для объектов можно задавать индивидуальные стили с помощью setStyle; в противном случае для них используется стиль векторного слоя.

Обратите внимание: свойства-атрибуты задаются как свойства BaseObject объекта Feature, поэтому за ними можно наблюдать, а также получать и задавать их значения с помощью методов доступа.

Обычно объект имеет одно свойство геометрии. Геометрию можно задать с помощью метода setGeometry и получить с помощью getGeometry. С помощью свойств-атрибутов в объекте можно хранить несколько геометрий. По умолчанию геометрия, используемая для отображения, определяется именем свойства geometry. Чтобы использовать для отображения другое свойство геометрии, примените метод setGeometryName, чтобы изменить свойство-атрибут, связанное с геометрией объекта. Например:

import Feature from 'ol/Feature.js';
import Polygon from 'ol/geom/Polygon.js';
import Point from 'ol/geom/Point.js';

const feature = new Feature({
  geometry: new Polygon(polyCoords),
  labelPoint: new Point(labelCoords),
  name: 'My Polygon',
});

// get the polygon geometry
const poly = feature.getGeometry();

// Render the feature as a point using the coordinates from labelPoint
feature.setGeometryName('labelPoint');

// get the point geometry
const point = feature.getGeometry();

new Feature(geometryOrProperties)

Feature.js, строка 78
Имя Тип Описание
geometryOrProperties Geometry | ObjectWithGeometry.<Geometry, NoInfer.<Properties>> | undefined

Можно передать непосредственно объект Geometry или литерал объекта, содержащий свойства. Если передан литерал объекта, можно включить в него Geometry, связанную с ключом geometry.

События:
  • change (BaseEvent) — общее событие изменения. Вызывается при увеличении счётчика ревизии.
  • change:geometry (ObjectEvent)
  • error (BaseEvent) — общее событие ошибки. Вызывается при возникновении ошибки.
  • propertychange (ObjectEvent) — вызывается при изменении свойства.

Расширяет

  • BaseObject

Наблюдаемые свойства

Имя Тип Можно задать Тип ObjectEvent Описание
geometry Geometry | undefined да change:geometry

Геометрия объекта по умолчанию.

Методы

changed() унаследован

Observable.js, строка 68

Увеличивает счётчик ревизии и отправляет событие 'change'.

clone(){Feature<Geometry>}

Feature.js, строка 158

Создаёт копию этого объекта. Если исходный объект содержит геометрию, она также копируется. Идентификатор объекта в копию не переносится.

Возвращает:
Копия.

dispatchEvent(event){boolean | undefined} унаследован

events/Target.js, строка 85

Отправляет событие и вызывает все обработчики, ожидающие события этого типа. Параметр события может быть строкой или объектом со свойством type.

Имя Тип Описание
event BaseEvent | string

Объект события.

Возвращает:
false, если кто-либо вызвал preventDefault для объекта события или если один из обработчиков вернул false.

get(key){*} унаследован

Object.js, строка 136

Получает значение.

Имя Тип Описание
key string

Имя ключа.

Возвращает:
Значение.

getGeometry(){Geometry | undefined}

Feature.js, строка 190

Получает геометрию объекта по умолчанию. У объекта может быть любое количество именованных геометрий. «Геометрия по умолчанию» (та, которая отображается по умолчанию) задаётся при вызове setGeometry.

Возвращает:
Геометрия объекта по умолчанию.

getGeometryName(){string}

Feature.js, строка 212

Получает имя геометрии объекта по умолчанию. По умолчанию геометрия по умолчанию называется geometry.

Возвращает:
Получает имя свойства, связанного с геометрией этого объекта по умолчанию.

getId(){number | string | undefined}

Feature.js, строка 201

Получает идентификатор объекта. Это постоянный идентификатор объекта, который задаётся при чтении данных из удалённого источника или явно с помощью вызова setId.

Возвращает:
Идентификатор.

getKeys(){Array.<string>} унаследован

Object.js, строка 149

Получает список имён свойств объекта.

Возвращает:
Список имён свойств.

getProperties(){NoInfer.<Properties>} унаследован

Object.js, строка 158

Получает объект со всеми именами свойств и их значениями.

Возвращает:
Объект.

getRevision(){number} унаследован

Observable.js, строка 79

Получает номер версии этого объекта. При каждом изменении объекта номер версии увеличивается.

Возвращает:
Ревизия.

getStyle(){StyleLike | undefined}

Feature.js, строка 222

Получает стиль объекта. Возвращает значение, переданное методу setStyle.

Возвращает:
Стиль объекта.

getStyleFunction(){StyleFunction | undefined}

Feature.js, строка 232

Получает функцию стиля объекта.

Возвращает:
Возвращает функцию, представляющую текущий стиль этого объекта.

on(type, listener){EventsKey | Array<EventsKey>} унаследован

Observable.js, строка 152

Подписывается на события определённого типа.

Имя Тип Описание
type string | Array.<string>

Тип события или массив типов событий.

listener function

Функция-обработчик.

Возвращает:
Уникальный ключ обработчика. Если первым аргументом передан массив типов событий, возвращается массив ключей.

once(type, listener){EventsKey | Array<EventsKey>} унаследован

Observable.js, строка 164

Однократно подписывается на событие определённого типа.

Имя Тип Описание
type string | Array.<string>

Тип события или массив типов событий.

listener function

Функция-обработчик.

Возвращает:
Уникальный ключ обработчика. Если первым аргументом передан массив типов событий, возвращается массив ключей.

set(key, value, silent) унаследован

Object.js, строка 218

Задаёт значение.

Имя Тип Описание
key string

Имя ключа.

value *

Значение.

silent boolean | undefined

Обновить без вызова события.

setGeometry(geometry)

Feature.js, строка 270

Задаёт геометрию объекта по умолчанию. Это обновит свойство с именем, возвращаемым методом getGeometryName.

Имя Тип Описание
geometry Geometry | undefined

Новая геометрия.

setGeometryName(name)

Feature.js, строка 310

Задаёт имя свойства, используемого при получении геометрии объекта по умолчанию. При вызове getGeometry будет возвращено значение свойства с этим именем.

Имя Тип Описание
name string

Имя свойства геометрии по умолчанию.

setId(id)

Feature.js, строка 298

Задаёт идентификатор объекта. Идентификатор объекта считается постоянным и может использоваться при запросе объектов или сравнении идентификаторов, полученных из удалённого источника. Идентификатор объекта можно использовать с методом getFeatureById.

Имя Тип Описание
id number | string | undefined

Идентификатор объекта.

События:
  • change (BaseEvent) — общее событие изменения. Вызывается при увеличении счётчика ревизии.

setProperties(values, silent) унаследован

Object.js, строка 238

Задаёт набор пар «ключ — значение». Обратите внимание: при этом изменяются существующие свойства и добавляются новые (существующие свойства не удаляются).

Имя Тип Описание
values Partial.<NoInfer.<Properties>>

Значения.

silent boolean | undefined

Обновить без вызова события.

setStyle(style)

Feature.js, строка 283

Задаёт стиль объекта, переопределяющий стиль слоя. Это может быть один объект стиля, массив стилей или функция, принимающая разрешение и возвращающая массив стилей. Чтобы сбросить стиль объекта, вызовите setStyle() без аргументов или с ложным значением.

Имя Тип Описание
style StyleLike | undefined

Стиль этого объекта.

События:
  • change (BaseEvent) — общее событие изменения. Вызывается при увеличении счётчика ревизии.

un(type, listener) унаследован

Observable.js, строка 173

Отменяет подписку на события определённого типа.

Имя Тип Описание
type string | Array.<string>

Тип события или массив типов событий.

listener function

Функция-обработчик.

unset(key, silent) унаследован

Object.js, строка 262

Удаляет свойство.

Имя Тип Описание
key string

Имя ключа.

silent boolean | undefined

Удалить без вызова события.

© 2005-present, OpenLayers Contributors All rights reserved.Licensed under the BSD 2-Clause License.
https://openlayers.org/en/latest/apidoc/module-ol_Feature-Feature.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API