同步操作将从 osmapgis/MapGIS-WebClient-JavaScript 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
import mapboxgl from '@mapgis/mapbox-gl';import { Common } from '@mapgis/webclient-es6-service';import { GeoFeatureThemeLayer } from './GeoFeatureThemeLayer';import { ThemeVector } from './common/overlay/ThemeVector';import { ShapeFactory } from './common/overlay/feature/ShapeFactory';const { copyAttributesWithClip, Zondy } = Common;/*** @class Zondy.Map.randomThemeLayer* @classdesc 随机专题图层。* @param {string} name - 图层名。* @param {Object} options - 参数。* @param {string} [options.id] - 专题图层 ID。* @param {boolean} [options.loadWhileAnimating=true] - 是否实时重绘。* @param {mapboxgl.Map} options.map - 当前 Mapbox GL map 对象。* @param {number} [options.opacity=1] - 图层透明度。* @param {string} options.themeField - 指定创建专题图字段。* @param {Object} options.style - 专题图样式。* @param {Object} options.styleGroups - 各专题类型样式组。* @param {boolean} [options.isHoverAble=false] - 是否开启 hover 事件。* @param {Object} [options.highlightStyle] - 开启 hover 事件后,触发的样式风格。* @extends {Zondy.Map.GeoFeatureThemeLayer}*/class RandomThemeLayer extends GeoFeatureThemeLayer {constructor(name, options) {super(name, options);this.style = options.style;this.isHoverAble = options.isHoverAble;this.highlightStyle = options.highlightStyle;this.themeField = options.themeField;this.styleGroups = options.styleGroups;}/*** @function Zondy.Map.randomThemeLayer.prototype.getColor* @description 获取随机颜色。*/getColor() {var colorValue = '0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f';var colorArray = colorValue.split(',');var color = '#'; //定义一个存放十六进制颜色值的字符串变量,先将#存放进去for (var i = 0; i < 6; i++) {color += colorArray[Math.floor(Math.random() * 16)];}return color;}/*** @function Zondy.Map.randomThemeLayer.prototype.createThematicFeature* @description 创建专题图要素。* @param {Object} feature - 要创建的专题图形要素。*/createThematicFeature(feature) {//赋 stylevar style = this.getStyleByData(feature);//创建专题要素时的可选参数var options = {};options.nodesClipPixel = this.nodesClipPixel;options.isHoverAble = this.isHoverAble;options.isMultiHover = this.isMultiHover;options.isClickAble = this.isClickAble;options.highlightStyle = ShapeFactory.transformStyle(this.highlightStyle);//将数据转为专题要素(Vector)var thematicFeature = new ThemeVector(feature, this, ShapeFactory.transformStyle(style), options);//直接添加图形到渲染器for (var m = 0; m < thematicFeature.shapes.length; m++) {this.renderer.addShape(thematicFeature.shapes[m]);}return thematicFeature;}/*** @private* @function Zondy.Map.randomThemeLayer.prototype.getStyleByData* @description 获取 style。*/getStyleByData() {var me = this;var style = copyAttributesWithClip({}, me.style);style.fillColor = me.getColor();return style;}}export { RandomThemeLayer };export var randomThemeLayer = function (name, options) {return new RandomThemeLayer(name, options);};Zondy.Map.randomThemeLayer = randomThemeLayer;
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。