Main categories of OpenStreetBrowser
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

92 lines
3.1 KiB

  1. {
  2. "type": "overpass",
  3. "name": {
  4. "en": "Fitness trails"
  5. },
  6. "query": {
  7. "14": "relation[type=route][route=fitness_trail]"
  8. },
  9. "members": true,
  10. "feature": {
  11. "body": [
  12. "{% set countMembers = 0 %}",
  13. "{% for member in members %}",
  14. "{% if const.roles[member.role] %}",
  15. "{% if countMembers == 0 %}<h4>Route</h4><ul class='overpass-layer-list'>{% endif %}",
  16. "{% set countMembers = countMembers + 1 %}",
  17. "<li data-object='{{ member.id }}' data-sublayer='member'>",
  18. " <span class='markerParent'><div class='marker'>{{ markerCircle({})|raw }}</div><div class='icon'>{{ const.roles[member.role].sign|raw }}</div></span>",
  19. " <span class='title'>{{ member.tags.name|default(trans('loading')) }}</span>",
  20. "</li>",
  21. "{% endif %}",
  22. "{% endfor %}",
  23. "{% if countMembers > 0 %}</ul>{% endif %}"
  24. ],
  25. "description": "{{ tagTrans('route', 'fitness_trail') }}",
  26. "listMarkerSymbol": "{{ markerLine({ 'width': 4, 'color': '#007fff' })|raw }}",
  27. "markerSymbol": "",
  28. "style": {
  29. "opacity": 0,
  30. "z-index": 1,
  31. "width": 4
  32. },
  33. "style:hover": {
  34. "width": "4",
  35. "color": "#000000",
  36. "radius": "4"
  37. }
  38. },
  39. "memberFeature": {
  40. "pre": [
  41. "{% set master0 = masters[0] %}"
  42. ],
  43. "title": "{{ tags.name }}",
  44. "body": [
  45. "<h4>Routes</h4>",
  46. "<ul class='overpass-layer-list'>",
  47. "{% for master in masters %}",
  48. " <li data-object=\"{{ master.id }}\">",
  49. " <span class='markerParent'><div class='marker'>{{ markerLine({ width: 4, color: '#007fff' })|raw }}</div></span>",
  50. " <span class='title'>{{ master.tags.name }}</span>",
  51. " <span class='description'>{{ tagTrans('route', master.tags.route) }}</span>",
  52. " </li>",
  53. "{% endfor %}",
  54. "</ul>"
  55. ],
  56. "listExclude": "1",
  57. "style": {
  58. "color": "{{ '#007fff' }}",
  59. "width": 4,
  60. "opacity": 1,
  61. "textRepeat": "1",
  62. "textOffset": "12",
  63. "textFontWeight": "bold",
  64. "radius": "3"
  65. },
  66. "style:hover": {
  67. "radius": "4"
  68. },
  69. "markerSymbol": "{% if const.roles[master0.role] %}{{ markerPointer({})|raw }}{% endif %}",
  70. "markerSign": "{% if const.roles[master0.role] %}{{ const.roles[master0.role].sign|raw }}{% endif %} ",
  71. "popupReplace": "{% if masters|length == 1 %}{{ master0.id }}{% endif %}"
  72. },
  73. "const": {
  74. "roles": {
  75. "station": {
  76. "sign": "<img src='maki:pitch'>"
  77. },
  78. "information": {
  79. "sign": "🛈"
  80. },
  81. "start": {
  82. "sign": "⚐"
  83. },
  84. "stop": {
  85. "sign": "🏁"
  86. },
  87. "start_stop": {
  88. "sign": "⚐"
  89. }
  90. }
  91. }
  92. }