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#函数?
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(或任何其他单位)中的半径,以在同一单位上获得结果.
您可以通过与此工作示例进行比较来验证您的实现: