ol/source/Vector~ИсточникВекторныхДанных
import VectorSource from 'ol/source/Vector.js';
Предоставляет источник объектов для векторных слоёв. Векторные объекты, предоставляемые этим источником, подходят для редактирования. Смотрите VectorTile для векторных данных, оптимизированных для отображения.
-
НовыйИсточникВекторныхДанных(options)
-
Имя Тип Описание attributionsAttributionLike | undefined Сведения об авторских правах.
featuresArray.<FeatureType> | Коллекция<FeatureType> | undefined Объекты. Если передано как
Collection, объекты в источнике и коллекции будут синхронизироваться.formatФорматОбъектов<FeatureType> | undefined Формат объектов, используемый загрузчиком объектов XHR, когда
urlзадан. Требуется, еслиurlзадан, в противном случае игнорируется.loaderЗагрузчикОбъектов<FeatureType> | undefined Функция загрузки объектов, например, из удалённого источника. Если это не задано, и
urlзадано, источник создаст и воспользуется загрузчиком объектов XHR. События'featuresloadend'и'featuresloaderror'будут срабатывать только при использовании обратных вызововsuccessиfailure.Пример:
import Vector from 'ol/source/Vector.js'; import GeoJSON from 'ol/format/GeoJSON.js'; import {bbox} from 'ol/loadingstrategy.js'; const vectorSource = new Vector({ format: new GeoJSON(), loader: function(extent, resolution, projection, success, failure) { const proj = projection.getCode(); const url = 'https://ahocevar.com/geoserver/wfs?service=WFS&' + 'version=1.1.0&request=GetFeature&typename=osm:water_areas&' + 'outputFormat=application/json&srsname=' + proj + '&' + 'bbox=' + extent.join(',') + ',' + proj; const xhr = new XMLHttpRequest(); xhr.open('GET', url); const onError = function() { vectorSource.removeLoadedExtent(extent); failure(); } xhr.onerror = onError; xhr.onload = function() { if (xhr.status == 200) { const features = vectorSource.getFormat().readFeatures(xhr.responseText); vectorSource.addFeatures(features); success(features); } else { onError(); } } xhr.send(); }, strategy: bbox, });overlapsboolean (по умолчанию true) Этот источник может иметь перекрывающиеся геометрии. Установка этого значения в
false(например, для источников с полигонами, представляющими административные границы или источники TopoJSON) позволяет рендереру оптимизировать операции заливки и обводки.strategyСтратегияЗагрузки | undefined Стратегия загрузки. По умолчанию используется стратегия
all, одноразовая стратегия, которая загружает все объекты сразу.urlstring | ФункцияUrlОбъектов | undefined Установка этого параметра инструктирует источник загружать объекты с помощью загрузчика XHR (см.
xhr). Используйтеstringиallдля однократной загрузки всех объектов из указанного URL. ИспользуйтеFeatureUrlFunctionдля генерации URL с другими стратегиями загрузки. Требуется, чтобыformatбыло установлено также. Когда предоставлен стандартный загрузчик XHR объектов, объекты будут преобразовываться из проекции данных в проекцию вида во время разбора. Если ваш удалённый источник данных не рекламирует свою проекцию должным образом, это преобразование будет неверным. Для некоторых форматов, стандартную проекцию (обычно EPSG:4326) можно переопределить, установив параметр конструктора dataProjection в формате. Обратите внимание, что если источник содержит данные, не являющиеся объектами, такие как геометрия GeoJSON или KML NetworkLink, они будут проигнорированы. Используйте пользовательский загрузчик для загрузки этих данных.useSpatialIndexboolean (по умолчанию true) По умолчанию используется RTree в качестве пространственного индекса. Если объекты часто удаляются и добавляются, а общее количество объектов невелико, установка этого значения в
falseможет улучшить производительность.Обратите внимание, что
getFeaturesInExtent,getClosestFeatureToCoordinateиgetExtentнельзя использовать, когдаuseSpatialIndexустановлено вfalse, иforEachFeatureInExtentбудет проходить по всем объектам.При установке в
false, объекты будут храниться вCollection, который можно получить с помощьюgetFeaturesCollection.wrapXboolean (по умолчанию true) Оборачивание мира по горизонтали. Для корректной работы редактирования векторных данных через меридианы -180° и 180° это значение должно быть установлено в
false. Координаты полученной геометрии будут тогда превышать мировые пределы.Срабатывает:
-
addfeature(СобытиеИсточникВектора) - Срабатывает при добавлении объекта в источник. -
change(БазовоеСобытие) - Общее событие изменения. Срабатывает, когда счётчик изменений увеличивается. -
changefeature(СобытиеИсточникВектора) - Срабатывает при обновлении объекта. -
clear(СобытиеИсточникВектора) - Срабатывает при вызове метода clear в источнике. -
error(БазовоеСобытие) - Общее событие ошибки. Срабатывает при возникновении ошибки. -
featuresloadend(СобытиеИсточникВектора) - Срабатывает, когда завершается загрузка объектов. -
featuresloaderror(СобытиеИсточникВектора) - Срабатывает, если загрузка объектов приводит к ошибке. -
featuresloadstart(СобытиеИсточникВектора) - Срабатывает при начале загрузки объектов. -
propertychange(ОбъектноеСобытие) - Срабатывает при изменении свойства. -
removefeature(СобытиеИсточникВектора) - Срабатывает при удалении объекта из источника. См.source.clear()для исключений.
-
Подклассы
Расширяет
Методы
-
addFeature(feature)
-
Добавить один объект в источник. Если вы хотите добавить сразу несколько объектов, используйте
#addFeatures()вместо этого. Объект не будет добавлен в источник, если объект с таким же идентификатором уже существует. Это поведение используется для предотвращения дублирования объектов при использовании стратегий загрузки по прямоугольнику или по тайлам. Примечание: это также относится к случаю, когда для объектов используетсяCollection, то есть, если в коллекцию добавляется объект с дублирующимся идентификатором, он будет сразу удален из неё.Имя Тип Описание featureFeatureType Объект для добавления.
-
addFeatures(features)
-
Добавить пакет объектов в источник.
Имя Тип Описание 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}
-
Проходит по всем объектам в источнике, вызывая предоставленную функцию обратного вызова для каждого из них. Если функция обратного вызова возвращает любое "истинное" значение, итерация остановится, и функция вернёт это же значение. Примечание: эта функция итерируется только по объектам, имеющим определённую геометрию.
Имя Тип Описание callbackfunction Вызывается для каждого объекта в источнике. Верните истинное значение для остановки итерации.
Возвращает:
Значение, возвращённое последним вызовом функции обратного вызова.
-
forEachFeatureInExtent(extent, callback){T | undefined}
-
Проходит по всем объектам, прямоугольник ограничивающей рамки которых пересекает указанный прямоугольник, вызывая функцию обратного вызова для каждого объекта. Если функция обратного вызова возвращает "истинное" значение, итерация остановится, и функция вернёт это же значение.
Если вас интересуют объекты, чья геометрия пересекает прямоугольник, используйте метод
#forEachFeatureIntersectingExtent()вместо этого.Когда
useSpatialIndexустановлено в false, этот метод будет проходить по всем объектам, что эквивалентно#forEachFeature().Имя Тип Описание extentExtent Прямоугольник.
callbackfunction Вызывается для каждого объекта, прямоугольник ограничивающей рамки которого пересекает указанный прямоугольник.
Возвращает:
Значение, возвращённое последним вызовом функции обратного вызова.
-
forEachFeatureIntersectingExtent(extent, callback){T | undefined}
-
Проходит по всем объектам, чья геометрия пересекает указанный прямоугольник, вызывая функцию обратного вызова для каждого объекта. Если функция обратного вызова возвращает "истинное" значение, итерация остановится и функция вернёт это же значение.
Если вам нужно только проверить пересечение прямоугольников ограничивающей рамки, используйте метод
#forEachFeatureInExtent()вместо этого.Имя Тип Описание extentExtent Прямоугольник.
callbackfunction Вызывается для каждого объекта, чья геометрия пересекает указанный прямоугольник.
Возвращает:
Значение, возвращённое последним вызовом функции обратного вызова.
-
Получить значение.
Имя Тип Описание keystring Имя ключа.
Возвращает:
Значение.
-
getAttributions(){Attribution} inherited
-
Получить функцию атрибуции для источника.
Возвращает:
Функция атрибуции.
-
getAttributionsCollapsible(){boolean} inherited
-
Returns:
Атрибуты сворачиваются.
-
getClosestFeatureToCoordinate(coordinate, filter){FeatureType}
-
Получить ближайший объект к указанной координате.
Этот метод недоступен, когда источник настроен с параметром
useSpatialIndex, установленным вfalse, а объекты в этом источнике имеют типFeature.Name Type Description coordinateCoordinate Координата.
filterfunction | undefined Функция фильтрации объектов. Функция фильтрации получит один аргумент,
feature, и должна вернуть булево значение. По умолчанию фильтрация не выполняется.Returns:
Ближайший объект.
-
getExtent(extent){Extent}
-
Получить экстент объектов, в данный момент находящихся в источнике.
Этот метод недоступен, когда источник настроен с параметром
useSpatialIndex, установленным вfalse.Name Type Description extentExtent | undefined Экстент назначения. Если указан, новый экстент создаваться не будет. Вместо этого координаты этого экстента будут перезаписаны.
Returns:
Экстент.
-
getFeatureById(id){FeatureClassOrArrayOfRenderFeatures<FeatureType> | null}
-
Получить объект по его идентификатору (значение, возвращаемое feature.getId()). Когда используются
RenderFeature,getFeatureById()может возвращать массивRenderFeature. Это позволяет обрабатывать геометрииGeometryCollection, где средства чтения форматов создают одинRenderFeatureна каждый членGeometryCollection. Обратите внимание, что индекс обрабатывает строковые и числовые идентификаторы одинаково. Таким образом,source.getFeatureById(2)вернет объект с идентификатором'2'или2.Name Type Description idstring | number Идентификатор объекта.
Returns:
Объект (илиnull, если не найден).
-
getFeatures(){Array.<FeatureType>}
-
Получить снимок объектов, в данный момент находящихся в источнике, в случайном порядке. Возвращаемый массив является копией, объекты являются ссылками на объекты в источнике.
Returns:
Объекты.
-
getFeaturesAtCoordinate(coordinate){Array.<FeatureType>}
-
Получить все объекты, геометрия которых пересекается с указанной координатой.
Name Type Description coordinateCoordinate Координата.
Returns:
Объекты.
-
getFeaturesCollection(){Collection<FeatureType> | null}
-
Получить коллекцию объектов, связанную с этим источником. Будет
null, если источник не был настроен с параметромuseSpatialIndex, установленным вfalse, или сCollectionв качествеfeatures.Returns:
Коллекция объектов.
-
getFeaturesInExtent(extent, projection){Array.<FeatureType>}
-
Получить все объекты, ограничивающий прямоугольник которых пересекается с указанным экстентом. Обратите внимание, что это возвращает массив всех объектов, пересекающих заданный экстент, в случайном порядке (поэтому он может включать объекты, геометрия которых не пересекает экстент).
Когда
useSpatialIndexустановлен в false, этот метод вернет все объекты.Name Type Description extentExtent Экстент.
projectionProjection | undefined Включить объекты, где
extentвыходит за границы оси xprojectionи огибает земной шар.Returns:
Объекты.
-
getFormat(){FeatureFormat<FeatureType> | null}
-
Получить формат, связанный с этим источником.
Returns:
} Формат объектов.
-
Получить список имен свойств объекта.
Returns:
Список имен свойств.
-
getProjection(){Projection | null} inherited
-
Получить проекцию источника.
Returns:
Проекция.
-
Получить объект со всеми именами и значениями свойств.
Возвращает:
Объект.
-
getRevision(){number} inherited
-
Получить номер версии для этого объекта. Каждый раз при изменении объекта его номер версии увеличивается.
Возвращает:
Номер версии.
-
Получить состояние источника, см.
Stateдля возможных состояний.Возвращает:
Состояние.
-
getUrl(){string | FeatureUrlFunction | undefined}
-
Получить URL, связанный с этим источником.
Возвращает:
URL.
-
hasFeature(feature){boolean}
-
Возвращает true, если функция содержится в источнике.
Имя Тип Описание featureFeatureType Функция.
Возвращает:
Принадлежит ли функция.
-
Прослушивание событий определенного типа.
Имя Тип Описание typestring | Array.<string> Тип события или массив типов событий.
listenerfunction Функция-прослушиватель.
Возвращает:
Уникальный ключ для прослушивателя. Если вызывается с массивом типов событий в качестве первого аргумента, возвращается массив ключей.
-
Прослушивание события определенного типа один раз.
Имя Тип Описание typestring | Array.<string> Тип события или массив типов событий.
listenerfunction Функция-прослушиватель.
Возвращает:
Уникальный ключ для прослушивателя. Если вызывается с массивом типов событий в качестве первого аргумента, возвращается массив ключей.
-
removeFeature(feature)
-
Удалить отдельную функцию из источника. Если вы хотите удалить функции группами, используйте метод
#removeFeatures()вместо этого.Имя Тип Описание featureFeatureType Функция для удаления.
-
removeFeatures(features)
-
Удаление функций из источника группами. Если вы хотите удалить все функции сразу, используйте метод
#clear()вместо этого.Имя Тип Описание featuresArray.<FeatureType> Функции для удаления.
-
removeLoadedExtent(extent)
-
Удалить область из списка загруженных областей.
Имя Тип Описание extentExtent Область.
-
Устанавливает значение.
Имя Тип Описание keystring Имя ключа.
value* Значение.
silentboolean | undefined Обновить без запуска события.
-
setAttributions(attributions) inherited
-
Установите атрибуты источника.
Имя Тип Описание attributionsAttributionLike | undefined Атрибуты. Могут быть переданы как
string,Array<string>,Attributionилиundefined. -
setLoader(loader)
-
Установите новый загрузчик источника. Следующий цикл отрисовки будет использовать новый загрузчик.
Имя Тип Описание loaderFeatureLoader Загрузчик для установки.
-
setProperties(values, silent) унаследованный
-
Устанавливает коллекцию пар ключ-значение. Обратите внимание, что это изменяет любые существующие свойства и добавляет новые (не удаляет существующие свойства).
Имя Тип Описание valuesObject.<string, *> Значения.
silentboolean | undefined Обновить без срабатывания события.
-
setUrl(url)
-
Указывает источнику новый URL. Следующий цикл отрисовки будет использовать новый URL.
Имя Тип Описание urlstring | FeatureUrlFunction URL.
-
un(type, listener) унаследованный
-
Отписаться от определенного типа событий.
Имя Тип Описание typestring | Array.<string> Тип события или массив типов событий.
listenerfunction Функция обработчика.
-
unset(key, silent) унаследованный
-
Удаляет свойство.
Имя Тип Описание 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_Vector-VectorSource.html