diff --git a/water.json b/water.json index 438a6c7e8..c71a725a7 100644 --- a/water.json +++ b/water.json @@ -22,23 +22,39 @@ "nwr[natural~\"^(water|divide|bay|strait|spring|hot_spring|geyser)$\"];", "relation[type=multipolygon][natural=water];", "relation[type=multipolygon][waterway=riverbank];", - "way[waterway];", + "nwr[waterway];", ")" ] }, "feature": { - "description": [ + "pre": [ "{% if tags.waterway %}", - "{{ tagTrans('waterway', tags.waterway) }}", + " {% set key = 'waterway' %}", + " {% set value = tags.waterway %}", "{% elseif tags.water %}", - "{{ tagTrans('water', tags.water) }}", + " {% set key = 'water' %}", + " {% set value = tags.water %}", "{% elseif tags.natural %}", - "{{ tagTrans('natural', tags.natural) }}", + " {% set key = 'natural' %}", + " {% set value = tags.natural %}", + "{% endif %}", + "{% set kv = key ~ '=' ~ value %}" + ], + "description": [ + "{{ tagTrans(key, value) }}" + ], + "markerSign": [ + "{{ const[kv].sign|raw }}" + ], + "markerSymbol": [ + "{% if const[kv].symbol == 'pointer' %}", + "{{ markerPointer({ fillColor: '#3388ff' })|raw }}", "{% endif %}" ], - "markerSymbol": null, "listMarkerSymbol": [ - "{% if tags.natural == 'water' %}", + "{% if const[kv].symbol == 'pointer' %}", + "{{ markerCircle({ fillColor: '#3388ff' })|raw }}", + "{% elseif tags.natural == 'water' %}", "polygon", "{% else %}", "line", @@ -88,6 +104,24 @@ "textRepeat": "1" } }, + "const": { + "natural=spring": { + "sign": "<i class='fas fa-water'></i>", + "symbol": "pointer" + }, + "natural=hot_spring": { + "sign": "<i style='color: orange;' class='fas fa-water'></i>", + "symbol": "pointer" + }, + "natural=geyser": { + "sign": "<i style='color: red;' class='fas fa-water'></i>", + "symbol": "pointer" + }, + "waterway=waterfall": { + "sign": "<img data-src='maki:waterfall'>", + "symbol": "pointer" + } + }, "info": [ "<table>", " <tr>", @@ -112,6 +146,12 @@ " <td>{{ markerLine(evaluate({ \"waterway\": \"dam\" }))|raw }}</td>", " <td>{{ tagTrans('waterway', 'dam') }}, {{ tagTrans('waterway', 'weir') }}</td>", " </tr>", + " {% for k, data in const %}", + " <tr>", + " <td>{{ markerCircle({ fillColor: '#3388ff' })|raw }}<div class='sign'>{{ data.sign|raw }}</div></td>", + " <td>{{ tagTrans(k) }}</td>", + " </tr>", + " {% endfor %}", "{% endif %}", " <tr>", " <td>{{ markerLine(evaluate({ \"natural\": \"divide\" }))|raw }}</td>",