Remove broken dashArray-code, add check

This commit is contained in:
Pieter Vander Vennet 2024-05-30 20:11:57 +02:00
parent b4941ace8f
commit 5a93910b6e
6 changed files with 10 additions and 100 deletions

View file

@ -268,42 +268,7 @@
} }
] ]
}, },
"width": "8", "width": "8"
"dashArray": {
"render": "",
"mappings": [
{
"if": {
"or": [
"oneway=yes",
{
"or": [
"highway=cycleway",
"highway=path"
]
}
]
},
"then": ""
},
{
"if": "cycleway=track",
"then": ""
},
{
"if": "cycleway=shared_lane",
"then": "15 30"
},
{
"if": "cycleway=lane",
"then": "25 15 15 15 25"
},
{
"if": "cyclestreet=yes",
"then": ""
}
]
}
} }
], ],
"tagRenderings": [ "tagRenderings": [

View file

@ -101,33 +101,7 @@
"lineRendering": [ "lineRendering": [
{ {
"color": "#eaba2a", "color": "#eaba2a",
"width": "7", "width": "7"
"dashArray": {
"render": "",
"mappings": [
{
"if": "highway=cycleway",
"then": ""
},
{
"if": "highway=path",
"then": "0 12"
},
{
"if": {
"or": [
"highway=footway",
"highway=pedestrian"
]
},
"then": "12 18"
},
{
"if": "highway=living_street",
"then": "12 12 0 12"
}
]
}
} }
], ],
"presets": [], "presets": [],

View file

@ -272,15 +272,6 @@
{ {
"#": "left", "#": "left",
"color": "#888", "color": "#888",
"dashArray": {
"render": "",
"mappings": [
{
"if": "sidewalk:left=",
"then": "1,12"
}
]
},
"width": { "width": {
"render": 6, "render": 6,
"mappings": [ "mappings": [
@ -300,15 +291,6 @@
}, },
{ {
"color": "#888", "color": "#888",
"dashArray": {
"render": "",
"mappings": [
{
"if": "sidewalk:right=",
"then": "1,12"
}
]
},
"width": { "width": {
"render": 6, "render": 6,
"mappings": [ "mappings": [

View file

@ -235,25 +235,6 @@
"then": "#f00" "then": "#f00"
} }
] ]
},
"dashArray": {
"render": "",
"mappings": [
{
"if": {
"and": [
"oneway=yes",
{
"or": [
"oneway:bicycle=yes",
"oneway:bicycle="
]
}
]
},
"then": "5 6"
}
]
} }
} }
] ]

View file

@ -20,6 +20,9 @@ export default class LineRenderingConfig extends WithContextLoader {
this.color = this.tr("color", "#0000ff") this.color = this.tr("color", "#0000ff")
this.width = this.tr("width", "7") this.width = this.tr("width", "7")
this.dashArray = json.dashArray this.dashArray = json.dashArray
if(this.dashArray !== undefined && typeof this.dashArray !== "string"){
throw "Invalid dasharray at "+context+"; this should be a string but is a "+typeof this.dashArray
}
this.lineCap = this.tr("lineCap", "round") this.lineCap = this.tr("lineCap", "round")
this.fill = this.tr("fill", undefined) this.fill = this.tr("fill", undefined)
this.fillColor = this.tr("fillColor", undefined) this.fillColor = this.tr("fillColor", undefined)

View file

@ -358,8 +358,13 @@ class LineRenderingLayer {
} }
} }
if (this._config.dashArray) { if (this._config.dashArray) {
try{
layer.paint["line-dasharray"] = layer.paint["line-dasharray"] =
this._config.dashArray?.split(" ")?.map((s) => Number(s)) ?? null this._config.dashArray?.split(" ")?.map((s) => Number(s)) ?? null
}catch (e) {
console.error(`Invalid dasharray in layer ${this._layername}:`, this._config.dashArray)
}
} }
map.addLayer(layer) map.addLayer(layer)