forked from MapComplete/MapComplete
Feature(distancePicker): revive geographical distance picker
This commit is contained in:
parent
e997653284
commit
5095bffc50
16 changed files with 245 additions and 107 deletions
|
|
@ -32,6 +32,27 @@ export class AvailableRasterLayers {
|
|||
|
||||
public static readonly globalLayers: ReadonlyArray<RasterLayerPolygon> =
|
||||
AvailableRasterLayers.initGlobalLayers()
|
||||
public static bing = <RasterLayerPolygon>bingJson
|
||||
public static readonly osmCartoProperties: RasterLayerProperties = {
|
||||
id: "osm",
|
||||
name: "OpenStreetMap",
|
||||
url: "https://tile.openstreetmap.org/{z}/{x}/{y}.png",
|
||||
attribution: {
|
||||
text: "OpenStreetMap",
|
||||
url: "https://openStreetMap.org/copyright"
|
||||
},
|
||||
best: true,
|
||||
max_zoom: 19,
|
||||
min_zoom: 0,
|
||||
category: "osmbasedmap"
|
||||
}
|
||||
public static readonly osmCarto: RasterLayerPolygon = {
|
||||
type: "Feature",
|
||||
properties: AvailableRasterLayers.osmCartoProperties,
|
||||
geometry: BBox.global.asGeometry()
|
||||
}
|
||||
|
||||
public static allAvailableGlobalLayers = new Set([...AvailableRasterLayers.globalLayers, AvailableRasterLayers.osmCarto, AvailableRasterLayers.bing])
|
||||
|
||||
private static initGlobalLayers(): RasterLayerPolygon[] {
|
||||
const gl: RasterLayerProperties[] = (globallayers["default"] ?? globallayers).layers.filter(
|
||||
|
|
@ -54,26 +75,7 @@ export class AvailableRasterLayers {
|
|||
)
|
||||
}
|
||||
|
||||
public static bing = <RasterLayerPolygon>bingJson
|
||||
public static readonly osmCartoProperties: RasterLayerProperties = {
|
||||
id: "osm",
|
||||
name: "OpenStreetMap",
|
||||
url: "https://tile.openstreetmap.org/{z}/{x}/{y}.png",
|
||||
attribution: {
|
||||
text: "OpenStreetMap",
|
||||
url: "https://openStreetMap.org/copyright",
|
||||
},
|
||||
best: true,
|
||||
max_zoom: 19,
|
||||
min_zoom: 0,
|
||||
category: "osmbasedmap",
|
||||
}
|
||||
|
||||
public static readonly osmCarto: RasterLayerPolygon = {
|
||||
type: "Feature",
|
||||
properties: AvailableRasterLayers.osmCartoProperties,
|
||||
geometry: BBox.global.asGeometry(),
|
||||
}
|
||||
|
||||
/**
|
||||
* The default background layer that any theme uses which does not explicitly define a background
|
||||
|
|
|
|||
|
|
@ -1,10 +1,7 @@
|
|||
import { DesugaringStep } from "./Conversion"
|
||||
import { TagRenderingConfigJson } from "../Json/TagRenderingConfigJson"
|
||||
import { LayerConfigJson } from "../Json/LayerConfigJson"
|
||||
import {
|
||||
MappingConfigJson,
|
||||
QuestionableTagRenderingConfigJson,
|
||||
} from "../Json/QuestionableTagRenderingConfigJson"
|
||||
import { MappingConfigJson, QuestionableTagRenderingConfigJson } from "../Json/QuestionableTagRenderingConfigJson"
|
||||
import { ConversionContext } from "./ConversionContext"
|
||||
import { Translation } from "../../../UI/i18n/Translation"
|
||||
import { TagUtils } from "../../../Logic/Tags/TagUtils"
|
||||
|
|
@ -216,6 +213,14 @@ export class MiscTagRenderingChecks extends DesugaringStep<TagRenderingConfigJso
|
|||
"No need to explicitly set type to 'NSI', autodetected based on freeform type"
|
||||
)
|
||||
}
|
||||
|
||||
if (json.freeform["type"] && json.freeform["helperArgs"]) {
|
||||
const validator = Validators.get(json.freeform["type"])
|
||||
const feedback = validator?.validateArguments(json.freeform["helperArgs"])
|
||||
if (feedback) {
|
||||
context.enters("freeform", "helperArgs").err(feedback)
|
||||
}
|
||||
}
|
||||
}
|
||||
if (json.render && json["question"] && json.freeform === undefined) {
|
||||
context.err(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue