Stephan Bösch-Plepelits
2 years ago
5 changed files with 140 additions and 16 deletions
-
37example3.yaml
-
35example4.yaml
-
29example5.yaml
-
20roads1.yaml
-
33roads2.yaml
@ -1,20 +1,27 @@ |
|||
type: overpass |
|||
# Adding a category name (in English: "Example 3") |
|||
name: |
|||
en: Roads # English name of the category |
|||
en: Example 3 |
|||
query: |
|||
9: way[highway~"^(motorway|trunk)$"]; |
|||
11: way[highway~"^(motorway|trunk|primary)$"]; |
|||
13: way[highway~"^(motorway|trunk|primary|secondary|tertiary)$"]; |
|||
15: way[highway~"^(motorway|trunk|primary|secondary|tertiary|road|residential)$"]; |
|||
15: nwr[amenity=fountain] |
|||
# This query uses a regular expression to match either fountain or drinking_water: |
|||
17: nwr[amenity~"^(fountain|drinking_water)$"] |
|||
feature: |
|||
description: | |
|||
{{ tagTrans('highway', tags.highway) }} |
|||
markerSymbol: # empty, to hide the marker |
|||
listMarkerSymbol: line |
|||
style: |
|||
width: 4 |
|||
color: | |
|||
{% if tags.highway == 'motorway' %}#ff0000 |
|||
{% elseif tags.highway == 'trunk' %}#ff3f00 |
|||
{% elseif tags.highway == 'primary' %}#ff7f00 |
|||
{% else %}#ffff00{% endif %} |
|||
{{ tagTrans('amenity', tags.amenity) }} |
|||
# Here, the correct icon for display is read from the 'const' structure |
|||
markerSign: | |
|||
{{ const[tags.amenity].icon }} |
|||
# We can use different markers depending on the type of item |
|||
markerSymbol: | |
|||
{{ markerPointer({ fillColor: const[tags.amenity].color }) }} |
|||
# This is for the marker in the listing in the sidebar |
|||
listMarkerSymbol: | |
|||
{{ markerCircle({ fillColor: const[tags.amenity].color }) }} |
|||
const: |
|||
fountain: |
|||
icon: ⛲ |
|||
color: '#0000ff' # need to quote, because YAML would treat the color as comment |
|||
drinking_water: |
|||
icon: 🚰 |
|||
color: '#007fff' |
@ -0,0 +1,35 @@ |
|||
type: overpass |
|||
name: |
|||
en: Example 4 |
|||
de: Beispiel 4 |
|||
query: |
|||
15: nwr[amenity=fountain] |
|||
17: nwr[amenity~"^(fountain|drinking_water)$"] |
|||
feature: |
|||
description: | |
|||
{{ tagTrans('amenity', tags.amenity) }} |
|||
# Here, the correct icon for display is read from the 'const' structure |
|||
markerSign: | |
|||
{{ const[tags.amenity].icon }} |
|||
markerSymbol: | |
|||
{{ markerPointer({ fillColor: const[tags.amenity].color }) }} |
|||
listMarkerSymbol: | |
|||
{{ markerCircle({ fillColor: const[tags.amenity].color }) }} |
|||
info: | |
|||
<table> |
|||
{% for value, data in const if data.zoom <= map.zoom %} |
|||
<tr> |
|||
<td>{{ markerCircle({ fillColor: data.color }) }}<div class='sign'>{{ data.icon }}</div></td> |
|||
<td>{{ tagTrans('amenity', value) }}</td> |
|||
</tr> |
|||
{% endfor %} |
|||
</table> |
|||
const: |
|||
fountain: |
|||
icon: ⛲ |
|||
color: '#0000ff' |
|||
zoom: 15 |
|||
drinking_water: |
|||
icon: 🚰 |
|||
color: '#007fff' |
|||
zoom: 17 |
@ -0,0 +1,29 @@ |
|||
type: overpass |
|||
name: |
|||
en: Example 5 |
|||
query: |
|||
15: nwr[amenity=restaurant] |
|||
feature: |
|||
description: | |
|||
{{ tagTrans('amenity', tags.amenity) }} |
|||
# Details are written to the right side of the popup / the box in the list. |
|||
# tagTransList is a function, which splits the value by ';' and translates |
|||
# each value individually. They are joined as enumeration. |
|||
details: | |
|||
{{ tagTransList('cuisine', tags.cuisine) }} |
|||
filter: |
|||
cuisine: |
|||
name: "{{ keyTrans('cuisine') }}" |
|||
type: select |
|||
key: cuisine |
|||
op: has # query semicolon-separated lists |
|||
values: | |
|||
{% for value in const.cuisine %} |
|||
<option value='{{ value }}'>{{ tagTrans('cuisine', value) }}</option> |
|||
{% endfor %} |
|||
<option value='-' query='nwr[!cuisine]' weight='1'>{{ trans('empty value') }}</option> |
|||
<option value='*' query='nwr[cuisine]' weight='1'>Any value</option> |
|||
# The option will be ordered by text content. Set 'weight' option to override order. |
|||
# Also, the last two options set an explicit OverpassQL query. |
|||
const: |
|||
cuisine: ["pizza", "burger", "kebab"] |
@ -0,0 +1,20 @@ |
|||
type: overpass |
|||
name: |
|||
en: Roads 1 # English name of the category |
|||
query: |
|||
9: way[highway~"^(motorway|trunk)$"]; |
|||
11: way[highway~"^(motorway|trunk|primary)$"]; |
|||
13: way[highway~"^(motorway|trunk|primary|secondary|tertiary)$"]; |
|||
15: way[highway~"^(motorway|trunk|primary|secondary|tertiary|road|residential)$"]; |
|||
feature: |
|||
description: | |
|||
{{ tagTrans('highway', tags.highway) }} |
|||
markerSymbol: # empty, to hide the marker |
|||
listMarkerSymbol: line # show a line which is generated from the style |
|||
style: |
|||
width: 4 |
|||
color: | |
|||
{% if tags.highway == 'motorway' %}#ff0000 |
|||
{% elseif tags.highway == 'trunk' %}#ff3f00 |
|||
{% elseif tags.highway == 'primary' %}#ff7f00 |
|||
{% else %}#ffff00{% endif %} |
@ -0,0 +1,33 @@ |
|||
type: overpass |
|||
name: |
|||
en: Roads 2 # English name of the category |
|||
query: |
|||
9: way[highway~"^(motorway|trunk)$"]; |
|||
11: way[highway~"^(motorway|trunk|primary)$"]; |
|||
13: way[highway~"^(motorway|trunk|primary|secondary|tertiary)$"]; |
|||
15: way[highway~"^(motorway|trunk|primary|secondary|tertiary|road|residential)$"]; |
|||
feature: |
|||
description: | |
|||
{{ tagTrans('highway', tags.highway) }} |
|||
markerSymbol: # empty, to hide the marker |
|||
listMarkerSymbol: line # show a line which is generated from the style |
|||
style:casing: |
|||
width: 8 |
|||
color: '#000000' |
|||
pane: casing # use the predefined 'casing' pane, so that this line is below the 'style' |
|||
style: |
|||
width: 4 |
|||
color: | |
|||
{{ (const[tags.highway]|default(const.default)).color }} |
|||
text: | |
|||
{{ tags.name }} |
|||
textOffset: -8 |
|||
const: |
|||
motorway: |
|||
color: '#ff0000' |
|||
trunk: |
|||
color: '#ff3f00' |
|||
primary: |
|||
color: '#ff7f00' |
|||
default: |
|||
color: '#ffff00' |
Write
Preview
Loading…
Cancel
Save
Reference in new issue