ol/source/Cluster~Cluster
import Cluster from 'ol/source/Cluster.js';
Источник слоя для кластеризации векторных данных. Работает прямо из коробки с точечными геометриями. Для других типов геометрий или если не все геометрии должны рассматриваться для кластеризации, можно определить пользовательскую функцию geometryFunction.
Если экземпляр удаляется без удаления исходного источника setSource(null), необходимо вызвать метод, чтобы удалить ссылку на слушатель из обернутого источника.
-
new Cluster(options)
-
Имя Тип Описание attributionsAttributionLike | undefined Атрибуции.
distancenumber (по умолчанию 20) Расстояние в пикселях, на котором объекты будут объединены в кластер.
minDistancenumber (по умолчанию 0) Минимальное расстояние в пикселях между кластерами. Будет ограничено заданным расстоянием. По умолчанию минимальное расстояние не гарантируется. Этот параметр можно использовать для предотвращения перекрытия значков. В качестве компромисса, позиция кластерного объекта больше не будет центром всех его объектов.
geometryFunctionGeometryFunction<FeatureType> | undefined Функция, которая принимает объект
Featureв качестве аргумента и возвращает объектPointв качестве точки вычисления кластера для объекта. Если объект не должен рассматриваться для кластеризации, функция должна возвращатьnull. По умолчанию, которое работает, когда исходный источник содержит только точечные объекты, этоfunction(feature) { return feature.getGeometry(); }См.
getInteriorPointдля получения точки вычисления кластера для полигонов.createClusterfunction | undefined Функция, которая принимает центральную точку кластера
Pointи массивFeature, включенных в этот кластер. Должна возвращатьFeature, который будет использоваться для отрисовки. По умолчанию реализация:function(point, features) { return new Feature({ geometry: point, features: features }); }sourceVectorSource<FeatureType> (по умолчанию null) Источник.
wrapXboolean (по умолчанию true) Оборачивать ли мир по горизонтали.
События:
-
addfeature(VectorSourceEvent) - Срабатывает при добавлении объекта в источник. -
change(BaseEvent) - Общее событие изменения. Срабатывает при увеличении счетчика ревизий. -
changefeature(VectorSourceEvent) - Срабатывает при обновлении объекта. -
clear(VectorSourceEvent) - Срабатывает при вызове метода clear для источника. -
error(BaseEvent) - Общее событие об ошибке. Срабатывает при возникновении ошибки. -
featuresloadend(VectorSourceEvent) - Срабатывает при завершении загрузки объектов. -
featuresloaderror(VectorSourceEvent) - Срабатывает, если загрузка объектов приводит к ошибке. -
featuresloadstart(VectorSourceEvent) - Срабатывает при начале загрузки объектов. -
propertychange(ObjectEvent) - Срабатывает при изменении свойства. -
removefeature(VectorSourceEvent) - Срабатывает при удалении объекта из источника. См.source.clear()для исключений.
-
Расширяет
Методы
-
addFeature(feature) inherited
-
Добавить один объект в источник. Если вы хотите добавить сразу несколько объектов, используйте
#addFeatures()вместо этого. Объект не будет добавлен в источник, если объект с таким же идентификатором уже существует. Это сделано для предотвращения дублирования объектов при использовании стратегий загрузки по границам или по тайлам. Примечание: это также относится, если для объектов используетсяCollection, то есть, если в коллекцию добавляется объект с дублирующимся идентификатором, он будет сразу же удален из неё.Название Тип Описание featureFeatureType Объект для добавления.
-
addFeatures(features) inherited
-
Добавление группы объектов в источник.
Название Тип Описание featuresArray.<FeatureType> Объекты для добавления.
-
changed() inherited
-
Увеличивает счётчик ревизий и отправляет событие 'change'.
-
clear(fast)
-
Удаление всех объектов из источника.
Название Тип Описание fastboolean | undefined Пропустить отправку событий
removefeature. -
dispatchEvent(event){boolean | undefined} inherited
-
Отправляет событие и вызывает все обработчики, прослушивающие события этого типа. Параметр event может быть строкой или объектом со свойством
type.Название Тип Описание eventBaseEvent | string Объект события.
Возвращает:
false, если кто-то вызвал preventDefault на объекте события или если какой-либо из обработчиков вернул false.
-
forEachFeature(callback){T | undefined} inherited
-
Перебирает все объекты в источнике, вызывая предоставленный обработчик для каждого из них. Если обработчик возвращает любое «истинное» значение, итерация остановится, и функция вернёт это же значение. Примечание: эта функция итерирует только по объектам, у которых определена геометрия.
Название Тип Описание callbackfunction Вызывается для каждого объекта в источнике. Возврат истинного значения остановит итерацию.
Возвращает:
Возвращаемое значение от последнего вызова обработчика.
-
forEachFeatureInExtent(extent, callback){T | undefined} inherited
-
Перебирает все объекты, чья прямоугольная область содержит переданный диапазон (обратите внимание, что геометрия объекта может не пересекать диапазон), вызывая обратный вызов для каждого объекта. Если обратный вызов возвращает «истинное» значение, итерация остановится, и функция вернёт то же значение.
Если вас интересуют объекты, чья геометрия пересекает диапазон, используйте метод
#forEachFeatureIntersectingExtent()вместо этого.Когда
useSpatialIndexустановлено в false, этот метод переберёт все объекты, что эквивалентно#forEachFeature().Название Тип Описание extentExtent Диапазон.
callbackfunction Вызывается для каждого объекта, чья прямоугольная область содержит переданный диапазон.
Возвращает:
Возвращаемое значение от последнего вызова обработчика.
-
forEachFeatureIntersectingExtent(extent, callback){T | undefined} inherited
-
Перебирает все объекты, чья геометрия пересекает переданный диапазон, вызывая обратный вызов для каждого объекта. Если обратный вызов возвращает «истинное» значение, итерация остановится, и функция вернёт это же значение.
Если вам нужно только проверить пересечение прямоугольной области, используйте метод
#forEachFeatureInExtent()вместо этого.Название Тип Описание extentExtent Диапазон.
callbackfunction Вызывается для каждого объекта, чья геометрия пересекает переданный диапазон.
Возвращает:
Возвращаемое значение от последнего вызова обработчика.
-
Получение значения.
Название Тип Описание keystring Имя ключа.
Возвращает:
Значение.
-
getAttributions(){Attribution} inherited
-
Получить функцию атрибуции для источника.
Возвращает:
Функция атрибуции.
-
getAttributionsCollapsible(){boolean} inherited
-
Возвращает:
Атрибуции сворачиваются.
-
getClosestFeatureToCoordinate(coordinate, filter){FeatureType} inherited
-
Получить самое близкое к указанной координате объект.
Этот метод недоступен, когда источник сконфигурирован с
useSpatialIndex, установленным на значениеfalse, а объекты в этом источнике имеют типFeature.Имя Тип Описание coordinateCoordinate Координата.
filterfunction | undefined Функция фильтра объектов. Функция фильтра примет в качестве аргумента
featureи должна вернуть булево значение. По умолчанию фильтрация не выполняется.Возвращает:
Ближайший объект.
-
getDistance(){number}
-
Получить расстояние в пикселях между кластерами.
Возвращает:
Расстояние.
-
Получить область объектов, которые в настоящее время находятся в источнике.
Этот метод недоступен, когда источник сконфигурирован с
useSpatialIndex, установленным на значениеfalse.Имя Тип Описание extentExtent | undefined Область назначения. Если указана, новая область не будет создана. Вместо этого координаты этой области будут перезаписаны.
Возвращает:
Область.
-
getFeatureById(id){FeatureClassOrArrayOfRenderFeatures<FeatureType> | null} inherited
-
Получить объект по его идентификатору (значению, возвращаемому feature.getId()). При использовании
RenderFeature,getFeatureById()может вернуть массивRenderFeature. Это позволяет обрабатыватьGeometryCollectionгеометрии, где читатели форматов создают одинRenderFeatureна каждый элементGeometryCollection. Обратите внимание, что индекс обрабатывает строковые и числовые идентификаторы одинаково. Поэтомуsource.getFeatureById(2)вернёт объект с id'2'или2.Имя Тип Описание idstring | number Идентификатор объекта.
Возвращает:
Объект (илиnull, если не найден).
-
getFeatures(){Array.<FeatureType>} inherited
-
Получить мгновенный снимок объектов, которые в настоящее время находятся в источнике в случайном порядке. Возвращаемый массив является копией, объекты являются ссылками на объекты в источнике.
Возвращает:
Объекты.
-
getFeaturesAtCoordinate(coordinate){Array.<FeatureType>} inherited
-
Получить все объекты, геометрия которых пересекает указанную координату.
Имя Тип Описание coordinateCoordinate Координата.
Возвращает:
Объекты.
-
getFeaturesCollection(){Collection<FeatureType> | null} inherited
-
Получить коллекцию объектов, связанную с этим источником. Будет
null, если источник не был сконфигурирован сuseSpatialIndex, установленным на значениеfalse, или сCollectionв качествеfeatures.Возвращает:
Коллекция объектов.
-
getFeaturesInExtent(extent, projection){Array.<FeatureType>} inherited
-
Получить все объекты, чья ограничивающая рамка пересекает предоставленную область. Обратите внимание, что это возвращает массив всех объектов, пересекающих данную область в случайном порядке (поэтому он может включать объекты, чьи геометрии не пересекают область).
Когда
useSpatialIndexустановлено в значение false, этот метод вернет все объекты.Имя Тип Описание extentExtent Область.
projectionProjection | undefined Включать объекты, где
extentпревышает пределы оси xprojectionи охватывает весь мир.Возвращает:
Объекты.
-
getFormat(){FeatureFormat<FeatureType> | null} унаследованное
-
Получить формат, связанный с этим источником.
Возвращает:
} Формат объектов.
-
getKeys(){Array.<string>} унаследованное
-
Получить список имён свойств объекта.
Возвращает:
Список имён свойств.
-
getMinDistance(){number}
-
Настроенное минимальное расстояние между кластерами.
Возвращает:
Минимальное расстояние в пикселях.
-
getProjection(){Projection | null} унаследованное
-
Получить проекцию источника.
Возвращает:
Проекция.
-
getProperties(){Object.<string, *>} унаследованное
-
Получить объект со всеми именами и значениями свойств.
Возвращает:
Объект.
-
getRevision(){number} унаследованное
-
Получить номер версии этого объекта. Каждый раз, когда объект изменяется, его номер версии увеличивается.
Возвращает:
Версия.
-
getSource(){VectorSource<FeatureType> | null}
-
Получить ссылку на обернутый источник.
Возвращает:
Источник.
-
getState(){State} унаследованное
-
Получить состояние источника, см.
Stateдля возможных состояний.Возвращает:
Состояние.
-
getUrl(){string | FeatureUrlFunction | undefined} унаследованное
-
Получить URL, связанный с этим источником.
Возвращает:
URL.
-
hasFeature(feature){boolean} унаследованное
-
Возвращает true, если объект feature содержится в источнике.
Имя Тип Описание featureFeatureType Объект feature.
Возвращает:
Содержит ли объект feature.
-
on(type, listener){EventsKey | Array<EventsKey>} унаследованное
-
Присоединиться к событию определённого типа.
Имя Тип Описание typestring | Array.<string> Тип события или массив типов событий.
listenerfunction Функция-обработчик события.
Возвращает:
Уникальный ключ для обработчика. Если вызвано с массивом типов событий в качестве первого аргумента, возвращается массив ключей.
-
once(type, listener){EventsKey | Array<EventsKey>} унаследованное
-
Присоединиться к событию определённого типа один раз.
Имя Тип Описание typestring | Array.<string> Тип события или массив типов событий.
listenerfunction Функция-обработчик события.
Возвращает:
Уникальный ключ для обработчика. Если вызвано с массивом типов событий в качестве первого аргумента, возвращается массив ключей.
-
removeFeature(feature) унаследованное
-
Удалить отдельный объект feature из источника. Если нужно удалить несколько объектов feature, используйте метод
#removeFeatures()вместо этого.Имя Тип Описание featureFeatureType Объект feature для удаления.
-
removeFeatures(features) inherited
-
Партия удаления объектов из источника. Если вы хотите удалить все объекты сразу, используйте метод
#clear()вместо этого.Имя Тип Описание featuresArray.<FeatureType> Объекты для удаления.
-
removeLoadedExtent(extent) inherited
-
Удаление области из списка загруженных областей.
Имя Тип Описание extentExtent Область.
-
Устанавливает значение.
Имя Тип Описание keystring Имя ключа.
value* Значение.
silentboolean | undefined Обновление без запуска события.
-
setAttributions(attributions) inherited
-
Устанавливает атрибуты источника.
Имя Тип Описание attributionsAttributionLike | undefined Атрибуты. Можно передать как
string,Array<string>,Attribution, илиundefined. -
setDistance(distance)
-
Устанавливает расстояние, на котором объекты будут группироваться.
Имя Тип Описание distancenumber Расстояние в пикселях.
-
setLoader(loader) inherited
-
Устанавливает новый загрузчик источника. Следующий цикл рендеринга будет использовать новый загрузчик.
Имя Тип Описание loaderFeatureLoader Загрузчик для установки.
-
setMinDistance(minDistance)
-
Устанавливает минимальное расстояние между кластерами. Будет ограничено конфигурированным расстоянием.
Имя Тип Описание minDistancenumber Минимальное расстояние в пикселях.
-
Устанавливает коллекцию пар ключ-значение. Обратите внимание, что это изменяет все существующие свойства и добавляет новые (не удаляет любые существующие свойства).
Имя Тип Описание valuesObject.<string, *> Значения.
silentboolean | undefined Обновление без запуска события.
-
setSource(source)
-
Замена обернутого источника.
Имя Тип Описание sourceVectorSource<FeatureType> | null Новый источник для этого экземпляра.
-
setUrl(url) inherited
-
Указывает источник на новый URL. Следующий цикл рендеринга будет использовать новый URL.
Имя Тип Описание urlstring | FeatureUrlFunction URL.
-
un(type, listener) inherited
-
Отписывается от определенного типа события.
Имя Тип Описание typestring | Array.<string> Тип события или массив типов событий.
listenerfunction Функция обработчика.
-
Снимает установку свойства.
Имя Тип Описание keystring Имя ключа.
silentboolean | 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