lg_frontend/static/libs/mars3d/thirdParty/pbf-ol/style/MarsPbfStyle.js

44 lines
1.1 KiB
JavaScript
Raw Permalink Normal View History

//火星科技定义的geoserver发布的pdf的Sld样式(未调试完成)
(function (window) {
class MarsPbfStyle {
constructor(options) {
this.options = options;
this.ol = window.ol;
}
//对外主要方法
getStyle() {
let that = this;
return function (feature, resolution) {
that.type = feature.getGeometry().getType();
that.properties = feature.getProperties();
that.resolution = resolution;
that.scale = 1 / (0.0254 / (96 * resolution));
//通过外部接口获取style配置信息
var styleCfg = that.options.getStyle(that.properties, that);
var style = {};
if (styleCfg.stroke) {
//线
style.stroke = new ol.style.Stroke({ color: styleCfg.color, width: styleCfg.width });
}
if (styleCfg.fill) {
//面
style.fill = new ol.style.Fill({ color: styleCfg.fillColor });
}
// 组装层级样式
style.zIndex = that.options.zIndex || 1;
return [new ol.style.Style(style)];
};
}
}
//对外接口
window.mars3d.MarsPbfStyle = MarsPbfStyle;
})(window);