It's not possible to directly change the colour of a single part within milsymbol because the draw instruction for it uses the colour specified for the rest of the symbol frame parts.
If you really need to change the colour of the direction arrow, you could instead create a custom symbol part instead. Essentially all you would have to do is copy the logic from src/symbolfunctions/directionarrow.js and then add the relevant options when creating your symbol:
Pseudo code example:
var custDirArrow = function (symbol, colour, dir) {
// Implementation goes here...
}
ms.addSymbolPart(function () {
var drawArray1 = [];
var drawArray2 = [];
if (this.options.custDirArrowColor !== undefined && this.options.custDirArrowDir) {
drawArray2.push(custDirArrow(this, this.options.custDirArrowColor, this.options.custDirArrowDir));
}
return {
pre: drawArray1,
post: drawArray2,
};
})
var symb = new ms.Symbol("SFG*UCIZ--*****", {
dtg: "30140000ZSEP97",
location: "0900000.0E570306.0N",
size: 35,
custDirArrowColor:"#FF0000",
custDirArrowDir:"290"
});
It's not possible to directly change the colour of a single part within
milsymbol
because the draw instruction for it uses the colour specified for the rest of the symbol frame parts.https://github.com/spatialillusions/milsymbol/blob/1c17e57282f505fb9ebcd42e04ef2ab1e1b102e6/src/symbolfunctions/directionarrow.js#L32
If you really need to change the colour of the direction arrow, you could instead create a custom symbol part instead. Essentially all you would have to do is copy the logic from
src/symbolfunctions/directionarrow.js
and then add the relevant options when creating your symbol:Pseudo code example:
I have provided an example of a similar solution here https://github.com/spatialillusions/milsymbol/issues/249#issuecomment-931138101
Hope this helps