æ ¹æ®ç½ä¸ç代ç ï¼å©ç¨Polygonç»å¶è¦çç©ï¼æ¹æ³å¦ä¸
function createSectorArea(point2, radius, sDegree, eDegree, strokeColour, strokeWeight, Strokepacity, fillColour, fillOpacity, opts){
var points = [];
var step = ((eDegree - sDegree) / 50) || 50;
points.push(point2);
for (var i = sDegree; i < eDegree + 0.0001; i += step) {
points.push(EOffsetBearing(point2, radius, i));
}
points.push(point2);
var polygon = new BMap.Polygon(
points , {strokeColor:strokeColour, strokeWeight:strokeWeight, strokeOpacity:Strokepacity, fillColor: fillColour, fillOpacity:fillOpacity});
return polygon;
}
function EOffsetBearing(point3, dist, bearing) {
var latConv = map.getDistance(point3, new BMap.Point(point3.lng + 0.01, point3.lat)) * <font color="#00ff00">50</font>;
var lngConv = map.getDistance(point3, new BMap.Point(point3.lng, point3.lat + 0.01)) * <font color="#00ff00">50</font>;
var lat = dist * Math.cos(bearing * Math.PI / 180) / latConv;
var lng = dist * Math.sin(bearing * Math.PI / 180) / lngConv;
return new BMap.Point(point3.lng + lng, point3.lat + lat);
}
追é®è¿ä¸ªæ ·åï¼å°±æ¯é£ç§åç´æè
æ°´å¹³çï¼è¦è½å®ç°é£ç§å¾æ45度è§çãã