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

常州做的网站的公司哪家好搭建网站注册完域名应该怎么做

常州做的网站的公司哪家好,搭建网站注册完域名应该怎么做,定制手机微网站,网站排名是什么意思背景 上一章我们讲过#xff0c;当标注平台解析完数据后#xff0c;会把数据存入Graph#xff0c;数据格式为osmEntity。为了渲染出osmEntity#xff0c;我们还需要将osmEntity转换为fabric.Object的格式。本章介绍这一步的具体实现以及一些坑。 转换原理 我们知道…背景 上一章我们讲过当标注平台解析完数据后会把数据存入Graph数据格式为osmEntity。为了渲染出osmEntity我们还需要将osmEntity转换为fabric.Object的格式。本章介绍这一步的具体实现以及一些坑。 转换原理 我们知道osmEntity具有geometry属性这个属性是一个标准的Geometry格式。即 {type: Point,coordinates: [10, 10] } 对于fabric.Object而言geometry是无法直接使用的需要进行转换。而且不同的Object需要的参数有些许差异。转换的伪代码如下 class osmEntity {// osmEntity转fabric.ObjecttoFabricObject() {let object null;const options this.toFabricCoordinate();switch(type) {case Point: object new NPoint(options);;case Polyline: ;case Polygon: ;case Rectangle: ; }return object;},// 坐标转换toFabricCoordinate() {// ...} } 点 NPoint继承自fabric.Circle其坐标参数为 {left: 10,top: 10 } 因此其toFabricCoordinate可写为 toFabricCoordinate() {const loc this.geometry.coordinates;return {left: this.loc[0], top: this.loc[1]}; } 线 NPolyline继承自fabric.Polyline其坐标参数为 {left: 10,top: 10,points: [{x: 0, y: 0}, {x: 5, y: 0}] } 这边注意找到线的最小外界矩形的左上角点所有点都转为以该点为坐标原点。 toFabricCoordinate(){let result;const coordinates this.geometry.coordinates;const extent bbox(this.geometry);result.left extent[0];result.top extent[1];result.points coordinates.map((p) {return { x: p[0] - extent[0], y: p[1] - extent[1] };});return result; } 矩形 NRectangle继承自fabric.Rect其参数为 {left: 10,top: 10,width: 100,height: 100 } 同样地转换函数为 toFabricCoordinate(){let result;const extent bbox(this.geometry); // 矩形的geometry存的是polygonreturn {left: extent[0],top: extent[1],width: extent[2] - extent[0],height: extent[3] - extent[1]} } 多边形 NPolygon继承自fabric.Path其参数如下 {path: M 10 10 Z,left: 10,top: 10 } 这里我们需要一个方法将geojson转为svg path的方法。这里参考一些开源仓库写法如下 toFabricCoordinate(){const extent bbox(this.geometry);let result;result.left extent[0];result.top extent[1];let mainStr, holes;// 多边形外环mainStr this.getCoordString(coordinates[0], result.left as number, result.top as number);// 多边形孔洞if (coordinates.length 1) {holes coordinates.slice(1, coordinates.length);}let path M mainStr;if (holes) {for (var i 0; i holes.length; i) {path M this.getCoordString(holes[i], result.left as number, result.top as number);}}path Z;result.path fabric.util.makePathSimpler(fabric.util.parsePath(path)); // string转数组参考fabric源码return result; }, getCoordString(coords, left, top) {let coordStr coords.map((coord) coord[0] - left , (coord[1] - top));return coordStr.join( ); } 预告 下一章我们讲讲编辑器里解决性能问题常用的sketchLayer架构。
http://www.pierceye.com/news/918141/

相关文章:

  • 昆山建设工程安监站网站jsp网站开发好书
  • 策划书怎么写 范文泉州seo招聘
  • 网站建设的业务好做吗wordpress 首页静态
  • 做网站销售的话术网络广告策划方案
  • 企智网络网站建设公司社交信息共享网站开发外包
  • 网站建设168网站谁做的比较好
  • 邯郸移动网站建设公司wordpress页脚太高
  • 大型电子商务网站开发上海 网站建设 外包it
  • 设计得很好的企业网站wordpress 标签云
  • 杂志网站模板苏州设计网页网站好
  • 设计理论网站清远市发布
  • 长沙本土网站制作公司wordpress thegem
  • 网站后台 源码重庆电力公司网站
  • 泰安企业网站建设电话廉江手机网站建设公司
  • 自已建网站微信登录珠海绿网科技有限公司
  • 大良网站制作太原建筑公司网站
  • 网站开发的交付文档抖音代运营费用明细
  • 自适应网站建设沈阳网站安全建设需求
  • 列表主题wordpress国外seo综合查询
  • 装修网站怎么做推广做百度网站每年的费用多少
  • 网站搭建免费视频教程省企联网站建设要求
  • 天津大学生专业做网站建设网站价格
  • 携程网站建设进度及实施过程文具电子商务网站开发内容
  • 怎么查看网站打开速度网站源码整站下载
  • 北京城乡住房建设部网站常见的网络营销推广方式有哪些
  • 做网站的成本费用钱宝网站怎么做任务
  • 网站上的格式用html怎么做部队网站设计
  • 帮客户做网站内容社交网站有哪些如何做
  • 网站开发与设计实训总结两千字公众号制作的网站开发
  • 一个公司做2个产品网站怎么做的用html5做的网站素材