基本使用
用法示例
//二维
const layer=new LGeoJSONLayer().setDataSource(provider).setDrawOptions(style);
layer.addTo(map);
//三维
const layer=new CGeoJSONLayer().setDataSource(provider).setDrawOptions(style);
view.markerLayers.add(layer);
构造函数
这里以二维为例,三维是类似的,具体可以参考API手册
类名 | 描述 |
---|---|
LGeoJSONLayer(options?: ILGeoJSONLayerOptions) | 二维矢量数据渲染图层 |
构建参数
ILGeoJSONLayerOptions
属性 |
类型 | 默认值 |
描述 |
---|---|---|---|
cacheDrawOptions(可选) | boolean | true | 是否缓存图层样式。如果是每次刷新都要更新样式,请设置为false。 |
checkFeatureBounds(可选) | boolean | false | 是否对元素进行范围检测。当有大量图形可能处于屏幕外时,建议开启。 |
clipLine(可选) | boolean | false | 是否开启对线条的框裁剪,当有大量线条可能处于视图外时,可以开启以加速渲染。 |
collisionDefaultFont(可选) | string | 16px Arial | 用于碰撞检测的字体。 |
pickType(可选) | "none" | "point" | "all" | "none" | 数据拾取的方式。none为不进行数据拾取 |
pickBufferSize(可选) | { width: number, height: number } | {width:10,height:10} | 数据拾取的缓冲区大小 |
delayRendering(可选) | boolean | false | 是否延迟渲染。leaflet默认是同步渲染完之后统一显示到屏幕上。开启后可以让渲染快的图层优先展示出来。 |
trackDataSource(可选) | boolean | false | 是否监听数据源的更新消息,如果监听则更新后自动触发重绘。 |
allowPointCollisionDetect(可选) | boolean | false | 是否允许开启点的碰撞检测,默认不允许,此时样式中点的avoidCollision失效(标签的仍然生效)。如果希望点本身也支持碰撞检测,请开启该选项,同时设置样式中的avoidCollision为true。 |
ILGeoJSONLayerOptions继承自ILCanvasLayerOptions
ILCanvasLayerOptions
属性 |
类型 | 默认值 |
描述 |
---|---|---|---|
loop(可选) | boolean | false | 是否开启不间断渲染 |
name(可选) | string | 图层名称,默认为系统唯一id | |
mask(可选) | string | GeoJSON.GeoJsonObject | 掩膜边界。可以是一个GeoJSON的多边形对象集合,也可以是保存这个集合的资源ID | |
maskType(可选) | "polygon" | "polyline" | "all" | "polygon" | 掩膜类型。 |
debugShowPerformance(可选) | boolean | false | 是否开启调试模式下的信息显示。如果为false,即使处于调试模式也不会显示相关调试信息。 |
ignoreRetina(可选) | boolean | 是否忽视全局的retina配置,retina生效需要全局配置启用,加上这里不设置或者设置为false,加上图层本身支持 |
ILCanvasLayerOptions继承自leaflet的L.LayerOptions,所以leaflet的L.LayerOptions中原有的参数(例如pane等),LGeoJSONLayer也都支持。
图层方法
方法 |
参数 | 返回 |
描述 |
---|---|---|---|
setDataSource | 数据源dataSource: IFeaturesProvider | this | 设置数据源 |
setDrawOptions | 绘制样式drawOptions: FeatureStyle | IFeatureStyleOptions | string, 是否部分更新参数partialUpdate: boolean |
this | 设置渲染参数 |
setLayerOptions | 参数options, 是否部分更新参数partialUpdate: boolean |
重新设置图层构造参数,会触发重绘 | |
setVisible | 是否可见visible: boolean | this | 设置图层是否可见 |
事件
Event | Data | 描述 |
---|---|---|
LGeoJSONLayer.EventTypes.picked | L.LeafletEvent | 拾取到矢量元素后触发 |
LGeoJSONLayer.EventTypes.beforeDraw | L.LeafletEvent | 绘制前触发 |
LGeoJSONLayer.EventTypes.afterDraw | L.LeafletEvent | 绘制后触发 |
No Comments