Merge branch 'develop' into feature/studio

This commit is contained in:
Pieter Vander Vennet 2023-06-20 22:50:47 +02:00
commit c229b92221
133 changed files with 1056 additions and 2081 deletions

View file

@ -259,14 +259,6 @@ class ClosestNObjectFunc implements ExtraFunction {
const maxDistance = options?.maxDistance ?? 500
const uniqueTag: string | undefined = options?.uniqueTag
let allFeatures: Feature[][]
console.log(
"Calculating closest",
options?.maxFeatures,
"features around",
feature,
"in layer",
features
)
if (typeof features === "string") {
const name = features
const bbox = GeoOperations.bbox(

View file

@ -5,6 +5,8 @@ import { GeoOperations } from "../../GeoOperations"
/**
* Returns a clipped version of the original geojson. Ways which partially intersect the given feature will be split up
*
* Also @see: GeoOperations.spreadIntoBboxes
*/
export default class ClippedFeatureSource extends StaticFeatureSource {
constructor(features: FeatureSource, clipTo: Feature<Polygon>) {

View file

@ -198,7 +198,8 @@ export default class CreateNoteImportLayer extends Conversion<LayerConfigJson, L
},
],
},
iconSize: "40,40,center",
iconSize: "40,40",
anchor: "center",
},
],
}

View file

@ -3,6 +3,7 @@ import { Utils } from "../../../Utils"
import LineRenderingConfigJson from "../Json/LineRenderingConfigJson"
import { LayerConfigJson } from "../Json/LayerConfigJson"
import { DesugaringStep, Each, Fuse, On } from "./Conversion"
import PointRenderingConfigJson from "../Json/PointRenderingConfigJson"
export class UpdateLegacyLayer extends DesugaringStep<
LayerConfigJson | string | { builtin; override }
@ -139,6 +140,35 @@ export class UpdateLegacyLayer extends DesugaringStep<
}
}
for (const rendering of config.mapRendering ?? []) {
if (!rendering["iconSize"]) {
continue
}
const pr = <PointRenderingConfigJson>rendering
const iconSize = pr.iconSize
if (typeof iconSize === "string")
if (["bottom", "center", "top"].some((a) => (<string>iconSize).endsWith(a))) {
const parts = iconSize.split(",").map((parts) => parts.toLowerCase().trim())
pr.anchor = parts.pop()
pr.iconSize = parts.join(",")
}
}
for (const rendering of config.mapRendering) {
for (const key in rendering) {
if (!rendering[key]) {
continue
}
if (
typeof rendering[key]["render"] === "string" &&
Object.keys(rendering[key]).length === 1
) {
console.log("Rewrite: ", rendering[key])
rendering[key] = rendering[key]["render"]
}
}
}
return {
result: config,
errors: [],

View file

@ -586,6 +586,7 @@ class WarnForUnsubstitutedLayersInTheme extends DesugaringStep<LayoutConfigJson>
}
export class PrepareTheme extends Fuse<LayoutConfigJson> {
private state: DesugaringContext
constructor(
state: DesugaringContext,
options?: {
@ -612,6 +613,7 @@ export class PrepareTheme extends Fuse<LayoutConfigJson> {
new AddDependencyLayersToTheme(state),
new AddImportLayers()
)
this.state = state
}
convert(
@ -619,6 +621,10 @@ export class PrepareTheme extends Fuse<LayoutConfigJson> {
context: string
): { result: LayoutConfigJson; errors: string[]; warnings: string[]; information: string[] } {
const result = super.convert(json, context)
if (this.state.publicLayers.size === 0) {
// THis is a bootstrapping run, no need to already set this flag
return result
}
const needsNodeDatabase = result.result.layers?.some((l: LayerConfigJson) =>
l.tagRenderings?.some((tr: TagRenderingConfigJson) =>

View file

@ -54,6 +54,16 @@ export default interface PointRenderingConfigJson {
* Default is '40,40,center'
*/
iconSize?: string | TagRenderingConfigJson
/**
* question: What is the anchorpoint of the icon?
*
* This matches the geographical point with a location on the icon.
* For example, a feature attached to the ground can use 'bottom' as zooming in will give the appearance of being anchored to a fixed location.
*
*/
anchor?: "center" | "top" | "bottom" | "left" | "right" | string | TagRenderingConfigJson
/**
* The rotation of an icon, useful for e.g. directions.
* Usage: as if it were a css property for 'rotate', thus has to end with 'deg', e.g. `90deg`, `{direction}deg`, `calc(90deg - {camera:direction}deg)``

View file

@ -27,6 +27,8 @@ export default class PointRenderingConfig extends WithContextLoader {
public readonly icon?: TagRenderingConfig
public readonly iconBadges: { if: TagsFilter; then: TagRenderingConfig }[]
public readonly iconSize: TagRenderingConfig
public readonly anchor: TagRenderingConfig
public readonly label: TagRenderingConfig
public readonly labelCss: TagRenderingConfig
public readonly labelCssClasses: TagRenderingConfig
@ -90,7 +92,18 @@ export default class PointRenderingConfig extends WithContextLoader {
throw context + ": builtin SVG asset not found: " + iconPath
}
}
this.iconSize = this.tr("iconSize", "40,40,center")
if (typeof json.iconSize === "string") {
const s = json.iconSize
if (["bottom", "top", "center"].some((e) => s.endsWith(e))) {
throw (
"At " +
context +
" in : iconSize uses legacy ,bottom, center or top postfix. Use the field `anchor` instead."
)
}
}
this.iconSize = this.tr("iconSize", "40,40")
this.anchor = this.tr("anchor", "center")
this.label = this.tr("label", undefined)
this.rotation = this.tr("rotation", "0")
this.pitchAlignment = this.tr("pitchAlignment", "canvas")
@ -229,12 +242,13 @@ export default class PointRenderingConfig extends WithContextLoader {
return Utils.SubstituteKeys(str, tags.data).replace(/{.*}/g, "")
}
const iconSize = render(this.iconSize, "40,40,center").split(",")
const iconSize = render(this.iconSize, "40,40").split(",")
const iconW = num(iconSize[0])
let iconH = num(iconSize[1])
const mode = iconSize[2]?.trim()?.toLowerCase() ?? "center"
const anchor = render(this.anchor, "center")
const mode = anchor?.trim()?.toLowerCase() ?? "center"
// in MapLibre, the offset is relative to the _center_ of the object, with left = [-x, 0] and up = [0,-y]
let anchorW = 0
let anchorH = 0

View file

@ -32,6 +32,12 @@ export default class WithContextLoader {
return shared
}
}
if (Object.keys(v).length === 1 && typeof v["render"] === "string") {
throw `At ${
translationContext ?? "<unknown>"
}: use the content directly instead of {${key}: ${JSON.stringify(v)}}`
}
return new TagRenderingConfig(v, `${translationContext ?? this._context}.${key}`)
}

View file

@ -108,7 +108,7 @@
</div>
</LoginToggle>
{#if $comment.length >= 3}
{#if $comment?.length >= 3}
<SubtleButton on:click={uploadNote}>
<img slot="image" src="./assets/svg/addSmall.svg" class="mr-4 h-8 w-8" />
<Tr slot="message" t={Translations.t.notes.createNote} />

View file

@ -26,15 +26,22 @@ export class Translation extends BaseUIElement {
if (!translations.hasOwnProperty(translationsKey)) {
continue
}
if (translationsKey === "_context" || translationsKey === "_meta") {
if (
translationsKey === "_context" ||
translationsKey === "_meta" ||
translationsKey === "special"
) {
continue
}
count++
if (typeof translations[translationsKey] != "string") {
console.error(
"Non-string object at",
context,
"in translation: ",
`for language`,
translationsKey,
`in translation: `,
translations[translationsKey],
"\n current translations are: ",
translations

View file

@ -251,7 +251,7 @@
"render": "<div style='margin-top: -42px; color: white' class='rounded-full p-1 font-bold relative'>{addr:housenumber}</div>",
"condition": "addr:housenumber~*"
},
"iconSize": "50,50,center",
"iconSize": "50,50",
"icon": {
"render": "./assets/layers/address/housenumber_blank.svg",
"mappings": [
@ -274,7 +274,8 @@
"location": [
"point",
"centroid"
]
],
"anchor": "center"
},
{
"color": {
@ -296,9 +297,7 @@
}
]
},
"width": {
"render": "8"
}
"width": "8"
}
]
}

View file

@ -971,30 +971,31 @@
]
},
"iconSize": {
"render": "40,40,bottom",
"render": "40,40",
"mappings": [
{
"if": "_referencing_ways~*",
"then": "40,40,center"
},
{
"if": "advertising=flag",
"then": "60,60,bottom"
"then": "60,60"
},
{
"if": "advertising=sculpture",
"then": "50,50,bottom"
"then": "50,50"
}
]
},
"anchor": {
"render": "bottom",
"mappings": [
{
"if": "_referencing_ways~*",
"then": "center"
}
]
}
},
{
"width": {
"render": "8"
},
"color": {
"render": "#00f"
}
"width": "8",
"color": "#00f"
}
],
"allowMove": {

View file

@ -361,24 +361,17 @@
],
"mapRendering": [
{
"icon": {
"render": "./assets/themes/hailhydrant/Twemoji_1f691.svg"
},
"iconSize": {
"render": "35,35,center"
},
"icon": "./assets/themes/hailhydrant/Twemoji_1f691.svg",
"iconSize": "35,35",
"location": [
"point",
"centroid"
]
],
"anchor": "center"
},
{
"color": {
"render": "#00f"
},
"width": {
"render": "1"
}
"color": "#00f",
"width": "1"
}
]
}

View file

@ -728,21 +728,15 @@
},
"mapRendering": [
{
"icon": {
"render": "./assets/themes/artwork/artwork.svg"
},
"icon": "./assets/themes/artwork/artwork.svg",
"location": [
"point",
"centroid"
]
},
{
"color": {
"render": "#0000ff"
},
"width": {
"render": "10"
}
"color": "#0000ff",
"width": "10"
}
],
"filter": [

View file

@ -996,12 +996,8 @@
},
"mapRendering": [
{
"icon": {
"render": "./assets/layers/bench/bench.svg"
},
"iconSize": {
"render": "35,35,center"
},
"icon": "./assets/layers/bench/bench.svg",
"iconSize": "35,35",
"iconBadges": [
{
"if": "tourism=artwork",
@ -1011,7 +1007,8 @@
"location": [
"point",
"centroid"
]
],
"anchor": "center"
}
],
"filter": [

View file

@ -203,23 +203,16 @@
],
"mapRendering": [
{
"icon": {
"render": "./assets/themes/benches/bench_public_transport.svg"
},
"iconSize": {
"render": "35,35,center"
},
"icon": "./assets/themes/benches/bench_public_transport.svg",
"iconSize": "35,35",
"location": [
"point"
]
],
"anchor": "center"
},
{
"color": {
"render": "#00f"
},
"width": {
"render": "8"
}
"color": "#00f",
"width": "8"
}
],
"deletion": {

View file

@ -327,9 +327,7 @@
],
"mapRendering": [
{
"icon": {
"render": "pin:#22ff55;./assets/layers/bicycle_library/bicycle_library.svg"
},
"icon": "pin:#22ff55;./assets/layers/bicycle_library/bicycle_library.svg",
"iconBadges": [
{
"if": "opening_hours~*",
@ -340,21 +338,16 @@
"then": "circle:#e2783d;./assets/layers/bike_repair_station/pump.svg"
}
],
"iconSize": {
"render": "50,50,bottom"
},
"iconSize": "50,50",
"location": [
"point",
"centroid"
]
],
"anchor": "bottom"
},
{
"color": {
"render": "#c00"
},
"width": {
"render": "1"
}
"color": "#c00",
"width": "1"
}
],
"deletion": true

View file

@ -528,21 +528,16 @@
"mapRendering": [
{
"icon": "./assets/themes/bicycle_rental/logo.svg",
"iconSize": {
"render": "40,40,center"
},
"iconSize": "40,40",
"location": [
"point",
"centroid"
]
],
"anchor": "center"
},
{
"color": {
"render": "#3333aa88"
},
"width": {
"render": "2"
}
"color": "#3333aa88",
"width": "2"
}
],
"allowMove": {

View file

@ -290,9 +290,7 @@
},
"mapRendering": [
{
"icon": {
"render": "pin:#ffffff;./assets/layers/bicycle_tube_vending_machine/pinIcon.svg"
},
"icon": "pin:#ffffff;./assets/layers/bicycle_tube_vending_machine/pinIcon.svg",
"iconBadges": [
{
"if": {
@ -304,11 +302,12 @@
"then": "close:#c33"
}
],
"iconSize": "50,50,bottom",
"iconSize": "50,50",
"location": [
"point",
"centroid"
]
],
"anchor": "bottom"
},
{
"color": "#6bc4f7"

View file

@ -340,24 +340,17 @@
],
"mapRendering": [
{
"icon": {
"render": "pin:#684c2b;./assets/layers/bike_cafe/bike_cafe.svg"
},
"iconSize": {
"render": "50,50,bottom"
},
"icon": "pin:#684c2b;./assets/layers/bike_cafe/bike_cafe.svg",
"iconSize": "50,50",
"anchor": "bottom",
"location": [
"point",
"centroid"
]
},
{
"color": {
"render": "#694E2D"
},
"width": {
"render": "2"
}
"color": "#694E2D",
"width": "2"
}
],
"description": {

View file

@ -239,9 +239,7 @@
},
"mapRendering": [
{
"icon": {
"render": "./assets/layers/bike_cleaning/bike_cleaning.svg"
},
"icon": "./assets/layers/bike_cleaning/bike_cleaning.svg",
"iconBadges": [
{
"if": {
@ -257,11 +255,12 @@
}
}
],
"iconSize": "50,50,bottom",
"iconSize": "50,50",
"location": [
"point",
"centroid"
]
],
"anchor": "bottom"
}
],
"description": {

View file

@ -696,14 +696,13 @@
},
"mapRendering": [
{
"icon": {
"render": "pin:#5473de;./assets/layers/bike_parking/parking.svg"
},
"iconSize": "40,40,bottom",
"icon": "pin:#5473de;./assets/layers/bike_parking/parking.svg",
"iconSize": "40,40",
"location": [
"point",
"centroid"
]
],
"anchor": "bottom"
},
{
"color": "#00f",

View file

@ -1040,13 +1040,12 @@
"then": "invalid"
}
],
"iconSize": {
"render": "50,50,bottom"
},
"iconSize": "50,50",
"location": [
"point",
"centroid"
]
],
"anchor": "bottom"
}
],
"description": {

View file

@ -827,31 +827,20 @@
"then": "circle:#e2783d;./assets/layers/bike_repair_station/pump.svg"
},
{
"if": {
"and": [
"service:bicycle:cleaning~*"
]
},
"then": {
"render": "./assets/layers/bike_cleaning/bike_cleaning_icon.svg"
}
"if": "service:bicycle:cleaning~*",
"then": "./assets/layers/bike_cleaning/bike_cleaning_icon.svg"
}
],
"iconSize": {
"render": "50,50,bottom"
},
"iconSize": "50,50",
"anchor": "bottom",
"location": [
"point",
"centroid"
]
},
{
"color": {
"render": "#c00"
},
"width": {
"render": "1"
}
"color": "#c00",
"width": "1"
}
],
"filter": [

View file

@ -69,24 +69,17 @@
"presets": [],
"mapRendering": [
{
"icon": {
"render": "./assets/layers/bike_themed_object/other_services.svg"
},
"iconSize": {
"render": "50,50,bottom"
},
"icon": "./assets/layers/bike_themed_object/other_services.svg",
"iconSize": "50,50",
"location": [
"point",
"centroid"
]
],
"anchor": "bottom"
},
{
"color": {
"render": "#AB76D5"
},
"width": {
"render": "2"
}
"color": "#AB76D5",
"width": "2"
}
],
"description": {

View file

@ -158,23 +158,16 @@
},
"mapRendering": [
{
"icon": {
"render": "circle:white;./assets/layers/binocular/telescope.svg"
},
"iconSize": {
"render": "40,40,center"
},
"icon": "circle:white;./assets/layers/binocular/telescope.svg",
"iconSize": "40,40",
"location": [
"point"
]
],
"anchor": "center"
},
{
"color": {
"render": "#00f"
},
"width": {
"render": "8"
}
"color": "#00f",
"width": "8"
}
]
}

File diff suppressed because it is too large Load diff

View file

@ -65,7 +65,7 @@
"en": "A charging station",
"nl": "Oplaadpunten"
},
"#":"no-question-hint-check",
"#": "no-question-hint-check",
"tagRenderings": [
"images",
{
@ -144,7 +144,7 @@
}
},
{
"if": "access=public",
"if": "access=public",
"then": {
"en": "Anyone can use this charging station (payment might be needed)",
"nl": "Toegankelijk voor iedereen (mogelijks met aanmelden en/of te betalen)"
@ -788,9 +788,8 @@
"then": "circle:#fff;./assets/themes/charging_stations/car.svg"
}
],
"iconSize": {
"render": "50,50,bottom"
}
"anchor": "bottom",
"iconSize": "50,50"
}
],
"presets": [
@ -804,9 +803,6 @@
"title": {
"en": "charging station for electrical bikes with a normal european wall plug <img src='./assets/layers/charging_station/TypeE.svg' class='w-4 h-4 mx-1 bg-white rounded-full'/>",
"nl": "oplaadpunt voor elektrische fietsen met een gewone, europese stekker <img src='./assets/layers/charging_station/TypeE.svg' class='w-4 h-4 mx-1 bg-white rounded-full'/>"
},
"preciseInput": {
"preferredBackground": "map"
}
},
{
@ -818,9 +814,6 @@
"title": {
"en": "charging station for cars",
"nl": "oplaadstation voor elektrische auto's"
},
"preciseInput": {
"preferredBackground": "map"
}
}
],

View file

@ -298,16 +298,13 @@
],
"mapRendering": [
{
"icon": {
"render": "./assets/themes/climbing/climbing_no_rope.svg"
},
"iconSize": {
"render": "40,40,center"
},
"icon": "./assets/themes/climbing/climbing_no_rope.svg",
"iconSize": "40,40",
"location": [
"point",
"centroid"
]
],
"anchor": "center"
},
{
"dashArray": "8 16",

View file

@ -161,18 +161,14 @@
],
"mapRendering": [
{
"icon": {
"render": "./assets/themes/climbing/club.svg"
},
"icon": "./assets/themes/climbing/club.svg",
"iconBadges": [
{
"if": "opening_hours~*",
"then": "icons.isOpen"
}
],
"iconSize": {
"render": "40,40,center"
},
"iconSize": "40,40",
"location": [
"point",
"centroid"
@ -184,7 +180,8 @@
"then": "<div style='background: white; padding: 0.25em; border-radius:0.5em'>{name}</div>"
}
]
}
},
"anchor": "center"
}
]
}

View file

@ -236,18 +236,14 @@
],
"mapRendering": [
{
"icon": {
"render": "./assets/themes/climbing/climbing_gym.svg"
},
"icon": "./assets/themes/climbing/climbing_gym.svg",
"iconBadges": [
{
"if": "opening_hours~*",
"then": "icons.isOpen"
}
],
"iconSize": {
"render": "40,40,center"
},
"iconSize": "40,40",
"location": [
"point",
"centroid"
@ -259,7 +255,8 @@
"then": "<div style='background: white; padding: 0.25em; border-radius:0.5em'>{name}</div>"
}
]
}
},
"anchor": "center"
}
],
"presets": [

View file

@ -128,12 +128,8 @@
]
},
{
"color": {
"render": "#ddff55AA"
},
"width": {
"render": "2"
}
"color": "#ddff55AA",
"width": "2"
}
]
}

View file

@ -218,12 +218,8 @@
],
"mapRendering": [
{
"icon": {
"render": "circle:white;./assets/themes/climbing/climbing_route.svg"
},
"iconSize": {
"render": "28,28,center"
},
"icon": "circle:white;./assets/themes/climbing/climbing_route.svg",
"iconSize": "28,28",
"location": [
"point",
"centroid"
@ -244,15 +240,12 @@
"then": "<div class='w-max p-1 rounded-xl' style='background: white;'>{name}</div>"
}
]
}
},
"anchor": "center"
},
{
"color": {
"render": "#0f0"
},
"width": {
"render": "4"
}
"color": "#0f0",
"width": "4"
}
]
}

View file

@ -17,7 +17,8 @@
}
]
},
"iconSize": "10,10,center"
"iconSize": "10,10",
"anchor": "center"
},
{
"location": "end",
@ -34,7 +35,8 @@
}
]
},
"iconSize": "10,10,center"
"iconSize": "10,10",
"anchor": "center"
},
{
"location": "start",

View file

@ -15,11 +15,10 @@
"point",
"centroid"
],
"iconSize": "50,50,center",
"iconSize": "50,50",
"icon": "./assets/layers/crab_address/housenumber_blank.svg",
"label": {
"render": "<div style='margin-top: -42px; color: white' class='rounded-full p-1 font-bold relative'>{_HNRLABEL}</div>"
}
"label": "<div style='margin-top: -42px; color: white' class='rounded-full p-1 font-bold relative'>{_HNRLABEL}</div>",
"anchor": "center"
}
],
"calculatedTags": [

View file

@ -1610,12 +1610,8 @@
"allowSplit": true,
"mapRendering": [
{
"icon": {
"render": "./assets/themes/cycle_infra/bicycleway.svg"
},
"iconSize": {
"render": "40,40,center"
},
"icon": "./assets/themes/cycle_infra/bicycleway.svg",
"iconSize": "40,40",
"location": [
"point"
]
@ -1654,9 +1650,7 @@
}
]
},
"width": {
"render": "8"
},
"width": "8",
"dashArray": {
"render": "",
"mappings": [

View file

@ -67,14 +67,13 @@
],
"mapRendering": [
{
"icon": {
"render": "circle:white;./assets/layers/dentist/dentist.svg"
},
"iconSize": "40,40,center",
"icon": "circle:white;./assets/layers/dentist/dentist.svg",
"iconSize": "40,40",
"location": [
"point",
"centroid"
]
],
"anchor": "center"
}
],
"deletion": true,

View file

@ -35,14 +35,13 @@
"mapRendering": [
{
"icon": "direction_gradient:var(--catch-detail-color)",
"iconSize": "200,200,center",
"iconSize": "200,200",
"location": [
"point",
"centroid"
],
"rotation": {
"render": "{_direction:numerical}deg"
}
"rotation": "{_direction:numerical}deg",
"anchor": "center"
},
{
"color": "--catch-detail-color"

View file

@ -126,14 +126,13 @@
],
"mapRendering": [
{
"icon": {
"render": "circle:white;./assets/layers/doctors/doctors.svg"
},
"iconSize": "40,40,center",
"icon": "circle:white;./assets/layers/doctors/doctors.svg",
"iconSize": "40,40",
"location": [
"point",
"centroid"
]
],
"anchor": "center"
}
],
"deletion": true,

View file

@ -68,7 +68,7 @@
"centroid"
],
"icon": "./assets/layers/dogpark/dog-park.svg",
"iconSize": "40,40,center",
"iconSize": "40,40",
"label": {
"mappings": [
{
@ -76,7 +76,8 @@
"then": "<div style='background: white; padding: 0.25em; border-radius:0.5em'>{name}</div>"
}
]
}
},
"anchor": "center"
},
{
"color": "#ff0",

View file

@ -244,9 +244,7 @@
},
"mapRendering": [
{
"icon": {
"render": "pin:#6BC4F7;./assets/layers/drinking_water/drips.svg"
},
"icon": "pin:#6BC4F7;./assets/layers/drinking_water/drips.svg",
"iconBadges": [
{
"if": {
@ -258,11 +256,12 @@
"then": "close:#c33"
}
],
"iconSize": "40,40,bottom",
"iconSize": "40,40",
"location": [
"point",
"centroid"
]
],
"anchor": "bottom"
}
],
"description": {

View file

@ -191,10 +191,8 @@
],
"mapRendering": [
{
"icon": {
"render": "circle:white;./assets/layers/elevator/elevator_wheelchair.svg"
},
"iconSize": "40,40,center",
"icon": "circle:white;./assets/layers/elevator/elevator_wheelchair.svg",
"iconSize": "40,40",
"location": [
"point",
"centroid"
@ -209,7 +207,8 @@
},
"then": "close:#c33"
}
]
],
"anchor": "center"
}
],
"presets": [

View file

@ -273,12 +273,11 @@
}
]
},
"iconSize": {
"render": "40,40,center"
},
"iconSize": "40,40",
"location": [
"point"
]
],
"anchor": "center"
},
{
"color": {

View file

@ -155,16 +155,13 @@
],
"mapRendering": [
{
"icon": {
"render": "./assets/themes/hailhydrant/Twemoji12_1f9ef.svg"
},
"iconSize": {
"render": "20,20,center"
},
"icon": "./assets/themes/hailhydrant/Twemoji12_1f9ef.svg",
"iconSize": "20,20",
"location": [
"point",
"centroid"
]
],
"anchor": "center"
}
]
}

View file

@ -297,24 +297,17 @@
],
"mapRendering": [
{
"icon": {
"render": "./assets/themes/hailhydrant/Twemoji12_1f692.svg"
},
"iconSize": {
"render": "35,35,center"
},
"icon": "./assets/themes/hailhydrant/Twemoji12_1f692.svg",
"iconSize": "35,35",
"location": [
"point",
"centroid"
]
],
"anchor": "center"
},
{
"color": {
"render": "#c22"
},
"width": {
"render": "1"
}
"color": "#c22",
"width": "1"
}
]
}

View file

@ -92,14 +92,15 @@
"centroid"
],
"icon": "circle:white;./assets/layers/fitness_centre/gym.svg",
"iconSize": "40,40,center",
"iconSize": "40,40",
"label": "<div style='background: white; padding: 0.25em; border-radius:0.5em'>{name}</div>",
"iconBadges": [
{
"if": "opening_hours~*",
"then": "icons.isOpen"
}
]
],
"anchor": "center"
}
],
"filter": [

View file

@ -393,7 +393,7 @@
"centroid"
],
"icon": "circle:white;./assets/layers/fitness_station/fitness.svg",
"iconSize": "40,40,center",
"iconSize": "40,40",
"iconBadges": [
{
"if": {
@ -404,7 +404,8 @@
},
"then": "icons.isOpen"
}
]
],
"anchor": "center"
}
],
"filter": [

View file

@ -4,12 +4,11 @@
"en": "OSM objects with FIXME tags",
"de": "OSM-Objekte mit FIXME-Tags"
},
"minzoom": 12,
"minzoom": 16,
"description": {
"en": "OSM objects that likely need to be fixed, based on a FIXME tag.",
"de": "OSM-Objekte, die wahrscheinlich korrigiert werden müssen, basierend auf einem FIXME-Tag."
},
"shownByDefault": false,
"syncSelection": "theme-only",
"source": {
"osmTags": {
@ -28,6 +27,21 @@
"tagRenderings": [
{
"id": "fixme",
"freeform": {
"key": "fixme",
"type": "text"
},
"question": {
"en": "What is wrong with this feature?"
},
"mappings": [
{
"if": "fixme=",
"then": {
"en": "This issue has been resolved"
}
}
],
"render": {
"en": "Fixme Text: {fixme}",
"de": "Fixme Text: {fixme}"
@ -49,7 +63,8 @@
"centroid",
"point"
],
"icon": "./assets/svg/bug.svg"
"icon": "./assets/svg/bug.svg",
"label": "<div class='bg-white rounded p-2'>{fixme}</div>"
},
{
"color": "#ff0000",

View file

@ -232,11 +232,12 @@
"mapRendering": [
{
"icon": "./assets/layers/ghost_bike/ghost_bike.svg",
"iconSize": "40,40,bottom",
"iconSize": "40,40",
"location": [
"point",
"centroid"
]
],
"anchor": "bottom"
}
],
"description": {

View file

@ -64,14 +64,13 @@
],
"mapRendering": [
{
"icon": {
"render": "circle:white;./assets/layers/governments/government.svg"
},
"iconSize": "40,40,center",
"icon": "circle:white;./assets/layers/governments/government.svg",
"iconSize": "40,40",
"location": [
"point",
"centroid"
]
],
"anchor": "center"
}
]
}

View file

@ -14,7 +14,7 @@
}
]
},
"iconSize": "40,40,center",
"iconSize": "40,40",
"pitchAlignment": "map",
"rotation": {
"render": "0deg",
@ -33,7 +33,8 @@
"location": [
"point",
"centroid"
]
],
"anchor": "center"
}
]
}

View file

@ -12,7 +12,8 @@
"centroid"
],
"icon": "square:red",
"iconSize": "5,5,center"
"iconSize": "5,5",
"anchor": "center"
}
]
}

View file

@ -4,7 +4,10 @@
"minzoom": 0,
"source": "special",
"title": {
"render": "Your travelled path"
"render": {
"en": "Your travelled path",
"nl": "Jouw traject"
}
},
"shownByDefault": false,
"tagRenderings": [

View file

@ -334,21 +334,16 @@
}
]
},
"iconSize": {
"render": "40,40,center"
},
"iconSize": "40,40",
"location": [
"point",
"centroid"
]
],
"anchor": "center"
},
{
"color": {
"render": "#00f"
},
"width": {
"render": "8"
}
"color": "#00f",
"width": "8"
}
],
"allowMove": true,

View file

@ -5,12 +5,8 @@
"source": "special",
"mapRendering": [
{
"icon": {
"render": "circle:white;./assets/svg/home.svg"
},
"iconSize": {
"render": "20,20,center"
},
"icon": "circle:white;./assets/svg/home.svg",
"iconSize": "20,20",
"location": [
"point",
"centroid"

View file

@ -112,14 +112,13 @@
],
"mapRendering": [
{
"icon": {
"render": "circle:white;./assets/layers/hospital/hospital.svg"
},
"iconSize": "40,40,center",
"icon": "circle:white;./assets/layers/hospital/hospital.svg",
"iconSize": "40,40",
"location": [
"point",
"centroid"
]
],
"anchor": "center"
},
{
"color": "#fcd862",

View file

@ -55,7 +55,8 @@
"centroid"
],
"icon": "circle:white;./assets/layers/hotel/hotel.svg",
"iconSize": "40,40,center"
"iconSize": "40,40",
"anchor": "center"
}
],
"tagRenderings": [

View file

@ -492,24 +492,17 @@
],
"mapRendering": [
{
"icon": {
"render": "./assets/themes/hailhydrant/hydrant.svg"
},
"iconSize": {
"render": "20,20,center"
},
"icon": "./assets/themes/hailhydrant/hydrant.svg",
"iconSize": "20,20",
"location": [
"point",
"centroid"
]
],
"anchor": "center"
},
{
"color": {
"render": "#00f"
},
"width": {
"render": "8"
}
"color": "#00f",
"width": "8"
}
],
"units": [

View file

@ -9,7 +9,8 @@
"centroid"
],
"icon": "square:red;",
"iconSize": "15,15,center"
"iconSize": "15,15",
"anchor": "center"
}
],
"title": "Import candidate",

View file

@ -151,15 +151,9 @@
],
"mapRendering": [
{
"color": {
"render": "#d3d7d588"
},
"width": {
"render": "8"
},
"offset": {
"render": "-4"
},
"color": "#d3d7d588",
"width": "8",
"offset": "-4",
"fill": "no"
},
{
@ -245,7 +239,8 @@
}
]
},
"iconSize": "15,15, bottom"
"iconSize": "15,15",
"anchor": "bottom"
}
]
}

View file

@ -68,20 +68,15 @@
},
"mapRendering": [
{
"icon": {
"render": "./assets/layers/information_board/board.svg"
},
"iconSize": {
"render": "40,40,center"
},
"icon": "./assets/layers/information_board/board.svg",
"iconSize": "40,40",
"location": [
"point"
]
],
"anchor": "center"
},
{
"color": {
"render": "#00f"
}
"color": "#00f"
}
],
"description": {

View file

@ -126,6 +126,7 @@
"location": [
"point"
],
"anchor": "bottom",
"iconSize": {
"mappings": [
{
@ -135,10 +136,10 @@
"has_presets=no"
]
},
"then": "40,40,bottom"
"then": "40,40"
}
],
"render": "40,50,bottom"
"render": "40,50"
}
}
],

View file

@ -264,21 +264,16 @@
}
]
},
"iconSize": {
"render": "50,50,center"
},
"iconSize": "50,50",
"location": [
"point",
"centroid"
]
],
"anchor": "center"
},
{
"color": {
"render": "#00f"
},
"width": {
"render": "8"
}
"color": "#00f",
"width": "8"
}
]
}

View file

@ -54,7 +54,8 @@
}
]
},
"iconSize": "40,40,bottom"
"iconSize": "40,40",
"anchor": "bottom"
}
],
"tagRenderings": [

View file

@ -67,7 +67,8 @@
}
]
},
"iconSize": "40,40,bottom"
"iconSize": "40,40",
"anchor": "bottom"
}
],
"tagRenderings": [

View file

@ -130,13 +130,12 @@
}
]
},
"iconSize": {
"render": "32,32,center"
},
"iconSize": "32,32",
"location": [
"point",
"projected_centerpoint"
]
],
"anchor": "center"
},
{
"color": {
@ -148,9 +147,7 @@
}
]
},
"width": {
"render": "3"
}
"width": "3"
}
],
"units": [

View file

@ -12,12 +12,8 @@
},
"mapRendering": [
{
"color": {
"render": "#ccc"
},
"width": {
"render": "3"
}
"color": "#ccc",
"width": "3"
}
],
"shownByDefault": false

View file

@ -527,24 +527,17 @@
],
"mapRendering": [
{
"icon": {
"render": "./assets/layers/nature_reserve/nature_reserve.svg"
},
"iconSize": {
"render": "50,50,center"
},
"icon": "./assets/layers/nature_reserve/nature_reserve.svg",
"iconSize": "50,50",
"location": [
"point",
"centroid"
]
],
"anchor": "center"
},
{
"color": {
"render": "#3c3"
},
"width": {
"render": "1"
}
"color": "#3c3",
"width": "1"
}
]
}

View file

@ -105,15 +105,15 @@
"centroid"
],
"icon": {
"render": "./assets/svg/note.svg",
"render": "note",
"mappings": [
{
"if": "closed_at~*",
"then": "./assets/svg/resolved.svg"
"then": "resolved"
}
]
},
"iconSize": "40,40,bottom",
"iconSize": "40,40",
"iconBadges": [
{
"if": "_total_comments>1",
@ -123,7 +123,8 @@
"if": "_is_import_note~*",
"then": "addSmall"
}
]
],
"anchor": "bottom"
}
],
"filter": [

View file

@ -316,16 +316,13 @@
},
"mapRendering": [
{
"icon": {
"render": "circle:white;./assets/layers/observation_tower/Tower_observation.svg"
},
"iconSize": {
"render": "40,40,center"
},
"icon": "circle:white;./assets/layers/observation_tower/Tower_observation.svg",
"iconSize": "40,40",
"location": [
"point",
"centroid"
]
],
"anchor": "center"
}
]
}

View file

@ -37,19 +37,16 @@
],
"mapRendering": [
{
"icon": {
"render": "pin:#6BC4F7;./assets/layers/osm_community_index/osm.svg"
},
"iconSize": "40,40,bottom",
"icon": "pin:#6BC4F7;./assets/layers/osm_community_index/osm.svg",
"iconSize": "40,40",
"location": [
"point"
]
],
"anchor": "bottom"
},
{
"color": "#444444",
"width": {
"render": "1"
}
"width": "1"
}
],
"filter": [

View file

@ -270,11 +270,12 @@
"then": "icons.isOpen"
}
],
"iconSize": "40,40,center",
"iconSize": "40,40",
"location": [
"point",
"centroid"
]
],
"anchor": "center"
}
]
}

View file

@ -257,12 +257,8 @@
},
"mapRendering": [
{
"icon": {
"render": "./assets/layers/parking/parking.svg"
},
"iconSize": {
"render": "36,36,center"
},
"icon": "./assets/layers/parking/parking.svg",
"iconSize": "36,36",
"location": [
"point",
"centroid"
@ -277,7 +273,8 @@
},
"then": "circle:white;./assets/layers/toilet/wheelchair.svg"
}
]
],
"anchor": "center"
},
{
"width": 2,

View file

@ -195,11 +195,12 @@
}
]
},
"iconSize": "20,20,center",
"iconSize": "20,20",
"location": [
"point",
"centroid"
]
],
"anchor": "center"
},
{
"color": "#696969",

View file

@ -88,7 +88,8 @@
"centroid"
],
"icon": "square:white;./assets/layers/parking_ticket_machine/parking_tickets.svg",
"iconSize": "20,20,center"
"iconSize": "20,20",
"anchor": "center"
}
]
}

View file

@ -113,10 +113,8 @@
],
"mapRendering": [
{
"icon": {
"render": "./assets/layers/pharmacy/pharmacy.svg"
},
"iconSize": "40,40,bottom",
"icon": "./assets/layers/pharmacy/pharmacy.svg",
"iconSize": "40,40",
"location": [
"point",
"centroid"
@ -134,7 +132,8 @@
"then": "<div style='background: white; padding: 0.25em; border-radius:0.5em'>{name}</div>"
}
]
}
},
"anchor": "bottom"
}
],
"filter": [

View file

@ -62,14 +62,13 @@
],
"mapRendering": [
{
"icon": {
"render": "circle:white;./assets/layers/physiotherapist/doctors.svg"
},
"iconSize": "40,40,center",
"icon": "circle:white;./assets/layers/physiotherapist/doctors.svg",
"iconSize": "40,40",
"location": [
"point",
"centroid"
]
],
"anchor": "center"
}
],
"deletion": true,

View file

@ -131,16 +131,13 @@
},
"mapRendering": [
{
"icon": {
"render": "circle:#e6cf39;./assets/layers/picnic_table/picnic_table.svg"
},
"iconSize": {
"render": "35,35,center"
},
"icon": "circle:#e6cf39;./assets/layers/picnic_table/picnic_table.svg",
"iconSize": "35,35",
"location": [
"point",
"centroid"
]
],
"anchor": "center"
}
]
}

View file

@ -109,13 +109,12 @@
"mapRendering": [
{
"icon": "./assets/layers/play_forest/icon.svg",
"iconSize": {
"render": "40,40,center"
},
"iconSize": "40,40",
"location": [
"point",
"centroid"
]
],
"anchor": "center"
},
{
"color": "#007055",

View file

@ -596,9 +596,7 @@
},
"mapRendering": [
{
"icon": {
"render": "./assets/themes/playgrounds/playground.svg"
},
"icon": "./assets/themes/playgrounds/playground.svg",
"iconBadges": [
{
"if": {
@ -637,12 +635,8 @@
]
},
{
"color": {
"render": "#5dbaa9"
},
"width": {
"render": "1"
}
"color": "#5dbaa9",
"width": "1"
}
]
}

View file

@ -79,24 +79,17 @@
},
"mapRendering": [
{
"icon": {
"render": "./assets/layers/postboxes/postbox.svg"
},
"iconSize": {
"render": "40,40,bottom"
},
"icon": "./assets/layers/postboxes/postbox.svg",
"iconSize": "40,40",
"location": [
"point",
"centroid"
]
],
"anchor": "bottom"
},
{
"color": {
"render": "#DADADA"
},
"width": {
"render": "1"
}
"color": "#DADADA",
"width": "1"
}
]
}

View file

@ -433,9 +433,7 @@
],
"mapRendering": [
{
"icon": {
"render": "square:white;./assets/layers/postoffices/post_office.svg"
},
"icon": "square:white;./assets/layers/postoffices/post_office.svg",
"iconBadges": [
{
"if": "opening_hours~*",
@ -446,11 +444,12 @@
"then": "./assets/themes/shops/shop.svg"
}
],
"iconSize": "40,40,center",
"iconSize": "40,40",
"location": [
"point",
"centroid"
]
],
"anchor": "center"
},
{
"color": "#DADADA",

View file

@ -522,9 +522,7 @@
],
"mapRendering": [
{
"icon": {
"render": "circle:#ffffff;./assets/themes/bookcases/bookcase.svg"
},
"icon": "circle:#ffffff;./assets/themes/bookcases/bookcase.svg",
"label": {
"mappings": [
{
@ -539,12 +537,8 @@
]
},
{
"color": {
"render": "#0000ff"
},
"width": {
"render": "8"
}
"color": "#0000ff",
"width": "8"
}
]
}

View file

@ -119,11 +119,12 @@
}
]
},
"iconSize": "40,40,center",
"iconSize": "40,40",
"location": [
"point",
"centroid"
]
],
"anchor": "center"
},
{
"color": "red",

View file

@ -30,7 +30,8 @@
"centroid"
],
"icon": "circle:white;./assets/layers/reception_desk/reception_desk.svg",
"iconSize": "40,40,center"
"iconSize": "40,40",
"anchor": "center"
}
],
"tagRenderings": [

View file

@ -388,13 +388,12 @@
}
]
},
"iconSize": {
"render": "40,40,center"
},
"iconSize": "40,40",
"location": [
"point",
"centroid"
]
],
"anchor": "center"
},
{
"color": "#fcd862",

View file

@ -11,13 +11,14 @@
"mapRendering": [
{
"icon": "circle:red",
"iconSize": "1,1,center",
"iconSize": "1,1",
"location": [
"point",
"projected_centerpoint"
],
"css": "box-shadow: red 0 0 20px 20px; z-index: -1; height: 1px; width: 1px;",
"cssClasses": "block relative rounded-full"
"cssClasses": "block relative rounded-full",
"anchor": "center"
}
]
}

View file

@ -360,21 +360,16 @@
}
]
},
"iconSize": {
"render": "40,40,center"
},
"iconSize": "40,40",
"location": [
"point",
"centroid"
]
],
"anchor": "center"
},
{
"color": {
"render": "#00f"
},
"width": {
"render": "8"
}
"color": "#00f",
"width": "8"
}
],
"filter": [

View file

@ -253,12 +253,8 @@
]
},
{
"color": {
"render": "#eaba2a"
},
"width": {
"render": "7"
},
"color": "#eaba2a",
"width": "7",
"dashArray": {
"render": "",
"mappings": [

View file

@ -12,7 +12,8 @@
"centroid"
],
"icon": "circle:white;./assets/svg/scissors.svg",
"iconSize": "30,30,center"
"iconSize": "30,30",
"anchor": "center"
}
]
}

View file

@ -11,7 +11,8 @@
"point"
],
"icon": "bug",
"iconSize": "30,30,center"
"iconSize": "30,30",
"anchor": "center"
},
{
"width": "8",

View file

@ -43,7 +43,8 @@
"then": "circle:{light:colour}"
}
],
"iconSize": "40,40,bottom"
"iconSize": "40,40",
"anchor": "bottom"
}
],
"presets": [

View file

@ -647,12 +647,8 @@
}
},
{
"color": {
"render": "#f00"
},
"width": {
"render": "8"
}
"color": "#f00",
"width": "8"
}
],
"deletion": true,

View file

@ -169,9 +169,7 @@
"point",
"centroid"
],
"iconSize": {
"render": "40,40,center"
},
"iconSize": "40,40",
"label": {
"mappings": [
{
@ -180,7 +178,8 @@
}
]
},
"icon": "circle:white;./assets/layers/school/college.svg"
"icon": "circle:white;./assets/layers/school/college.svg",
"anchor": "center"
},
{
"color": "#22f1f4",

View file

@ -86,11 +86,12 @@
"mapRendering": [
{
"icon": "square:lightblue;./assets/themes/stations/public_transport_tickets.svg",
"iconSize": "20,20,center",
"iconSize": "20,20",
"location": [
"point",
"centroid"
]
],
"anchor": "center"
}
],
"allowMove": true,

View file

@ -114,11 +114,12 @@
"mapRendering": [
{
"icon": "square:green;./assets/themes/stations/public_transport_tickets.svg",
"iconSize": "20,20,center",
"iconSize": "20,20",
"location": [
"point",
"centroid"
]
],
"anchor": "center"
}
],
"allowMove": true,

View file

@ -222,12 +222,11 @@
}
]
},
"iconSize": {
"render": "35,35,center"
},
"iconSize": "35,35",
"location": [
"point"
]
],
"anchor": "center"
},
{
"color": {
@ -239,12 +238,8 @@
}
]
},
"width": {
"render": "3"
},
"dashArray": {
"render": "5 5"
}
"width": "3",
"dashArray": "5 5"
}
]
}

View file

@ -846,13 +846,12 @@
}
]
},
"iconSize": {
"render": "40,40,bottom"
},
"iconSize": "40,40",
"location": [
"point",
"centroid"
]
],
"anchor": "bottom"
}
],
"description": {

View file

@ -67,7 +67,7 @@
"centroid"
],
"icon": "./assets/layers/veterinary/vet.svg",
"iconSize": "30,40,center",
"iconSize": "30,40",
"label": {
"mappings": [
{
@ -81,7 +81,8 @@
"if": "opening_hours~*",
"then": "icons.isOpen"
}
]
],
"anchor": "center"
},
{
"color": "#ff0",

View file

@ -81,10 +81,11 @@
"mapRendering": [
{
"icon": "./assets/layers/viewpoint/viewpoint.svg",
"iconSize": "20,20,center",
"iconSize": "20,20",
"location": [
"point"
]
],
"anchor": "center"
},
{
"color": "#ffffff",

Some files were not shown because too many files have changed in this diff Show more