如何计算谷歌地图圆半径js到C#

Lou*_*sth 4 google-maps-api-3 c#-4.0

我知道如何使用javascript来计算半径,使用下面的代码

var center = new google.maps.LatLng(3.2987599, 102.6872022);
var latLng = new google.maps.LatLng(3.0987599, 101.6872022);
var distanceInMetres = google.maps.geometry.spherical.computeDistanceBetween(center, latLng);
Run Code Online (Sandbox Code Playgroud)

但是如何将google.maps.geometry.spherical.computeDistanceBetween转换为C#函数?

Mar*_*elo 5

2点之间的距离:(lat1,lon1)到(lat2,lon2)

distance = acos(
     cos(lat1 * (PI()/180)) *
     cos(lon1 * (PI()/180)) *
     cos(lat2 * (PI()/180)) *
     cos(lon2 * (PI()/180))
     +
     cos(lat1 * (PI()/180)) *
     sin(lon1 * (PI()/180)) *
     cos(lat2 * (PI()/180)) *
     sin(lon2 * (PI()/180))
     +
     sin(lat1 * (PI()/180)) *
     sin(lat2 * (PI()/180))
    ) * 3959
Run Code Online (Sandbox Code Playgroud)

3959是英里的地球半径.将此值替换为KM(或任何其他单位)中的半径,以在同一单位上获得结果.

您可以通过与此工作示例进行比较来验证您的实现: