JSFiddle - React, Tailwind, and code Playground

by Sanjay Kumar N S

JavaScript

coordinates = [[48.590769272, -118.075531423], [47.654789674,-118.140885769]];
var x = 0;
                                var y = 0;
                                var z = 0;

                                for (var geoCoordinate in coordinates)
                                {
                                    if (coordinates.hasOwnProperty(geoCoordinate)) {
                                        var latitude = coordinates[geoCoordinate][0] * Math.PI / 180;
                                        var longitude = coordinates[geoCoordinate][1] * Math.PI / 180;
                                        x += Math.cos(latitude) * Math.cos(longitude);
                                        y += Math.cos(latitude) * Math.sin(longitude);
                                        z += Math.sin(latitude);
                                    }
                                }

                                var total = coordinates.length;

                                x = x / total;
                                y = y / total;
                                z = z / total;

                                var centralLongitude = Math.atan2(y, x);
                                var centralSquareRoot = Math.sqrt(x * x + y * y);
                                var centralLatitude = Math.atan2(z, centralSquareRoot);
                                console.log({"lat": centralLatitude * 180 / Math.PI, "lng": centralLongitude * 180 / Math.PI});