獲取 高德地圖 多邊形區域的中心


 

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

   代碼如下:

 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 }
getTheAreaCenter

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM