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
TypeScript
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;