openlayers3 画扇形

参考了http://www.cnblogs.com/lingxue3769/archive/2011/11/01/2231409.html同学的博客

百度知道https://zhidao.baidu.com/question/244106942859229564.html同学的回复

我这边修改了下根据点来画

/**
* 创建扇形
* @param [x,y] center 扇形中心点
* @param number randius 扇形半径 与中心点对应的坐标系单位
* @param number sAngle 扇形起始边与X轴正方向夹角°
* @param number angle 圆心角°(逆时针方向为正)
* @returns {ol.geom.Polygon}
* @constructor
*/
ol.geom.Sector = function (center, randius, sAngle, angle) {
    sAngle = (360 - sAngle + 90) % 360;
    var points = [];
    points.push(center);
    var ep = null;
    for (var i = 0; i <= angle; ++i) {
        var x = center[0] + randius * Math.cos(degreeToRadian(sAngle + i));
        var y = center[1] + randius * Math.sin(degreeToRadian(sAngle + i));
        points.push([x, y]);
    }
    points.push(center);
    return new ol.geom.Polygon([points]);
};

var degreeToRadian = function (degree) {
    return Math.PI * degree / 180;
};

时间: 2024-12-31 03:53:23

openlayers3 画扇形的相关文章

Swift-贝赛尔曲线画扇形、弧线、圆形、多边形——UIBezierPath实现App下载时的动画效果

上篇文章提到了使用贝赛尔曲线实现画图板(传送门),顿时就对贝赛尔曲线兴趣大增有木有. 之所以接触贝赛尔曲线,多亏了师父.周五下班前师父给我留了个任务,让我周末回家研究研究 iPhone 手机下载 App 时的效果是怎么实现的(不知道效果的童鞋请看下图) 如果所示,下载 App 的过程效果,就是 App 图标中间有一个顺时针旋转的圆圈.当一圈走完时 App 就下载完成了. 刚给我交代这个任务的时候,顿时感觉好难有木有...(主要是因为那个时候我还不知道贝赛尔曲线) 抛开一切复杂内容不谈,我们今天只

WPF画图の利用Path画扇形(仅图形)

一.画弧 Path继承自Sharp,以System.Windows.Shapes.Shape为基类,它是一个具有各种方法的控件. 我们先看一段xaml代码: <Path Stroke="Red"> <Path.Data> <PathGeometry> <PathFigure StartPoint="100,0"> <ArcSegment Point="200,100" Size="1

UIBezierPath与CAShapeLayer结合画扇形

/*让半径等于期望半径的一半 lineWidth等于期望半径 就可以画圆*/ 可以看出layer的走势是从圆边的中间一半在圆外 一半在圆内 因此让半径等于期望半径的一半 lineWidth等于期望半径 - (void)viewDidLoad { [super viewDidLoad]; for (NSInteger i=0; i<5; i++) { [self itemViewWithOne:72*i*M_PI/180.0 two:72*(i+1)*M_PI/180.0]; } } - (UIV

drawArc 画扇形 画弧线

/* 设置渐变色 这个正方形的颜色是改变的 */ Shader mShader = new LinearGradient(0, 0, 100, 100, new int[] { Color.RED, Color.GREEN, Color.BLUE, Color.YELLOW, Color.LTGRAY }, null, Shader.TileMode.REPEAT); // 一个材质,打造出一个线性梯度沿著一条线. p.setShader(mShader); RectF rectF = new

IOS用CGContextRef画各种图形(文字、圆、直线、弧线、矩形、扇形、椭圆、三角形、圆角矩形、贝塞尔曲线、图片)(转)

Graphics Context是图形上下文,可以将其理解为一块画布,我们可以在上面进行绘画操作,绘制完成后,将画布放到我们的view中显示即可,view看作是一个画框. 自己学习时实现的demo,希望对大家有帮助,具体的实现看代码,并有完美的注释解释,还有一些对我帮助的博文供大家参考.都在代码里面. 看一下demo效果图先: 自定义CustomView类,CustomView.h: [cpp]  view plain copy #import <UIKit/UIKit.h> #import 

用CGContextRef画各种图形(文字、圆、直线、弧线、矩形、扇形、椭圆、三角形、圆角矩形

首先了解一下CGContextRef: An opaque type that represents a Quartz 2D drawing environment. Graphics Context是图形上下文,可以将其理解为一块画布,我们可以在上面进行绘画操作,绘制完成后,将画布放到我们的view中显示即可,view看作是一个画框. 自己学习时实现的demo,希望对大家有帮助,具体的实现看代码,并有完美的注释解释,还有一些对我帮助的博文供大家参考.都在代码里面. 看一下demo效果图先: 自

(转) IOS用CGContextRef画各种图形(文字、圆、直线、弧线、矩形、扇形、椭圆、三角形、圆角矩形、贝塞尔曲线、图片)

首先了解一下CGContextRef: An opaque type that represents a Quartz 2D drawing environment. Graphics Context是图形上下文,可以将其理解为一块画布,我们可以在上面进行绘画操作,绘制完成后,将画布放到我们的view中显示即可,view看作是一个画框. 自己学习时实现的demo,希望对大家有帮助,具体的实现看代码,并有完美的注释解释,还有一些对我帮助的博文供大家参考.都在代码里面. 看一下demo效果图先: 自

Quartz2d (画线 矩形 圆 三角形 弧线 扇形 进度圈等)

</pre><pre code_snippet_id="1675698" snippet_file_name="blog_20160509_1_1489477" name="code" class="objc">/** Quartz2d的图形绘制API */ "[画线drawLine]" 1.获取上下文件UIGraphicsGetCurrentContext(); 2.设置起点CGC

01 画简单线的方法

1.画三角形 - (void)drawRect:(CGRect)rect { // 获取上下文 CGContextRef ctx = UIGraphicsGetCurrentContext(); // 确定三个点 CGContextMoveToPoint(ctx, 30, 30); // 起点 CGContextAddLineToPoint(ctx, 130, 30); CGContextAddLineToPoint(ctx, 130, 130); // CGContextAddLineToPo