假设这 4 个值:

        double lat1 = ToRadians(53.14722222222222); 
        double lon1 = ToRadians(-1.8494444444444447); 
        double lat2 = ToRadians(52.20444444444445); 
        double lon2 = ToRadians(-0.14055555555555554); 

我在Google map 获取方向中计算,我得到了大约181公里,但在这个网站(http://www.movable-type.co.uk/scripts/latlong.html)中得到了大约170公里。

在我的源码中,我使用java和c#来实现这个功能,当我计算时,我得到了大约155公里。

为什么它们不等价?

有没有可以准确计算这两个值的函数?

请您参考如下方法:

网站上的半正矢公式“直线上升”,相当准确。你没有说你如何使用谷歌地图来计算距离,但如果你只是输入值并要求它计算路线,它将使用行驶距离(沿着道路),这会更长。如果您对半正矢公式的实现得出的答案与网站不同,那么您或他们的实现不正确。您可能会发现another web site检查您的答案,看看是哪一个。

您可以在 C# 中找到一个实现 here .


评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!