2 回答

TA貢獻1853條經驗 獲得超18個贊
function drawCircle(lat, lng, radius, strokeColor, strokeWidth, strokeOpacity, fillColor, fillOpacity) {
var d2r = Math.PI / 180;
var r2d = 180 / Math.PI;
var Clat = radius * 0.014483; // Convert statute miles into degrees latitude
var Clng = Clat / Math.cos(lat * d2r);
var Cpoints = [];
// 計算圓周上33個點的經緯度,若需要圓滑些,可以增加圓周的點數
for (var i = 0; i < 33; i++) {
var theta = Math.PI * (i / 16);
Cy = lat + (Clat * Math.sin(theta));
Cx = lng + (Clng * Math.cos(theta));
var P = new GPoint(Cx, Cy);
Cpoints.push(P);
}
strokeColor = strokeColor || "#0055ff"; // 邊框顏色,默認"#0055ff"
strokeWidth = strokeWidth || 1; // 邊框寬度,默認1px
strokeOpacity = strokeOpacity || 1; // 邊框透明度,默認不透明
fillColor = fillColor || strokeColor; // 填充顏色,默認同邊框顏色
fillOpacity = fillOpacity || 0.1; // 填充透明度,默認0.1
var polygon = new GPolygon(Cpoints, strokeColor, strokeWidth, strokeOpacity, fillColor, fillOpacity);
map.addOverlay(polygon);
}
- 2 回答
- 0 關注
- 677 瀏覽
添加回答
舉報