Spec-Zone.ru › MapLibre GL JS

GeoJSONSource

Источник, содержащий GeoJSON. (Подробную документацию по параметрам см. в спецификации стилей.)

Примеры

map.addSource('some id', {
    type: 'geojson',
    data: 'https://d2ad6b4ur7yvpq.cloudfront.net/naturalearth-3.3.0/ne_10m_ports.geojson'
});
map.addSource('some id', {
   type: 'geojson',
   data: {
       "type": "FeatureCollection",
       "features": [{
           "type": "Feature",
           "properties": {},
           "geometry": {
               "type": "Point",
               "coordinates": [
                   -76.53063297271729,
                   39.18174077994108
               ]
           }
       }]
   }
});
map.getSource('some id').setData({
  "type": "FeatureCollection",
  "features": [{
      "type": "Feature",
      "properties": { "name": "Null Island" },
      "geometry": {
          "type": "Point",
          "coordinates": [ 0, 0 ]
      }
  }]
});

См. также

  • Отображение точек GeoJSON
  • Добавление линии GeoJSON
  • Создание тепловой карты по точкам
  • Создание и оформление кластеров

Наследует

  • Evented<SourceEventType>

Реализует

  • Source

Методы

_updateWorkerData()

_updateWorkerData(): Promise<void>

Отвечает за вызов целевого метода geojson.loadData объекта WorkerSource, который загружает данные GeoJSON и подготавливает их для предоставления в виде тайлов, используя geojson-vt или supercluster в зависимости от ситуации.

Возвращает

Promise<void>


abortTile()

abortTile(tile: Tile): Promise<void>

Позволяет прервать загрузку тайла.

Параметры

Параметр Тип Описание
tile Tile Тайл, загрузку которого нужно прервать

Возвращает

Promise<void>

Реализация

Source.abortTile


fire()

Сигнатура вызова

fire(event: ErrorEvent | MapSourceDataEvent): this

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

Параметры
Параметр Тип
event ErrorEvent | MapSourceDataEvent
Возвращает

this

Реализация

Source.fire

Унаследован от

Evented.fire

Сигнатура вызова

fire(type: keyof SourceEventType, properties?: object): this

Обеспечивает совместимость с сигнатурой (type: string, properties: Object) из предыдущих версий. См. https://github.com/mapbox/mapbox-gl-js/issues/6522, https://github.com/mapbox/mapbox-gl-draw/issues/766

Параметры
Параметр Тип
type keyof SourceEventType
properties? object
Возвращает

this

Реализация

Source.fire

Унаследован от

Evented.fire


getBounds()

getBounds(): Promise<LngLatBounds>

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

Возвращает

Promise<LngLatBounds>

промис, который разрешается границами источника


getClusterChildren()

getClusterChildren(clusterId: number): Promise<Feature<Geometry, {[name: string]: any; }>[]>

Для кластеризованных источников получает дочерние элементы заданного кластера на следующем уровне масштабирования (в виде массива объектов GeoJSON Feature).

Параметры

Параметр Тип Описание
clusterId number Значение свойства cluster_id кластера.

Возвращает

Promise<Feature<Geometry, {[name: string]: any; }>[]>

промис, который разрешается после получения объектов


getClusterExpansionZoom()

getClusterExpansionZoom(clusterId: number): Promise<number>

Для кластеризованных источников получает уровень масштабирования, на котором заданный кластер раскрывается.

Параметры

Параметр Тип Описание
clusterId number Значение свойства cluster_id кластера.

Возвращает

Promise<number>

промис, который разрешается числовым значением уровня масштабирования


getClusterLeaves()

getClusterLeaves(clusterId: number, limit: number, offset: number): Promise<Feature<Geometry, {[name: string]: any; }>[]>

Для кластеризованных источников получает исходные точки, входящие в кластер (в виде массива объектов GeoJSON Feature).

Параметры

Параметр Тип Описание
clusterId number Значение свойства cluster_id кластера.
limit number Максимальное количество возвращаемых объектов.
offset number Количество объектов, которые нужно пропустить (например, для разбиения на страницы).

Возвращает

Promise<Feature<Geometry, {[name: string]: any; }>[]>

промис, который разрешается после получения объектов

Пример

Получение дочерних объектов кластера при щелчке

map.on('click', 'clusters', (e) => {
  let features = map.queryRenderedFeatures(e.point, {
    layers: ['clusters']
  });

  let clusterId = features[0].properties.cluster_id;
  let pointCount = features[0].properties.point_count;
  let clusterSource = map.getSource('clusters');

  const features = await clusterSource.getClusterLeaves(clusterId, pointCount);
  // Print cluster leaves in the console
  console.log('Cluster leaves:', features);
});

getClusterOptions()

getClusterOptions(): GetClusterOptions

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

Возвращает

GetClusterOptions

текущие параметры кластеризации источника

Пример

const {cluster, clusterMaxZoom, clusterRadius} = map.getSource('some id').getClusterOptions();

getData()

getData(): Promise<GeoJSON<Geometry, {[name: string]: any; }>>

Позволяет получить фактические данные GeoJSON источника.

Возвращает

Promise<GeoJSON<Geometry, {[name: string]: any; }>>

промис, который разрешается фактическими данными GeoJSON источника


hasTransition()

hasTransition(): boolean

True, если у источника есть переход, иначе false.

Возвращает

boolean

Реализация

Source.hasTransition


listens()

listens(type: keyof SourceEventType): boolean

Возвращает true, если у этого экземпляра Evented или любого перенаправленного экземпляра Evented есть обработчик для указанного типа события.

Параметры

Параметр Тип Описание
type keyof SourceEventType Тип события

Возвращает

boolean

true, если для указанного типа события зарегистрирован хотя бы один обработчик, в противном случае — false

Унаследовано от

Evented.listens


loaded()

loaded(): boolean

True, если источник загружен, иначе false.

Возвращает

boolean

Реализация

Source.loaded


loadTile()

loadTile(tile: Tile): Promise<void>

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

Параметры

Параметр Тип Описание
tile Tile Тайл для загрузки

Возвращает

Promise<void>

Реализация

Source.loadTile


off()

off<T extends keyof SourceEventType>(type: T, listener: (event: SourceEventType[T]) => void): this

Удаляет ранее зарегистрированный обработчик события.

Параметры типа

Параметр типа
T extends keyof SourceEventType

Параметры

Параметр Тип Описание
type T Тип события, обработчики которого нужно удалить.
listener (event: SourceEventType[T]) => void Функция-обработчик для удаления.

Возвращает

this

Унаследовано от

Evented.off


on()

on<T extends keyof SourceEventType>(type: T, listener: (event: SourceEventType[T]) => void): Subscription

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

Параметры типа

Параметр типа
T extends keyof SourceEventType

Параметры

Параметр Тип Описание
type T Тип события, для которого нужно добавить прослушиватель.
listener (event: SourceEventType[T]) => void Функция, вызываемая при возникновении события. Функция-обработчик вызывается с объектом данных, переданным в fire, дополненным свойствами target и type.

Возвращает

Subscription

Унаследовано от

Evented.on


onAdd()

onAdd(map: Map): void

Этот метод вызывается при добавлении источника на карту.

Параметры

Параметр Тип Описание
map Map Экземпляр карты

Возвращает

void

Реализация

Source.onAdd


once()

Сигнатура вызова

once<T extends keyof SourceEventType>(type: T): Promise<SourceEventType[T]>

Добавляет прослушиватель, который будет вызван только один раз для указанного типа события.

Прослушиватель будет вызван при первом возникновении события после его регистрации.

Параметры типа
Параметр типа
T extends keyof SourceEventType
Параметры
Параметр Тип Описание
type T Тип события, которое нужно прослушивать.
Возвращает

Promise<SourceEventType[T]>

промис, который разрешается событием

Унаследовано от

Evented.once

Сигнатура вызова

once<T extends keyof SourceEventType>(type: T, listener: (event: SourceEventType[T]) => void): this

Добавляет прослушиватель, который будет вызван только один раз для указанного типа события.

Прослушиватель будет вызван при первом возникновении события после его регистрации.

Параметры типа
Параметр типа
T extends keyof SourceEventType
Параметры
Параметр Тип Описание
type T Тип события, которое нужно прослушивать.
listener (event: SourceEventType[T]) => void Функция, вызываемая при первом возникновении события.
Возвращает

this

this, если передан прослушиватель

Унаследовано от

Evented.once


onRemove()

onRemove(): void

Этот метод вызывается при удалении источника с карты.

Возвращает

void

Реализация

Source.onRemove


serialize()

serialize(): GeoJSONSourceSpecification

Возвращает

GeoJSONSourceSpecification

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

Реализация

Source.serialize


setClusterOptions()

setClusterOptions(options: SetClusterOptions): Promise<void>

Отключает или включает кластеризацию в параметрах источника.

Параметры

Параметр Тип Описание
options SetClusterOptions Параметры, которые нужно задать

Возвращает

Promise<void>

Пример

map.getSource('some id').setClusterOptions({cluster: false});
map.getSource('some id').setClusterOptions({cluster: false, clusterRadius: 50, clusterMaxZoom: 14});

setData()

setData(data: string | GeoJSON<Geometry, {[name: string]: any; }>): Promise<void>

Задаёт данные GeoJSON и выполняет повторную отрисовку карты.

Параметры

Параметр Тип Описание
data string | GeoJSON<Geometry, {[name: string]: any; }> Объект данных GeoJSON или URL-адрес, ведущий к нему. Последний вариант предпочтителен для больших файлов GeoJSON.

Возвращает

Promise<void>


setEventedParent()

setEventedParent(parent?: Evented<EventTypeMap>, data?: EventedParentData | (() => EventedParentData)): this

Передаёт все события, отправленные этим экземпляром Evented, родительскому экземпляру Evented.

Параметры

Параметр Тип
parent? Evented<EventTypeMap>
data? EventedParentData | (() => EventedParentData)

Возвращает

this

Унаследовано от

Evented.setEventedParent


unloadTile()

unloadTile(tile: Tile): Promise<void>

Позволяет выгрузить тайл.

Параметры

Параметр Тип Описание
tile Tile Тайл для выгрузки

Возвращает

Promise<void>

Реализация

Source.unloadTile


updateData()

updateData(diff: GeoJSONSourceDiff): Promise<void>

Обновляет GeoJSON источника и повторно отображает карту.

Для источников с большим количеством объектов этот метод позволяет ускорить внесение изменений.

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

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

Изменения применяются по возможности; обновление несуществующего идентификатора не приведёт к ошибке.

Параметры

Параметр Тип Описание
diff GeoJSONSourceDiff Изменения, которые необходимо применить.

Возвращает

Promise<void>

Свойства

attribution

attribution: string

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

Реализация

Source.attribution


id

id: string

Идентификатор источника. Не должен совпадать с идентификатором какого-либо существующего источника.

Реализация

Source.id


isTileClipped

isTileClipped: boolean

false, если тайлы можно отрисовывать за пределами их границ, true, если нельзя.

Реализация

Source.isTileClipped


maxzoom

maxzoom: number

Максимальный уровень масштабирования для источника.

Реализация

Source.maxzoom


minzoom

minzoom: number

Минимальный уровень масштабирования для источника.

Реализация

Source.minzoom


reparseOverscaled

reparseOverscaled: boolean

true, если тайлы следует повторно отправлять в рабочий процесс для каждого уровня увеличенного масштаба, false в противном случае.

Реализация

Source.reparseOverscaled


tileSize

tileSize: number

Размер тайла для источника.

Реализация

Source.tileSize

© MapLibre contributors
Licensed under the 3-Clause BSD License.
https://maplibre.org/maplibre-gl-js/docs/API/classes/GeoJSONSource/

Spec-Zone.ru

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