引言:很多時候,我們需要獲取繪制的區域的中心點,以便平移到視野中心,或者點擊彈出提示框。 那么如何獲取中心點,這里就不談原理,直接貼代碼。
代碼如下:

1 var getTheAreaCenter = function (lnglatarr) { 2 var total = lnglatarr.length; 3 var X = 0, Y = 0, Z = 0; 4 $.each(lnglatarr, function (index, lnglat) { 5 var lng = lnglat.lng * Math.PI / 180; 6 var lat = lnglat.lat * Math.PI / 180; 7 var x, y, z; 8 x = Math.cos(lat) * Math.cos(lng); 9 y = Math.cos(lat) * Math.sin(lng); 10 z = Math.sin(lat); 11 X += x; 12 Y += y; 13 Z += z; 14 }); 15 16 X = X / total; 17 Y = Y / total; 18 Z = Z / total; 19 20 var Lng = Math.atan2(Y, X); 21 var Hyp = Math.sqrt(X * X + Y * Y); 22 var Lat = Math.atan2(Z, Hyp); 23 return this.getLatLng(Lat * 180 / Math.PI, Lng * 180 / Math.PI); 24 }