Is there a function....?, may be, but certainly there is a general formula (even valid in R^n). I really appreciate that "RegionDistance"-stuff, but I prefer an old fashioned understandable way. The line is given by two points v[x] and v[y] and can be written for all t as
g1 = v[x] (1 - t) + v[y] t
Then the square of the distance of any point on the line to a point v[p] is given by
e1 = Distribute[(v[p] - g1).(v[p] - g1)]
We can rewrite this
e2 = e1 /. Dot[Times[x_., v[u_]], Times[y_., v[w_]]] -> x y (v[u].v[w])
e3 = e2 // Expand
Now we can ask for that t yielding the point giving the shortest distance to g1
e4 = D[e3, t] == 0
sol = ((Solve[e4, t] // FullSimplify) /. {v[y].v[x] -> v[x].v[y],v[u_].v[p] -> v[p].v[u]})[[1, 1]]
and this gives for the square of the distance asked for
e5 = (e3 /. sol) // FullSimplify
For your example
e5 /. {v[x] -> {-3700, -690}, v[y] -> {-3500, 765}, v[p] -> {0, 0}};
Sqrt[%] // N
(* 3571.57 *)