Make feature styles compatible with declutter

Return a single style object for image and text for point features as concatenating two styles in an array is not compatible with decluttering
This commit is contained in:
mike-000
2020-01-18 19:37:18 +00:00
committed by GitHub
parent 2f094978ca
commit 258bfeaecc

View File

@@ -911,9 +911,8 @@ function createNameStyleFunction(foundStyle, name) {
textStyle.setOffsetY(textOffset[1]); textStyle.setOffsetY(textOffset[1]);
textStyle.setTextAlign(textAlign); textStyle.setTextAlign(textAlign);
const nameStyle = new Style({ const nameStyle = foundStyle.clone();
text: textStyle nameStyle.setText(textStyle);
});
return nameStyle; return nameStyle;
} }
@@ -932,12 +931,11 @@ function createFeatureStyleFunction(style, styleUrl, defaultStyle, sharedStyles,
/** /**
* @param {Feature} feature feature. * @param {Feature} feature feature.
* @param {number} resolution Resolution. * @param {number} resolution Resolution.
* @return {Array<Style>} Style. * @return {Array<Style>|Style} Style.
*/ */
function(feature, resolution) { function(feature, resolution) {
let drawName = showPointNames; let drawName = showPointNames;
/** @type {Style|undefined} */ /** @type {Style|undefined} */
let nameStyle;
let name = ''; let name = '';
if (drawName) { if (drawName) {
const geometry = feature.getGeometry(); const geometry = feature.getGeometry();
@@ -953,22 +951,19 @@ function createFeatureStyleFunction(style, styleUrl, defaultStyle, sharedStyles,
if (style) { if (style) {
if (drawName) { if (drawName) {
nameStyle = createNameStyleFunction(style[0], name); return createNameStyleFunction(style[0], name);
return style.concat(nameStyle);
} }
return style; return style;
} }
if (styleUrl) { if (styleUrl) {
const foundStyle = findStyle(styleUrl, defaultStyle, sharedStyles); const foundStyle = findStyle(styleUrl, defaultStyle, sharedStyles);
if (drawName) { if (drawName) {
nameStyle = createNameStyleFunction(foundStyle[0], name); return createNameStyleFunction(foundStyle[0], name);
return foundStyle.concat(nameStyle);
} }
return foundStyle; return foundStyle;
} }
if (drawName) { if (drawName) {
nameStyle = createNameStyleFunction(defaultStyle[0], name); return createNameStyleFunction(defaultStyle[0], name);
return defaultStyle.concat(nameStyle);
} }
return defaultStyle; return defaultStyle;
} }