Spec-Zone.ru › OpenLayers

ol/source/Cluster~Cluster


import Cluster from 'ol/source/Cluster.js';

Источник слоя для кластеризации векторных данных. Работает без дополнительной настройки с точечной геометрией. Для других типов геометрии или если кластеризовать нужно не все геометрические объекты, можно определить пользовательский geometryFunction.

Если экземпляр уничтожается без уничтожения базового источника, необходимо вызвать setSource(null), чтобы удалить ссылку на слушатель из обёрнутого источника.

new Cluster(options)

source/Cluster.js, строка 77
Имя Тип Описание
attributions AttributionLike | undefined

Атрибуция.

distance number (по умолчанию 20)

Расстояние в пикселях, в пределах которого объекты объединяются в кластеры.

minDistance number (по умолчанию 0)

Минимальное расстояние в пикселях между кластерами. Не может превышать заданное расстояние. По умолчанию минимальное расстояние не гарантируется. Эта настройка позволяет избежать наложения значков. Компромисс заключается в том, что положение объекта-кластера больше не будет центром всех входящих в него объектов.

geometryFunction GeometryFunction<FeatureType> | undefined

Функция, принимающая в качестве аргумента Feature и возвращающая Point — точку для расчёта кластера для этого объекта. Если объект не следует учитывать при кластеризации, функция должна возвращать null. Значение по умолчанию, подходящее только для случаев, когда базовый источник содержит исключительно точечные объекты:

function(feature) {
  return feature.getGeometry();
}

См. getInteriorPoint, чтобы узнать, как получить точку для расчёта кластера для полигонов.

createCluster function | undefined

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

function(point, features) {
  return new Feature({
    geometry: point,
    features: features
  });
}
source VectorSource<FeatureType> (по умолчанию null)

Источник.

wrapX boolean (по умолчанию true)

Оборачивать ли мир по горизонтали.

Генерирует события:
  • addfeature (VectorSourceEvent) — срабатывает, когда в источник добавляется объект.
  • change (BaseEvent) — общее событие изменения. Срабатывает при увеличении счётчика ревизий.
  • changefeature (VectorSourceEvent) — срабатывает, когда объект обновляется.
  • clear (VectorSourceEvent) — срабатывает при вызове метода clear для источника.
  • error (BaseEvent) — общее событие ошибки. Срабатывает при возникновении ошибки.
  • featuresloadend (VectorSourceEvent) — срабатывает после завершения загрузки объектов.
  • featuresloaderror (VectorSourceEvent) — срабатывает, если при загрузке объектов возникает ошибка.
  • featuresloadstart (VectorSourceEvent) — срабатывает при начале загрузки объектов.
  • propertychange (ObjectEvent) — срабатывает при изменении свойства.
  • removefeature (VectorSourceEvent) — срабатывает, когда объект удаляется из источника. Исключения см. в описании source.clear().

Наследует

  • VectorSource

Методы

addFeature(feature) унаследовано

source/Vector.js, строка 328

Добавляет один объект типа feature в источник. Чтобы добавить сразу несколько объектов типа feature, вместо этого вызовите #addFeatures(). Объект типа feature не будет добавлен в источник, если в нём уже есть объект с таким же идентификатором. Это сделано, чтобы избежать дублирования объектов при использовании стратегий загрузки bbox или тайлов. Примечание: это также относится к случаям, когда для объектов типа feature используется Collection: если в коллекцию добавляется объект с дублирующимся идентификатором, он сразу же удаляется из неё.

Имя Тип Описание
feature FeatureType

Объект типа feature для добавления.

addFeatures(features) унаследовано

source/Vector.js, строка 426

Добавляет в источник несколько объектов типа feature.

Имя Тип Описание
features Array.<FeatureType>

Объекты типа feature для добавления.

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

Observable.js, строка 68

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

clear(fast)

source/Cluster.js, строка 160

Удаляет из источника все объекты типа feature.

Имя Тип Описание
fast boolean | undefined

Не отправлять события removefeature.

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

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

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

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

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

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

forEachFeature(callback){T | undefined} унаследовано

source/Vector.js, строка 591

Перебирает все объекты типа feature в источнике, вызывая для каждого переданную функцию обратного вызова. Если функция возвращает любое «истинное» значение, перебор прекращается, а функция возвращает это же значение. Примечание: эта функция перебирает только объекты типа feature с заданной геометрией.

Имя Тип Описание
callback function

Вызывается для каждого объекта типа feature в источнике. Чтобы прекратить перебор, верните истинное значение.

Возвращает:
Значение, возвращённое при последнем вызове функции обратного вызова.

forEachFeatureInExtent(extent, callback){T | undefined} унаследовано

source/Vector.js, строка 648

Перебирает все объекты типа feature, чьи ограничивающие прямоугольники пересекаются с заданной областью (обратите внимание, что геометрия объекта может не пересекать эту область), вызывая для каждого функцию обратного вызова. Если функция возвращает «истинное» значение, перебор прекращается, а функция возвращает это же значение.

Если вас интересуют объекты типа feature, геометрия которых пересекает область, вместо этого вызовите метод #forEachFeatureIntersectingExtent().

Если для useSpatialIndex задано значение false, этот метод перебирает все объекты типа feature, как и #forEachFeature().

Имя Тип Описание
extent Extent

Область.

callback function

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

Возвращает:
Значение, возвращённое при последнем вызове функции обратного вызова.

forEachFeatureIntersectingExtent(extent, callback){T | undefined} унаследовано

source/Vector.js, строка 672

Перебирает все объекты типа feature, геометрия которых пересекает заданную область, вызывая для каждого функцию обратного вызова. Если функция возвращает «истинное» значение, перебор прекращается, а функция возвращает это же значение.

Если нужно проверить только пересечение ограничивающих прямоугольников, вместо этого вызовите метод #forEachFeatureInExtent().

Имя Тип Описание
extent Extent

Область.

callback function

Вызывается для каждого объекта типа feature, геометрия которого пересекает заданную область.

Возвращает:
Значение, возвращённое при последнем вызове функции обратного вызова.

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

Object.js, строка 136

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

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

Имя ключа.

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

getAttributions(){Attribution} унаследовано

source/Source.js, строка 129

Возвращает функцию атрибуции для источника.

Возвращает:
Функция атрибуции.

getAttributionsCollapsible(){boolean} унаследовано

source/Source.js, строка 137
Возвращает:
Атрибуции можно сворачивать.

getClosestFeatureToCoordinate(coordinate, filter){FeatureType | null} унаследовано

source/Vector.js, строка 786

Возвращает ближайший объект типа feature к заданной координате.

Этот метод недоступен, если источник настроен с параметром useSpatialIndex, равным false, а объекты типа feature в источнике имеют тип Feature.

Имя Тип Описание
coordinate Coordinate

Координата.

filter function | undefined

Функция фильтрации объектов типа feature. Функция фильтрации получает один аргумент — feature — и должна возвращать логическое значение. По умолчанию фильтрация не выполняется.

Возвращает:
Ближайший объект типа feature (или null, если он не найден).

getDistance(){number}

source/Cluster.js, строка 170

Возвращает расстояние в пикселях между кластерами.

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

getExtent(extent){Extent | null} унаследовано

source/Vector.js, строка 842

Возвращает область охвата объектов типа feature, находящихся в источнике.

Если источник настроен с параметром useSpatialIndex, равным false, будет возвращено null.

Имя Тип Описание
extent Extent | undefined

Целевая область. Если она указана, новая область не создаётся: вместо этого перезаписываются координаты заданной области.

Возвращает:
Область.

getFeatureById(id){FeatureClassOrArrayOfRenderFeatures<FeatureType> | null} унаследовано

source/Vector.js, строка 858

Возвращает объект типа feature по его идентификатору (значению, возвращаемому feature.getId()). При использовании RenderFeature метод getFeatureById() может вернуть массив RenderFeature. Это позволяет обрабатывать геометрии GeometryCollection, для которых средства чтения форматов создают по одному RenderFeature на каждый компонент GeometryCollection. Обратите внимание, что индекс считает строковые и числовые идентификаторы одинаковыми. Поэтому source.getFeatureById(2) вернёт объект типа feature с идентификатором '2' или 2.

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

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

Возвращает:
Объект типа feature (или null, если он не найден).

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

source/Vector.js, строка 711

Возвращает снимок объектов типа feature, находящихся в источнике на данный момент, в произвольном порядке. Возвращаемый массив является копией, а его элементы — ссылками на объекты типа feature в источнике.

Возвращает:
Объекты типа feature.

getFeaturesAtCoordinate(coordinate){Array.<FeatureType>} унаследовано

source/Vector.js, строка 730

Возвращает все объекты типа feature, геометрия которых пересекает заданную координату.

Имя Тип Описание
coordinate Coordinate

Координата.

Возвращает:
Объекты типа feature.

getFeaturesCollection(){Collection<FeatureType> | null} унаследовано

source/Vector.js, строка 701

Возвращает коллекцию объектов типа feature, связанную с этим источником. Возвращает null, если источник не был настроен с параметром useSpatialIndex, равным false, и если в качестве features не использовалась Collection.

Возвращает:
Коллекция объектов типа feature.

getFeaturesInExtent(extent, projection){Array.<FeatureType>} унаследовано

source/Vector.js, строка 753

Возвращает все объекты типа feature, чьи ограничивающие прямоугольники пересекаются с заданной областью. Обратите внимание, что возвращается массив всех объектов, пересекающих заданную область, в произвольном порядке (поэтому он может содержать объекты, геометрия которых не пересекает эту область).

Если для useSpatialIndex задано значение false, этот метод возвращает все объекты типа feature.

Имя Тип Описание
extent Extent

Область.

projection Projection | undefined

Включать объекты, для которых extent выходит за границы оси x projection и охватывает весь мир.

Возвращает:
Объекты типа feature.

getFormat(){FeatureFormat<FeatureType> | null} унаследовано

source/Vector.js, строка 884

Возвращает формат, связанный с этим источником.

Возвращает:
} Формат объектов типа feature.

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

Object.js, строка 149

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

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

getMinDistance(){number}

source/Cluster.js, строка 221

Заданное минимальное расстояние между кластерами.

Возвращает:
Минимальное расстояние в пикселях.

getProjection(){Projection | null} унаследовано

source/Source.js, строка 146

Возвращает проекцию источника.

Возвращает:
Проекция.

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

Object.js, строка 158

Возвращает объект со всеми именами свойств и их значениями.

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

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

Observable.js, строка 79

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

Возвращает:
Номер ревизии.

getSource(){VectorSource<FeatureType> | null}

source/Cluster.js, строка 179

Возвращает ссылку на обёрнутый источник.

Возвращает:
Источник.

getState(){State} унаследовано

source/Source.js, строка 201

Возвращает состояние источника. Возможные состояния см. в разделе State.

Возвращает:
Состояние.

getUrl(){string | FeatureUrlFunction | undefined} унаследовано

source/Vector.js, строка 901

Возвращает URL, связанный с этим источником.

Возвращает:
URL.

hasFeature(feature){boolean} унаследовано

source/Vector.js, строка 956

Возвращает true, если объект типа feature содержится в источнике.

Имя Тип Описание
feature FeatureType

Объект типа feature.

Возвращает:
Наличие объекта типа feature.

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

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

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

removeFeature(feature) унаследовано

source/Vector.js, строка 1115

Удаляет один объект из источника. Для пакетного удаления объектов используйте метод #removeFeatures().

Имя Тип Описание
feature FeatureType

Объект для удаления.

removeFeatures(features) унаследовано

source/Vector.js, строка 1098

Пакетно удаляет объекты из источника. Чтобы удалить все объекты сразу, используйте метод #clear().

Имя Тип Описание
features Array.<FeatureType>

Объекты для удаления.

removeLoadedExtent(extent) унаследовано

source/Vector.js, строка 1076

Помечает область как незагруженную, сохраняя загруженные области за её пределами.

Все ранее загруженные области, пересекающиеся с заданной областью, разделяются на оставшиеся непересекающиеся части с помощью getDifference(), после чего эти части снова добавляются в дерево.

Имя Тип Описание
extent Extent

Область, которую нужно пометить как незагруженную.

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

Object.js, строка 218

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

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

Имя ключа.

value *

Значение.

silent boolean | undefined

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

setAttributions(attributions) унаследовано

source/Source.js, строка 234

Задаёт атрибуции источника.

Имя Тип Описание
attributions AttributionLike | undefined

Атрибуции. Можно передать в виде string, Array<string>, Attribution или undefined.

setDistance(distance)

source/Cluster.js, строка 202

Задаёт расстояние, в пределах которого объекты объединяются в кластеры.

Имя Тип Описание
distance number

Расстояние в пикселях.

setLoader(loader) унаследовано

source/Vector.js, строка 1192

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

Имя Тип Описание
loader FeatureLoader

Загрузчик, который нужно установить.

setMinDistance(minDistance)

source/Cluster.js, строка 212

Задаёт минимальное расстояние между кластерами. Оно не может превышать заданное расстояние.

Имя Тип Описание
minDistance number

Минимальное расстояние в пикселях.

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

Object.js, строка 238

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

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

Значения.

silent boolean | undefined

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

setSource(source)

source/Cluster.js, строка 230

Заменяет обёрнутый источник.

Имя Тип Описание
source VectorSource<FeatureType> | null

Новый источник для этого экземпляра.

setUrl(url) унаследовано

source/Vector.js, строка 1201

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

Имя Тип Описание
url string | FeatureUrlFunction

URL.

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_source_Cluster-Cluster.html

Spec-Zone.ru

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