private Sub GeoDist(A As Location,B As Location) As Double
Dim EarthRadius As Double, PiGrec As Double, X As Double, Y As Double, dLon As Double
Dim Lat1,Lat2 As Double
Dim v1,v2 As Double
EarthRadius= 6372.8 ' Km
PiGrec = 3.1415926535
Lat1 = A.Latitude * PiGrec / 180
Lat2 = B.Latitude * PiGrec / 180
dLon = (B.Longitude - A.Longitude) * PiGrec / 180
X = Sin(Lat1) * Sin(Lat2) + Cos(Lat1) * Cos(Lat2) * Cos(dLon)
v1=Cos(Lat2) * Sin(dLon)
v2=Cos(Lat1) * Sin(Lat2) - Sin(Lat1) * Cos(Lat2) * Cos(dLon)
Y = Sqrt( v1 * v1 + v2 * v2)
Return ATan2(Y, X) * EarthRadius*1000 ' meters
End Sub