points=[
{
"id": 1,
"longitude": 120.11888122558594,
"latitude": 30.8775577545166,
"iconPath": "",
"width": 30,
"height": 30
},
{
"id": 2,
"longitude": 120.12348937988281,
"latitude": 30.878713607788086,
"iconPath": "",
"width": 30,
"height": 30
}
]
getPointsCenter(points) {
console.log(points, 'pomuuu')
var point_num = points.length; //坐标点个数
var X = 0, Y = 0, Z = 0;
for(let i = 0; i< points.length; i++) {
var lat, lng, x, y, z;
lat = parseFloat(points[i].latitude) * Math.PI / 180;
lng = parseFloat(points[i].longitude) * Math.PI / 180;
x = Math.cos(lat) * Math.cos(lng);
y = Math.cos(lat) * Math.sin(lng);
z = Math.sin(lat);
X += x;
Y += y;
Z += z;
}
X = X / point_num;
Y = Y / point_num;
Z = Z / point_num;
var tmp_lng = Math.atan2(Y, X);
var tmp_lat = Math.atan2(Z, Math.sqrt(X * X + Y * Y));
return [tmp_lat * 180 / Math.PI, tmp_lng * 180 / Math.PI];
},
高德地图获取众多点位的中心点
最新推荐文章于 2023-09-11 15:48:07 发布