@yandex/ymaps3-types
Version:
Types for ymaps3 maps library
128 lines (127 loc) • 3.93 kB
TypeScript
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 };