获取 高德地图 多边形区域的中心


 

   引言:很多时候,我们需要获取绘制的区域的中心点,以便平移到视野中心,或者点击弹出提示框。 那么如何获取中心点,这里就不谈原理,直接贴代码。

   代码如下:

 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