本文實例講述了JavaScript實現(xiàn)計算多邊形質(zhì)心的方法。分享給大家供大家參考,具體如下:
創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比烈山網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式烈山網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋烈山地區(qū)。費用合理售后完善,十余年實體公司更值得信賴。最近要基于百度地圖顯示多邊形的標(biāo)注,所以就研究了下計算Polygon的質(zhì)心,代碼如下:
function Area(p0,p1,p2) { var area = 0.0 ; area = p0.lng * p1.lat + p1.lng * p2.lat + p2.lng * p0.lat - p1.lng * p0.lat - p2.lng * p1.lat - p0.lng * p2.lat; return area / 2 ; } //line 249 計算polygon的質(zhì)心 function getPolygonAreaCenter(points) { var sum_x = 0; var sum_y = 0; var sum_area = 0; var p1 = points[1]; debugger; for (var i = 2; i < points.length; i++) { p2=points[i]; area = Area(points[0],p1,p2) ; sum_area += area ; sum_x += (points[0].lng + p1.lng + p2.lng) * area; sum_y += (points[0].lat + p1.lat + p2.lat) * area; p1 = p2 ; } var xx = sum_x / sum_area / 3; var yy = sum_y / sum_area / 3; return new BMap.Point(xx, yy); }
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。