@ -42,7 +42,7 @@
] ,
] ,
"markerSymbol" : null ,
"markerSymbol" : null ,
"listMarkerSymbol" : "line" ,
"listMarkerSymbol" : "line" ,
"styles" : "{% if sidewalk_left %}sidewalk_left,{% endif %}{% if cycletrack_left %}cycletrack_left,{% endif %}{% if parking_left.width %}parking_left,{% endif %}{% if cyclelane_left %}cyclelane_left,{% endif %}{% if lanes == 1 %}lane1{% else %}{% for i in 1..lanes - 1 %}lane{{ i }},mark{{ i }},{% endfor %}lane{{ lanes }}{% endif %}{% if cyclelane_right %},cyclelane_right{% endif %}{% if parking_right.width %},parking_right{% endif %}{% if cycletrack_right %},cycletrack_right{% endif %}{% if sidewalk_right %},sidewalk_right{% endif %}" ,
"styles" : "{% if sidewalk_left %}sidewalk_left,{% endif %}{% if cycletrack_left %}cycletrack_left,{% endif %}{% if parking_left.width %}parking_left,{% if parking_left.dashDistance %}parking_left_dash,{% if parking_left_type == 'diagonal' %}parking_left_dash_diag,{% endif %}{% endif %}{% endif %}{% if cyclelane_left %}cyclelane_left,{% endif %}{% if lanes == 1 %}lane1{% else %}{% for i in 1..lanes - 1 %}lane{{ i }},mark{{ i }},{% endfor %}lane{{ lanes }}{% endif %}{% if cyclelane_right %},cyclelane_right{% endif %}{% if parking_right.width %},parking_right{% if parking_right.dashDistance %},parking_right_dash{% if parking_right_type == 'diagonal' %},parking_right_dash_diag{% endif %}{% endif %} {% endif %}{% if cycletrack_right %},cycletrack_right{% endif %}{% if sidewalk_right %},sidewalk_right{% endif %}" ,
"style" : {
"style" : {
"width" : "{{ width }}" ,
"width" : "{{ width }}" ,
"pane" : "casing" ,
"pane" : "casing" ,
@ -60,6 +60,21 @@
"offset" : "{{ lanes_width / -2 - cyclelane_left - parking_left.width / 2 }}m" ,
"offset" : "{{ lanes_width / -2 - cyclelane_left - parking_left.width / 2 }}m" ,
"pane" : "casing"
"pane" : "casing"
} ,
} ,
"style:parking_left_dash" : {
"width" : "{{ parking_left.width / (parking_left_type == 'diagonal' ? 2 : 1) }}m" ,
"color" : "{{ parking_left.dashColor }}" ,
"offset" : "{{ lanes_width / -2 - cyclelane_left - parking_left.width / 2 - (parking_left_type == 'diagonal' ? parking_left.width / 4 : 0) }}m" ,
"lineCap" : "butt" ,
"dashArray" : "1,{{ parking_left.dashDistance / map.metersPerPixel }}"
} ,
"style:parking_left_dash_diag" : {
"width" : "{{ parking_left.width / 2 }}m" ,
"color" : "{{ parking_left.dashColor }}" ,
"offset" : "{{ lanes_width / -2 - cyclelane_left - parking_left.width / 4 }}m" ,
"lineCap" : "butt" ,
"dashArray" : "1,{{ parking_left.dashDistance / map.metersPerPixel }}" ,
"dashOffset" : "{{ 0.5 / map.metersPerPixel }}"
} ,
"style:cyclelane_left" : {
"style:cyclelane_left" : {
"width" : "2m" ,
"width" : "2m" ,
"color" : "#af3f3f" ,
"color" : "#af3f3f" ,
@ -90,6 +105,21 @@
"offset" : "{{ lanes_width / 2 + cyclelane_right + parking_right.width / 2 }}m" ,
"offset" : "{{ lanes_width / 2 + cyclelane_right + parking_right.width / 2 }}m" ,
"pane" : "casing"
"pane" : "casing"
} ,
} ,
"style:parking_right_dash" : {
"width" : "{{ parking_right.width / (parking_right_type == 'diagonal' ? 2 : 1) }}m" ,
"color" : "{{ parking_right.dashColor }}" ,
"offset" : "{{ lanes_width / 2 + cyclelane_right + parking_right.width / 2 + (parking_right_type == 'diagonal' ? parking_right.width / 4 : 0) }}m" ,
"lineCap" : "butt" ,
"dashArray" : "1,{{ parking_right.dashDistance / map.metersPerPixel }}"
} ,
"style:parking_right_dash_diag" : {
"width" : "{{ parking_right.width / 2 }}m" ,
"color" : "{{ parking_right.dashColor }}" ,
"offset" : "{{ lanes_width / 2 + cyclelane_right + parking_right.width / 4 }}m" ,
"lineCap" : "butt" ,
"dashArray" : "1,{{ parking_right.dashDistance / map.metersPerPixel }}" ,
"dashOffset" : "{{ 0.5 / map.metersPerPixel }}"
} ,
"style:sidewalk_right" : {
"style:sidewalk_right" : {
"width" : "2m" ,
"width" : "2m" ,
"color" : "#4f4fbf" ,
"color" : "#4f4fbf" ,
@ -250,6 +280,18 @@
" <td>{{ keyTrans('parking:lane') }}</td>" ,
" <td>{{ keyTrans('parking:lane') }}</td>" ,
" </tr>" ,
" </tr>" ,
" <tr>" ,
" <tr>" ,
" <td>{{ markerLine({ 'styles':'lane,mark', 'style:lane': { 'width': 5, 'color': 'orange' }, 'style:mark': { 'width': 5, 'color': const.parking.parallel.dashColor, 'dashArray': '1,10' } })|raw }}</td>" ,
" <td>{{ keyTrans('parking:lane') }}: {{ tagTrans('parking:lane', 'parallel') }}</td>" ,
" </tr>" ,
" <tr>" ,
" <td>{{ markerLine({ 'styles':'lane,mark1,mark2', 'style:lane': { 'width': 5, 'color': 'orange' }, 'style:mark1': { 'width': 2.5, 'color': const.parking.diagonal.dashColor, 'dashArray': '1,7', 'offset': 1.25 }, 'style:mark2': { 'width': 2.5, 'color': const.parking.diagonal.dashColor, 'dashArray': '1,7', 'dashOffset': '2', 'offset': -1.25 } })|raw }}</td>" ,
" <td>{{ keyTrans('parking:lane') }}: {{ tagTrans('parking:lane', 'diagonal') }}</td>" ,
" </tr>" ,
" <tr>" ,
" <td>{{ markerLine({ 'styles':'lane,mark', 'style:lane': { 'width': 5, 'color': 'orange' }, 'style:mark': { 'width': 5, 'color': const.parking.perpendicular.dashColor, 'dashArray': '1,6' } })|raw }}</td>" ,
" <td>{{ keyTrans('parking:lane') }}: {{ tagTrans('parking:lane', 'perpendicular') }}</td>" ,
" </tr>" ,
" <tr>" ,
" <td>{{ markerLine({ 'width': 5, 'color': '#af3f3f' })|raw }}</td>" ,
" <td>{{ markerLine({ 'width': 5, 'color': '#af3f3f' })|raw }}</td>" ,
" <td>{{ tagTrans('cycleway', 'lane') }}</td>" ,
" <td>{{ tagTrans('cycleway', 'lane') }}</td>" ,
" </tr>" ,
" </tr>" ,
@ -267,15 +309,22 @@
"parking" : {
"parking" : {
"parallel" : {
"parallel" : {
"width" : "2" ,
"width" : "2" ,
"color" : "orange"
"color" : "orange" ,
"dashColor" : "blue" ,
"dashDistance" : "4"
} ,
} ,
"diagonal" : {
"diagonal" : {
"width" : "2.5" ,
"width" : "2.5" ,
"color" : "orange"
"color" : "orange" ,
"dashColor" : "magenta" ,
"dashDistance" : "3" ,
"dashType" : "diagonal"
} ,
} ,
"perpendicular" : {
"perpendicular" : {
"width" : "3" ,
"width" : "3" ,
"color" : "orange"
"color" : "orange" ,
"dashColor" : "red" ,
"dashDistance" : "2.5"
} ,
} ,
"no_parking" : {
"no_parking" : {
"width" : "0.5" ,
"width" : "0.5" ,