两个GEO位置之间的距离

Len*_*nie 16 javascript

我有两个GEO位置.我怎样才能计算它们之间的距离?

pow*_*tac 23

如果您使用Google Maps API v3,则可以按如下方式计算距离:

Google Maps JavaScript文件包含在几何库中:

http://maps.google.com/maps/api/js?sensor=true&libraries=geometry
Run Code Online (Sandbox Code Playgroud)

现在可以使用以下computeDistanceBetween()方法测量距离:

var from = new google.maps.LatLng(49.004, 8.456);
var to   = new google.maps.LatLng(49.321, 8.789);
var dist = google.maps.geometry.spherical.computeDistanceBetween(from, to);
Run Code Online (Sandbox Code Playgroud)


unw*_*ind 8

此页面包含用于计算两个地理位置距离的JavaScript代码,如果这是您所追求的.


Chr*_*oph 8

GPS坐标是WGS84球体上的地理坐标.在这个模型下,Vincenty的公式给出了亚毫米精度的结果.对于大多数应用来说,这可能是过度杀伤或实际上是欺骗性的,因为地球的表面没有被WGS84建模到那个尺度.

您可以比较各种距离计算方法的准确性 在本页面(破链路;检查源代码代替).如您所见,对于很多情况,球面和微分近似(后者使用具有正确局部度量的毕达哥拉斯定理)是不准确的.

在其余方法中,第一个使用球体的平均半径从地理纬度转换为地心纬度,而第二个使用余弦规则在"小"距离的情况下获得更准确的结果(其中"小"的定义主要是取决于纬度的差异).

这里可以找到一个只包含这两种方法的独立脚本,它提供了一个被调用的函数,distance()并期望有四个参数:两个纬度,经度差(全部以弧度表示)和一个布尔标志,表示距离是否为"小".