Я хотел бы использовать JavaScript на стороне клиента, чтобы найти центр тяжести набора широт + долгот (фактически объектов Google LatLng), используя простое вычисление среднего значения.
Я вижу, что подобные вопросы задавались много раз в Stack Overflow, но я не могу найти простой ответ для JavaScript. (Это может быть просто ошибкой моего Google, извинения, если это дубликат.)
У меня есть что-то подобное, но это не работает для случая, когда вы усредняете, скажем, широты 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 на стороне клиента, и мои очки вряд ли будут находиться на расстоянии более нескольких километров друг от друга, поэтому в этом случае расстояние большого круга или что-то необычное действительно не нужно.
Спасибо за вашу помощь.
ОБНОВЛЕНИЕ: ОК, любой метод для поиска центроида в JavaScript подойдет.