UNPKG

@yandex/ymaps3-types

Version:

Types for ymaps3 maps library

128 lines (127 loc) 3.93 kB
import type { VectorCustomization } from "../../common/types"; import { YMapLayerProps } from "../YMapLayer"; import { YMapComplexEntity } from "../YMapEnities"; /** * Types of underlay layers available in the default scheme. * Each layer is displayed on the map according to its zIndex. * By default, layers are displayed in the following order: * 1. ground * 2. buildings * 3. icons * 4. labels * @see https://yandex.ru/dev/jsapi30/doc/en/dg/concepts/general#source-prepared */ type YMapDefaultSchemeLayerType = "ground" | "buildings" | "icons" | "labels"; /** * YMapDefaultSchemeLayer props */ type YMapDefaultSchemeLayerProps = { /** * Should show layers * @deprecated use {@link YMapDefaultSchemeLayerProps}.layers instead */ visible?: boolean; /** Vector tiles customization. */ customization?: VectorCustomization; /** * Theme applied to the scheme * @deprecated use {@link YMapProps}.theme prop in {@link YMap} instead * */ theme?: "dark" | "light"; /** Name for source */ source?: string; /** Layers parameters */ layers?: Partial<Record<YMapDefaultSchemeLayerType, Partial<YMapLayerProps>>>; /** * Allow to clamp map zoom. If you want the layer to not lock zoom when it reaches * its maximum value, you can set this field to false. * This may be necessary, for example, when your own layers are working at scales greater than 21. * ```js * const defaultSchemeLayer = new YMapDefaultSchemeLayer({clampMapZoom: false}); * map.addChild(defaultSchemeLayer); * ``` * See example https://yandex.ru/dev/jsapi30/doc/ru/examples/cases/over-zoom * @default true */ clampMapZoom?: boolean; }; declare const defaultProps: { visible: boolean; source: string; layers: { ground: { zIndex: number; }; buildings: { zIndex: number; }; icons: { zIndex: number; }; labels: { zIndex: number; }; }; /** @deprecated use {@link DefaultProps}.layers instead */ readonly layersInfo: Record<YMapDefaultSchemeLayerType, { type: string; zIndex: number; }>; clampMapZoom: boolean; }; type DefaultProps = typeof defaultProps; declare const MAP_TYPES: { map: string; admin: string; driving: string; transit: string; }; /** * Map default layer to show yandex scheme on map. * * @example * ```javascript * const defaultSchemeLayer = new YMapDefaultSchemeLayer({theme: 'dark'}); * // add to map * map.addChild(defaultSchemeLayer); * // update * defaultSchemeLayer.update({theme: 'light'}); * ``` */ declare class YMapDefaultSchemeLayer extends YMapComplexEntity<YMapDefaultSchemeLayerProps, DefaultProps> { static defaultProps: { visible: boolean; source: string; layers: { ground: { zIndex: number; }; buildings: { zIndex: number; }; icons: { zIndex: number; }; labels: { zIndex: number; }; }; /** @deprecated use {@link DefaultProps}.layers instead */ readonly layersInfo: Record<YMapDefaultSchemeLayerType, { type: string; zIndex: number; }>; clampMapZoom: boolean; }; private _dataSource?; private _layers; private _unwatchMapContext?; private _unwatchThemeContext?; private _coverageSubscription?; protected _onAttach(): void; protected _onDetach(): void; protected _onUpdate(propsDiff: Partial<YMapDefaultSchemeLayerProps>): void; private _getTileDataSourceProps; private _updateTheme; } export { YMapDefaultSchemeLayer, YMapDefaultSchemeLayerProps, MAP_TYPES };