Spec-Zone.ru › OpenLayers

ol/source/Cluster~Cluster


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

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

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

new Cluster(options)

source/Cluster.js, line 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) inherited

source/Vector.js, line 337

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

Название Тип Описание
feature FeatureType

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

addFeatures(features) inherited

source/Vector.js, line 435

Добавление группы объектов в источник.

Название Тип Описание
features Array.<FeatureType>

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

changed() inherited

Observable.js, line 68

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

clear(fast)

source/Cluster.js, line 160

Удаление всех объектов из источника.

Название Тип Описание
fast boolean | undefined

Пропустить отправку событий removefeature.

dispatchEvent(event){boolean | undefined} inherited

events/Target.js, line 85

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

Название Тип Описание
event BaseEvent | string

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

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

forEachFeature(callback){T | undefined} inherited

source/Vector.js, line 600

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

Название Тип Описание
callback function

Вызывается для каждого объекта в источнике. Возврат истинного значения остановит итерацию.

Возвращает:
Возвращаемое значение от последнего вызова обработчика.

forEachFeatureInExtent(extent, callback){T | undefined} inherited

source/Vector.js, line 657

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

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

Когда useSpatialIndex установлено в false, этот метод переберёт все объекты, что эквивалентно #forEachFeature().

Название Тип Описание
extent Extent

Диапазон.

callback function

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

Возвращает:
Возвращаемое значение от последнего вызова обработчика.

forEachFeatureIntersectingExtent(extent, callback){T | undefined} inherited

source/Vector.js, line 681

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

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

Название Тип Описание
extent Extent

Диапазон.

callback function

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

Возвращает:
Возвращаемое значение от последнего вызова обработчика.

get(key){*} inherited

Object.js, line 135

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

Название Тип Описание
key string

Имя ключа.

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

getAttributions(){Attribution} inherited

source/Source.js, line 129

Получить функцию атрибуции для источника.

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

getAttributionsCollapsible(){boolean} inherited

source/Source.js, line 137
Возвращает:
Атрибуции сворачиваются.

getClosestFeatureToCoordinate(coordinate, filter){FeatureType} inherited

source/Vector.js, line 795

Получить самое близкое к указанной координате объект.

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

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

Координата.

filter function | undefined

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

Возвращает:
Ближайший объект.

getDistance(){number}

source/Cluster.js, line 170

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

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

getExtent(extent){Extent} inherited

source/Vector.js, line 851

Получить область объектов, которые в настоящее время находятся в источнике.

Этот метод недоступен, когда источник сконфигурирован с useSpatialIndex, установленным на значение false.

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

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

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

getFeatureById(id){FeatureClassOrArrayOfRenderFeatures<FeatureType> | null} inherited

source/Vector.js, line 867

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

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

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

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

getFeatures(){Array.<FeatureType>} inherited

source/Vector.js, line 720

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

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

getFeaturesAtCoordinate(coordinate){Array.<FeatureType>} inherited

source/Vector.js, line 739

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

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

Координата.

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

getFeaturesCollection(){Collection<FeatureType> | null} inherited

source/Vector.js, line 710

Получить коллекцию объектов, связанную с этим источником. Будет null, если источник не был сконфигурирован с useSpatialIndex, установленным на значение false, или с Collection в качестве features.

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

getFeaturesInExtent(extent, projection){Array.<FeatureType>} inherited

source/Vector.js, line 762

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

Когда useSpatialIndex установлено в значение false, этот метод вернет все объекты.

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

Область.

projection Projection | undefined

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

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

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

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

Получить формат, связанный с этим источником.

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

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

Object.js, строка 148

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

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

getMinDistance(){number}

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

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

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

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

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

Получить проекцию источника.

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

getProperties(){Object.<string, *>} унаследованное

Object.js, строка 157

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

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

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

Observable.js, строка 79

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

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

getSource(){VectorSource<FeatureType> | null}

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

Получить ссылку на обернутый источник.

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

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

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

Получить состояние источника, см. State для возможных состояний.

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

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

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

Получить URL, связанный с этим источником.

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

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

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

Возвращает 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, строка 1095

Удалить отдельный объект feature из источника. Если нужно удалить несколько объектов feature, используйте метод #removeFeatures() вместо этого.

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

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

removeFeatures(features) inherited

source/Vector.js, line 1078

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

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

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

removeLoadedExtent(extent) inherited

source/Vector.js, line 1059

Удаление области из списка загруженных областей.

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

Область.

set(key, value, silent) inherited

Object.js, line 215

Устанавливает значение.

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

Имя ключа.

value *

Значение.

silent boolean | undefined

Обновление без запуска события.

setAttributions(attributions) inherited

source/Source.js, line 203

Устанавливает атрибуты источника.

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

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

setDistance(distance)

source/Cluster.js, line 202

Устанавливает расстояние, на котором объекты будут группироваться.

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

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

setLoader(loader) inherited

source/Vector.js, line 1172

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

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

Загрузчик для установки.

setMinDistance(minDistance)

source/Cluster.js, line 212

Устанавливает минимальное расстояние между кластерами. Будет ограничено конфигурированным расстоянием.

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

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

setProperties(values, silent) inherited

Object.js, line 235

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

Имя Тип Описание
values Object.<string, *>

Значения.

silent boolean | undefined

Обновление без запуска события.

setSource(source)

source/Cluster.js, line 230

Замена обернутого источника.

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

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

setUrl(url) inherited

source/Vector.js, line 1181

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

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

URL.

un(type, listener) inherited

Observable.js, line 173

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

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

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

listener function

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

unset(key, silent) inherited

Object.js, line 259

Снимает установку свойства.

Имя Тип Описание
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