UNPKG

bcgis-type

Version:

The SDK is based on Cesium for secondary development of 2, 3D all-in-one WebGis application framework, the framework optimizes the use of Cesium and add some additional features, designed for developers to quickly build WebGis applications.

95 lines (94 loc) 2.31 kB
import { Polygon, Model } from "../../overlay"; import Layer from "../Layer"; import VectorLayer from "./VectorLayer"; /** * GeoJson 图层,用于加载 GeoJson 格式数据 * @noInheritDoc * @example * ```ts * let layer = new BC.GeoJsonLayer('id', '**\/**.geojson') * layer.eachOverlay((item) => { * // item 为一个entity, * if (item.polyline) { * //todo * let polyline = BC.Polyline.fromEntity(item) * } * if (item.polygon) { * //todo * let polygon = BC.Polygon.fromEntity(item) * } * if (item.billboard) { * //todo * let point = BC.Point.fromEntity(item) * let divIcon = BC.DivIcon.fromEntity(item) * let billboard = BC.Billboard.fromEntity(item) * } * }) * ``` */ declare class GeoJsonLayer extends Layer { /** * @param id 图层唯一标识 * @param url 数据地址 * @param options 属性配置 */ constructor(id: string, url: string, options?: {}); /** * 类型 */ get type(): string; /** * 是否显示 */ set show(show: boolean); get show(): boolean; /** * 创建图标 * @param entity * @returns */ private _createBillboard; /** * 创建线实体 * @param entity * @returns {any} * @private */ private _createPolyline; /** * 创建面实体 * @param entity * @returns {any} * @private */ _createPolygon(entity: Cesium.Entity): Polygon; /** * 创建模型 * @param entity * @param modelUrl 模型url * @returns 模型 * @private */ _createModel(entity: Cesium.Entity, modelUrl: string): Model; /** * 遍历覆盖物 * @param method 回调方法 * @param context * @returns {GeoJsonLayer} */ eachOverlay(method: any, context: any): GeoJsonLayer; /** * 转换为矢量图层 * @returns 矢量图层 */ toVectorLayer(): VectorLayer; /** * 转换为模型图层 * @param modelUrl 模型地址 * @returns {VectorLayer} */ toModelLayer(modelUrl: string): VectorLayer; clear(): void; setStyle(style: any): void; } export default GeoJsonLayer;