0

什么是最好的方法(或)是否有谷歌的方法已经可以计算Straight Line两点之间的简单距离,基于 Lat/Lng 甚至邮政/邮政编码是可能的?

4

4 回答 4

1

我自己从其他地方找到了答案。

是的,谷歌已经有一个本地解决方案,在: https ://developers.google.com/maps/documentation/javascript/reference?hl=en-US#spherical

我需要做的就是调用该方法:'google.maps.geometry.spherical.computeDistanceBetween (latLngA, latLngB);'

(当然我还需要包含附加/必需的“.js”)

于 2013-01-17T05:29:08.103 回答
0

“最佳”是一个相当模糊的标准。如果您能够假设地球是一个完美的球体,那么您需要一个简单的大圆距离公式。参见例如Wikipedia 文章。有了这个假设,您的距离可能会偏离不到 0.5 个百分点。

地球的实际形状实际上是一个略呈扁圆形的球体。这种形状的表面距离计算起来更复杂。请参阅Ed Williams在 javascript 中的工作。也许他会让你使用他的代码。如果没有,他会给出相关的参考资料。

于 2013-01-17T02:45:43.433 回答
0

免费解决方案位于http://ezcmd.com/apps/app_ezip_locator#ezip_locator_api

可以帮助您以英里或公里为单位查找两个经纬度坐标之间的距离。

或者,您可以尝试http://ezcmd.com/apps/app_geo_postal_codes#geo_postal_codes_api

于 2013-02-11T22:03:31.217 回答
-1

“最佳”方式取决于几件事。您能否提供更多关于准确度和/或所需应用程序的背景信息?google.maps.DirectionsService 类将允许您使用 javascript 计算客户端的行驶距离,但如果您想要准确的直线距离,您可以使用 postgresql + postgis 服务器端。根据所涉及的点和距离的范围,使用 lat/lng 计算准确的距离可能会因地球的不同投影而变得棘手。

于 2013-01-16T17:51:39.410 回答