-1

我写了一个函数计算城市基地之间的距离https://developers.google.com/maps/articles/phpsqlsearch_v3?csw=1

德克萨斯州奥斯汀 78723:纬度:30.282911 经度:-97.712541

德克萨斯州奥斯汀 78730:纬度:30.3732514 经度:-97.8395151

insert 78730 into market and run sql:
SELECT *, ( 3959 * acos( cos( radians(30.305107) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-97.686631) ) + sin( radians(30.305107) ) * sin( radians( lat ) ) ) ) AS distance FROM markers ORDER BY distance LIMIT 0 , 20;

return 9.8 mile

但在网站http://maps.randmcnally.com/?s=screen&loc1=Austin%2C%20TX%2078723&loc2=Austin%2C%20TX%2078730#s=screen&lat=39.11339950561523&lon=-94.62660217285156&zoom=9&loc1=Austin%2C %20TX%2078723&loc2=奥斯汀%2C%20TX%2078730&loc3=&loc4=&loc5=&loc6=&loc7=&loc8=&loc9=&loc10= 返回18英里

谷歌地图:19.2英里

什么号码是正确的?

4

1 回答 1

1

您计算的是乌鸦飞行的距离,两者(谷歌地图和其他服务)都根据路线(例如驾驶)计算距离。

google-maps-javascript-API 的几何库也计算 9.8 英里,因此您可能会假设您的计算是正确的,但您计算的是完全不同的东西。

2种服务的不同结果可能基于不同的路线或不同的算法

于 2014-09-09T12:48:49.970 回答