@yandex/ymaps3-types
Version:
Types for ymaps3 maps library
61 lines (60 loc) • 1.79 kB
TypeScript
import type { RasterTileDataSourceDescription, ZoomRange } from "../../common/types";
import { YMapEntity } from "../YMapEnities";
/**
* YMapTileDataSource props
*/
interface YMapTileDataSourceProps {
/** Data source id */
id: string;
/** Min and max zoom for tiles */
zoomRange?: ZoomRange;
/**
* Restrict min and max map zoom.
* Result map zoomRange will be the intersection of the map zoomRange
* and all data sources with the clampMapZoom option enabled
**/
clampMapZoom?: boolean;
/** Raster data source description */
raster?: RasterTileDataSourceDescription;
/** Data source copyrights */
copyrights?: string[];
}
/**
* Create map tile data source.
*
* @example
* ```javascript
* const layer = new YMapLayer({
* id: 'layer-source-ground',
* source: 'source',
* type: 'ground',
* raster: {
* awaitAllTilesOnFirstDisplay: true
* }
* });
* const map = new YMap(ref.current, {
* location: [37.622504, 55.753215],
* mode: 'vector'
* });
* map.addChild(new YMapTileDataSource({
* id: 'source',
* raster: {
* type: 'ground',
* fetchTile: 'https://my.host.example/tiles?x={{x}}&y={{y}}&z={{z}}&scale={{scale}}'
* },
* zoomRange: {min: 0, max: 19},
* clampMapZoom: true
* }));
* map.addChild(layer);
* ```
*/
declare class YMapTileDataSource extends YMapEntity<YMapTileDataSourceProps> {
private _id;
protected _onAttach(): void;
protected _onDetach(): void;
protected _onUpdate(props: Partial<YMapTileDataSourceProps>): void;
private _getDataSourceDescription;
private _onVectorContextUpdate;
private _prepareVectorSource;
}
export { YMapTileDataSource, YMapTileDataSourceProps };