Hi beek,
I am not an expert, but
...
I think the return statement has nothing to do here
(should be useful to return a value to a javascript function)... Also, if I am not on mistake the return ends the function so the following line code is not executed...
So, try this:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

function distance(lat1, lon1, lat2, lon2, unit) {
var radlat1 = Math.PI * lat1/180
var radlat2 = Math.PI * lat2/180
var radlon1 = Math.PI * lon1/180
var radlon2 = Math.PI * lon2/180
var theta = lon1lon2
var radtheta = Math.PI * theta/180
var dist = Math.sin(radlat1) * Math.sin(radlat2) + Math.cos(radlat1) * Math.cos(radlat2) * Math.cos(radtheta);
dist = Math.acos(dist)
dist = dist * 180/Math.PI
dist = dist * 60 * 1.1515
if (unit=="K") { dist = dist * 1.609344 }
if (unit=="N") { dist = dist * 0.8684 }
krpano().set("dist", dist);
}

Hope this help...
I am curios to see the usage of your code. What is it for? ...
SAlut.