我有一个来自谷歌地图的“地点”对象,它有一组坐标,代表给定位置的边界框,比如伦敦。每组坐标都有一个纬度和经度。
我已经编写了以下代码来查找中心点,但我不确定它是否确实产生了中心点。如果多边形有 5 个点而不是 4 个呢?此外,这是否可以以更有效的方式完成,减少操作?
function average(array) {
// Add together and then divide by the length
return _.reduce(array, function (sum, num) {
return sum + num;
}, 0) / array.length;
}
// I have a two-dimensional array that I want to get the average of
var coords = [
[ -1.2, 5.1 ],
[ -1.3, 5.2 ],
[ -1.8, 5.9 ],
[ -1.9, 5.8 ]
]
// So I get the first column
var lats = coords.map(function (coord) {
return coord[0];
})
// Then the second
var longs = coords.map(function (coord) {
return coord[1];
})
// And average each column out
console.log([average(lats), average(longs)])
例子。