diff --git a/modules/svg/turns.js b/modules/svg/turns.js index 77c413563..62c43aa03 100644 --- a/modules/svg/turns.js +++ b/modules/svg/turns.js @@ -1,4 +1,4 @@ -import { geoAngle } from '../geo/index'; +import { geoAngle, geoVecLength } from '../geo'; export function svgTurns(projection) { @@ -67,7 +67,9 @@ export function svgTurns(projection) { var v = graph.entity(turn.to.vertex); var a = geoAngle(v, t, projection); var p = projection(v.loc); - var r = turn.u ? 0 : 60; + var q = projection(t.loc); + var mid = geoVecLength(p, q) / 2; + var r = turn.u ? 0 : Math.min(mid, 60); return 'translate(' + (r * Math.cos(a) + p[0]) + ',' + (r * Math.sin(a) + p[1]) + ') ' + 'rotate(' + a * 180 / Math.PI + ')';