MCPcopy Index your code
hub / github.com/SuperMap/iClient-JavaScript / createVectorLayer

Method createVectorLayer

src/openlayers/mapping/WebMap.js:3394–3416  ·  view source on GitHub ↗

* @private * @function WebMap.prototype.createVectorLayer * @description 创建vector图层 * @param {Object} layerInfo - 图层信息 * @param {Array} features -feature的集合 * @returns {ol.layer.Vector} 矢量图层

(layerInfo, features)

Source from the content-addressed store, hash-verified

3392 * @returns {ol.layer.Vector} 矢量图层
3393 */
3394 async createVectorLayer(layerInfo, features) {
3395 const { featureType, style } = layerInfo;
3396 let newStyle;
3397 if (featureType === 'LINE' && Util.isArray(style) && style.length === 2) {
3398 const [outlineStyle, strokeStyle] = style;
3399 newStyle =
3400 !strokeStyle.lineDash || strokeStyle.lineDash === 'solid'
3401 ? StyleUtils.getRoadPath(strokeStyle, outlineStyle)
3402 : StyleUtils.getPathway(strokeStyle, outlineStyle);
3403 } else {
3404 if (Util.isArray(style)) {
3405 layerInfo.style = style[0];
3406 }
3407 newStyle = await StyleUtils.toOpenLayersStyle(layerInfo.style, layerInfo.featureType);
3408 }
3409 return new olLayer.Vector({
3410 style: newStyle,
3411 source: new Vector({
3412 features: layerInfo.filterCondition ? this.getFiterFeatures(layerInfo.filterCondition, features) : features,
3413 wrapX: false
3414 })
3415 });
3416 }
3417
3418 /**
3419 * @private

Callers 3

addLayerMethod · 0.95
createDataflowLayerMethod · 0.95
WebMap.jsFile · 0.80

Calls 4

getFiterFeaturesMethod · 0.95
getRoadPathMethod · 0.80
getPathwayMethod · 0.80
toOpenLayersStyleMethod · 0.80

Tested by

no test coverage detected