我想使用客户端JavaScript通过简单的平均值计算来查找一组纬度+经度(实际上是Google LatLng对象)的质心。查找一组纬度的质心(简单均值)
我看到类似的问题在堆栈溢出之前已经被问了很多次,但是我找不到一个简单直接的JavaScript答案。 (这可能只是我的谷歌搜索失败,如果这是一个重复道歉)
我有这样的事情,但它不适用于你的平均情况,比如纬度179和-179,所以重心应该是180,而不是0
var avg_lat, avg_lng;
for (var i = 0; i < google_latlngs.length; i++) {
avg_lat += google_latlngs[0].lat();
avg_lng += google_latlngs[1].lng();
}
avg_lat = avg_lat/google_latlngs.length;
avg_lng = avg_lng/google_latlngs.length;
我需要在客户端JavaScript有效地做到这一点,我的观点是不太可能比相隔几公里多,所以great-在这种情况下,圆距或任何幻想真的没有必要。
感谢您的帮助。
更新:好的,任何在JavaScript中查找质心的方法都可以。
'179'和'-179'的平均值_is_零;你的代码工作正常。如果你想只有正数,请看['Math.abs()'](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Math/abs)。 – Bojangles 2011-12-19 16:53:45
很抱歉,我的意思是经度179和-179,其中质心应该是180,而不是0,这是世界的一半。我应该编辑这个问题吗? – Richard 2011-12-19 16:55:49