import { MDOptions } from './map.class'; export type layerType = | 'markers' | 'tiledMap' | 'tiledMapQuery' | 'geoJson' | 'arcgisFeature' | 'dynamicMapLayer' | 'arcgisMap' | 'label' | 'vector'; export type layerOption = { opacity?: number; data?: Array; zIndex?: number; clickEvent?: Function; hoverEvent?: Function; legendImages?: Array | null | undefined; geoJsonLegend?: Array | null | undefined; tiledMapType?: undefined | 'superMap'; }; export interface layer { id: string; key: string; _layer?: any; type?: layerType; url?: string; url_3d?: string; geojson_url: string; label?: string; thumbnail?: string; visible?: boolean; option?: layerOption; tempobj?: any; layers?: any; rasteropacity?: any; imgUrl?: any; minZoom?: any; maxZoom?: any; minHeight?: number; maxHeight?: number; /** layer 类型 */ layerType?: string; matrixIds_index?: string[]; tileMatrixSetID?: string; urlType: string; } export interface MapInterface { /** * 地图初始化 * @param container DOM容器 * @return any 地图视图 */ init( container: HTMLElement, rectangle?: any, center?: any, altitude?: number, bearing?: number ): Promise; /** * 初始化加载描点数据 * @param pointData * @param layerType */ addInitDataLayer( pointData: any[], layerType: any, mdoptions: MDOptions ): void; /** * 初始化弹窗 * @param popupContainer */ initPopupOverlay(popupContainer: HTMLDivElement): void; /** * 初始化加载基础图层 * @param layer */ addBaseDataLayer(layer: any, isShow: boolean): void; /** * 切换底图 * @param layer */ baseLayerSwitcher(key: string, checked: boolean): void; /** * 切换2D或者3D视图 * @param type '2D' | '3D' */ switchView(type: '2D' | '3D'): any | null; /** * 缩放 * out 缩小 * in 放大 */ zoomToggle(type: 'out' | 'in'): void; /** * 检查图层是否存在 * @param layerKey 图层 key * @returns 是否存在 */ hasLayer(layerKey: string): void; /** * 地图输出打印 */ mapOutPut(): void; //飞行到指定的点 fitBounds(bbox, bearing): void; flyTopanto(positon, zoom): void; // /** // * 加载倾斜摄影数据 // * @param HH3DUrlArray // */ // addQxsyLayer(HH3DUrlArray: siteItem): void // /** // * 移除倾斜摄影数据 // * @param HH3DUrlArray // */ // removeQxsyLayer(HH3DUrlArray: siteItem): void // /** // * 倾斜摄影定位 // * @param HH3DUrlArray // */ // qxsyToPosition(HH3DUrlArray: siteItem): void // /** // * 倾斜摄影裁剪 // * @param HH3DUrlArray // */ // qxsyClipBoundary(HH3DUrlArray: siteItem): void // /** // * 移除倾斜摄影裁剪 // * @param HH3DUrlArray // */ // removeQxsyClipBoundary(HH3DUrlArray: siteItem): void /** * 基地面板控制 * @param baseid * @param isAll */ jdPanelControlShowAndHidden(baseid: string, isAll: boolean): void; /** * 图例和基地面板控制描点数据显示隐藏方法 * @param layerType * @param key * @param checked * @param isAll */ mdLayerShowOrHidden( layerType: string, baseid: string, key?: string, checked?: boolean, isAll?: boolean ): void; /** * 基础图层显示影隐藏方法 * @param layerType * @param checked */ controlBaseLayerTreeShowAndHidden( layerType: string, key: string, checked: boolean ): void; /** * 图层树控制描点数据显示隐藏方法 * @param layerType * @param checked */ mdLayerTreeShowOrHidden(layerType: string, checked?: boolean): void; /** * 根据 anchoPointState 控制单个图例的锚点显示隐藏 * @param layerKey 图层 key * @param anchoPointState 锚点状态(对应图例的 nameEn) * @param checked 是否显示 */ setLegendPointVisible( layerKey: string, anchoPointState: string, checked: boolean ): void; /** * 长度量算 */ lengthCalculate(): void; /** * 面积量算 */ areCalculate(): void; /** * 移除量算结果 */ removeQueryLayer(): void; /** * 添加梯级流域图 * @param layer * @param fillcolor */ addTertiarybasinLayer( layer: layer, fillcolor: any, outlineColor: any, datas: any ): void; /** * 移除梯级流域图 * @param layer */ removeTertiarybasinLayer(layer: layer): void; /** * 移除地图对象 */ destroy(): void; }