Spec-Zone.ru › OpenLayers

ol/source/Vector


Классы

VectorSourceEvent
VectorSource

Определения типов

LoadingStrategy()

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

Функция, которая принимает в качестве аргументов Extent и разрешение, и возвращает массив Extent с областями для загрузки. Обычно это одна из стандартных стратегий ol/loadingstrategy.

Options{Object}

Свойства:
Имя Тип Описание
attributions AttributionLike | undefined

Атрибуции.

features Array.<FeatureType> | Collection<FeatureType> | undefined

Признаки. Если они предоставлены как Collection, то признаки в источнике и в коллекции будут синхронизированы.

format FeatureFormat<FeatureType> | undefined

Формат признаков, используемый загрузчиком признаков XHR, когда url установлен. Требуется, если url установлен, в противном случае игнорируется.

loader FeatureLoader<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,
 });
overlaps boolean
(по умолчанию true)

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

strategy LoadingStrategy | undefined

Стратегия загрузки для использования. По умолчанию используется стратегия all — однократная стратегия, загружающая все признаки сразу.

url string | FeatureUrlFunction | undefined

Установка этого параметра инструктирует источник загружать признаки с помощью загрузчика XHR (см. xhr). Используйте string и all для однократной загрузки всех признаков из заданного URL. Используйте FeatureUrlFunction для генерации URL с другими стратегиями загрузки. Требуется, чтобы format тоже был задан. При использовании стандартного загрузчика XHR признаки преобразуются из проекции данных в проекцию представления во время разбора. Если ваш удалённый источник данных не объявляет свою проекцию должным образом, это преобразование будет некорректным. Для некоторых форматов можно переопределить проекцию по умолчанию (обычно EPSG:4326), установив параметр конструктора dataProjection в формате. Обратите внимание, что если источник содержит данные, не являющиеся признаками, такие как геометрия GeoJSON или KML NetworkLink, они будут проигнорированы. Используйте пользовательский загрузчик для загрузки этих данных.

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

По умолчанию в качестве пространственного индекса используется RTree. Когда признаки часто удаляются и добавляются, а общее количество признаков невелико, установка этого значения в false может улучшить производительность.

Обратите внимание, что getFeaturesInExtent, getClosestFeatureToCoordinate и getExtent нельзя использовать, когда useSpatialIndex установлено в false, а forEachFeatureInExtent будет перебирать все признаки.

При установке в false признаки будут храниться в Collection, который можно получить через getFeaturesCollection.

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

Оборачивать мир по горизонтали. Для корректной работы с редактированием векторов через меридианы -180° и 180°, это значение должно быть установлено в false. В результате координаты геометрии будут выходить за пределы мировых границ.

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

Spec-Zone.ru

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