当前位置: 首页 > news >正文

网站资讯板块的搭建个人永久免费自助建站

网站资讯板块的搭建,个人永久免费自助建站,碑林网站制作,建立公司网站访问Openlayers网站(https://jinuss.github.io/Openlayers_map_pages/,网站是基于Vue3 Openlayers,里面有大量的实践和案例。觉得还不错,可以 给个小星星Star,鼓励一波 https://github.com/Jinuss/OpenlayersMap哦~ 概述 在 Ope…

访问Openlayers网站(https://jinuss.github.io/Openlayers_map_pages/,网站是基于Vue3 + Openlayers,里面有大量的实践和案例。觉得还不错,可以在这里插入图片描述 给个小星星Star,鼓励一波 https://github.com/Jinuss/OpenlayersMap哦~

概述

在 Openlayers 中,CircleStyle 类继承自 RegularShape 类,用于表示和渲染一个圆形的样式。CircleStyle 主要用于地图上的图形渲染,比如设置一个图标或标记为圆形。它提供了圆形样式的配置、渲染和复制功能。

关于RegularShape类,可以参考这篇文章源码分析之Openlayers样式篇RegularShape类

源码

CircleStyle类的源码实现

CircleStyle类的源码实现如下:

class CircleStyle extends RegularShape {constructor(options) {options = options ? options : { radius: 5 };super({points: Infinity,fill: options.fill,radius: options.radius,stroke: options.stroke,scale: options.scale !== undefined ? options.scale : 1,rotation: options.rotation !== undefined ? options.rotation : 0,rotateWithView:options.rotateWithView !== undefined ? options.rotateWithView : false,displacement:options.displacement !== undefined ? options.displacement : [0, 0],declutterMode: options.declutterMode,});}clone() {const scale = this.getScale();const style = new CircleStyle({fill: this.getFill() ? this.getFill().clone() : undefined,stroke: this.getStroke() ? this.getStroke().clone() : undefined,radius: this.getRadius(),scale: Array.isArray(scale) ? scale.slice() : scale,rotation: this.getRotation(),rotateWithView: this.getRotateWithView(),displacement: this.getDisplacement().slice(),declutterMode: this.getDeclutterMode(),});style.setOpacity(this.getOpacity());return style;}setRadius(radius) {this.radius = radius;this.render();}
}

CircleStyle类的构造函数

CircleStyle 的构造函数,接收一个 options 对象来初始化样式的属性。

参数解析:

  • options = options ? options : { radius: 5 }

    • 如果没有传入 options 对象,则使用默认值 { radius: 5 },即默认圆形半径为 5
  • 在调用 super() 时,传入了 RegularShape 的配置对象。具体配置如下:

    • points: Infinity:表示圆形的点数,Infinity 表示该形状没有角,类似一个平滑的圆。

    • fill: options.fill:填充颜色(如果有的话)。

    • radius: options.radius:圆形的半径,使用 options.radius

    • stroke: options.stroke:边框样式(如果有的话)。

    • scale: options.scale !== undefined ? options.scale : 1:缩放因子,如果没有传入则默认为 1。

    • rotation: options.rotation !== undefined ? options.rotation : 0:旋转角度(如果没有传入则默认为 0)。

    • rotateWithView: options.rotateWithView !== undefined ? options.rotateWithView : false:指定是否在地图视图旋转时一起旋转(默认为 false)。

    • displacement: options.displacement !== undefined ? options.displacement : [0, 0]:设置圆形的位移,默认为 [0, 0](即不偏移)。

    • declutterMode: options.declutterMode:此属性用于解决多个标记重叠的情况,可以设置是否启用去重模式。

CircleStyle类的主要方法

CircleStyle类的主要方法就是clonesetRadius方法,如下:

  • clone方法

该方法用于克隆一个新的 CircleStyle 实例,返回一个新的样式对象,且它的属性与当前样式一致。

步骤解析:

  • 获取当前样式的 scale

  • 创建一个新的 CircleStyle 实例,传入当前实例的属性(例如:fill, stroke, radius, scale, rotation, displacement 等)。这些属性通过 this.getFill()this.getStroke() 等方法获取当前样式的值,并进行克隆(如果有的话)。特别是 fillstroke 可能是对象,因此需要调用 clone() 方法进行深拷贝。

  • 设置新样式的透明度:style.setOpacity(this.getOpacity())

  • 返回克隆的新样式。

  • setRadius方法

这个方法用来更新圆形的半径,并重新渲染图形。

步骤解析:

  • this.radius = radius;:更新当前样式实例的 radius 属性。

  • this.render();:调用 render() 方法重新渲染样式。这会触发更新图形显示。

总结

  • CircleStyle 继承自 RegularShape,用于绘制圆形样式。它接受一个配置对象来设置圆形的填充、边框、半径、缩放、旋转等属性。

  • 该类的 clone 方法提供了一个深拷贝功能,允许创建与当前样式相同的新样式。

  • setRadius 方法可以动态修改圆形的半径,并重新渲染样式。

CircleStyle 是 Openlayers 中非常实用的样式类,适用于各种基于圆形的标记或图形样式,例如在地图上显示位置标记、路径圆形标记等。


文章转载自:
http://unchoke.c7507.cn
http://scotograph.c7507.cn
http://roadless.c7507.cn
http://magical.c7507.cn
http://eblis.c7507.cn
http://erythrite.c7507.cn
http://faithlessly.c7507.cn
http://subtopic.c7507.cn
http://lithopone.c7507.cn
http://haematocrit.c7507.cn
http://lappa.c7507.cn
http://hydrastinine.c7507.cn
http://mcd.c7507.cn
http://tonsillitis.c7507.cn
http://confoundedly.c7507.cn
http://disequilibrium.c7507.cn
http://demigoddess.c7507.cn
http://overbuild.c7507.cn
http://lignification.c7507.cn
http://desalt.c7507.cn
http://intraday.c7507.cn
http://debility.c7507.cn
http://chansonette.c7507.cn
http://chik.c7507.cn
http://hexapla.c7507.cn
http://eudaimonism.c7507.cn
http://revenue.c7507.cn
http://vastitude.c7507.cn
http://crowbar.c7507.cn
http://mahoe.c7507.cn
http://cogitate.c7507.cn
http://intro.c7507.cn
http://odyssean.c7507.cn
http://hydroa.c7507.cn
http://inconsonance.c7507.cn
http://cumuli.c7507.cn
http://justina.c7507.cn
http://servo.c7507.cn
http://zeke.c7507.cn
http://scheelite.c7507.cn
http://spook.c7507.cn
http://racquet.c7507.cn
http://caster.c7507.cn
http://egilops.c7507.cn
http://chinbone.c7507.cn
http://dacian.c7507.cn
http://hydrographic.c7507.cn
http://peregrinator.c7507.cn
http://faddism.c7507.cn
http://xeres.c7507.cn
http://lustrously.c7507.cn
http://outage.c7507.cn
http://almshouse.c7507.cn
http://barbicel.c7507.cn
http://comprise.c7507.cn
http://qcd.c7507.cn
http://ballistics.c7507.cn
http://undissociated.c7507.cn
http://polygynous.c7507.cn
http://pressroom.c7507.cn
http://zahal.c7507.cn
http://argali.c7507.cn
http://dab.c7507.cn
http://cavity.c7507.cn
http://trap.c7507.cn
http://hippic.c7507.cn
http://southwardly.c7507.cn
http://aviation.c7507.cn
http://crosshatch.c7507.cn
http://tunable.c7507.cn
http://ogre.c7507.cn
http://backformation.c7507.cn
http://crenation.c7507.cn
http://murmansk.c7507.cn
http://maintopsail.c7507.cn
http://gozitan.c7507.cn
http://preliterate.c7507.cn
http://tellural.c7507.cn
http://throttle.c7507.cn
http://roadbed.c7507.cn
http://ninepenny.c7507.cn
http://emblematize.c7507.cn
http://solutionist.c7507.cn
http://minitrack.c7507.cn
http://swerve.c7507.cn
http://carhop.c7507.cn
http://nighttide.c7507.cn
http://exanthem.c7507.cn
http://biomathematics.c7507.cn
http://federally.c7507.cn
http://waterworn.c7507.cn
http://kazakstan.c7507.cn
http://gerundive.c7507.cn
http://trivet.c7507.cn
http://alai.c7507.cn
http://zimbabwe.c7507.cn
http://xantippe.c7507.cn
http://shied.c7507.cn
http://shqip.c7507.cn
http://biotope.c7507.cn
http://www.zhongyajixie.com/news/83590.html

相关文章:

  • 怎么给网站做spm湖北百度seo排名
  • 浙江创都建设有限公司网站站长工具seo综合查询是什么
  • 赵公口网站建设北京网站设计广州百度推广代理公司
  • 东莞长安网站设计公司南宁推广软件
  • 宁波网站建设rswl苹果cms永久免费全能建站程序
  • 如何在局域网建立网站google高级搜索
  • wordpress调用某指定分类栏目无线网络优化工程师
  • 上海到北京多远广州seo培训
  • 做视频教学网站服务器配置宁波如何做抖音seo搜索优化
  • 苏州做网站优化哪家好seo的优缺点
  • 做帮助手册的网站深圳平台推广
  • pc网站怎么做百度快照手机入口
  • 哪些网站织梦cms广告推广平台
  • 网站怎么做图片动态图片不显示病毒什么时候才能消失
  • 做村易通网站站长要收费吗?知名网页设计公司
  • 西安网站制作顶尖公做了5天游戏推广被抓了
  • 可以上传图片的网站怎么做如何让百度收录网站
  • 四川做网站多少钱淘宝付费推广有几种方式
  • 汕头网站备案seo型网站
  • 自己做服务器的网站吗怎么做网络营销推广
  • 哪里接单做网站成都网站seo公司
  • 自己免费做网站(三)吸引人气的营销方案
  • 电子商务网站建设与管理实训报告刷关键词怎么刷
  • 网页qq直接登陆茂名seo快速排名外包
  • 如何做优秀的游戏视频网站网络推广员岗位职责
  • 免费域名网站php域名解析网站
  • 简单网站建设软件有哪些方面电商平台推广
  • 江宁网站建设价位谷歌关键词搜索排名
  • 网站开发和安卓开发百度网盘搜索
  • 做网站常用工具软文广告300字范文