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:
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user