센터 찾기는 꽤 쉬워야합니다. 귀하의 그룹에서 가장 작은 위도와 경도 좌표를 찾으십시오.
중심은 [min_lat + (max_lat - min_lat)/2, min_long + (max_long - min_long)/2]
입니다. 같은
뭔가 : 당신의 포인트는 경도 경계 교차하는 경우
var points = Array();
points.push(new GLatLng(xxx, yyy));
...
min_lat = 90;
max_lat = -90;
min_long = 180;
max_long = -180;
for (p in points) {
if (p[0] < min_lat) {
min_lat = p[0];
}
if (p[0] > max_lat) {
max_lat = p[0];
}
if (p[1] < min_long) {
min_long = p[1];
}
if (p[1] > max_long) {
max_long = p[1];
}
}
center = new GLatLng(min_lat + (max_lat - min_lat)/2,
min_long + (max_long - min_long)/2];
map.setCenter(center, 10);
이 코드는 아마 문제가됩니다 (& plusmn를 180 °). 또한 점이 평면의 표면 (구의 표면이 아닌)에 있다고 가정합니다.
미국에서 서로 수백 마일 이내에있는 좌표에 대해 이야기하는 경우 그다지 중요하지 않습니다.