openlayers获取绘制多边形的顶点坐标
虽使用Interaction无数次,进行图形绘制与用户交互等,但当需要获取绘制图形的顶点坐标时还是不晓得咋弄?
都知道在绘制完成后回调中能获取到当前的event对象draw.on('drawend', function(e) {})
而这个对象中就能拿到feature,根据这个就可以找到如下feature api , 踏又可以通过getGeometry得到对应的polygon
根据上面获得了polygon, so再找到polygon api ,他就有一个getCoordinates的方法
根据上面顺藤摸瓜就可以得出如下操作—>
具体操作方法是这样的
1、画笔初始化方法
/**
* 画笔初始化
*/
drawPrepare() {
const source = new VectorSource()
const vector = new VectorLayer({
source: source,
style: new Style({
fill: new Fill({
color: 'rgba(255,218,185, 0.4)'
}),
stroke: new Stroke({
color: '#ffcc33',
width: 2
}),
image: new Circle({
radius: 7,
fill: new Fill({
color: '#ffcc33'
})
})
})
})
this.map.addLayer(vector) var modify = new Modify({
source: source
})
this.map.addInteraction(modify)
this.sourceOfPolygon = source
},
2、执行绘制方法
/**
* 执行绘制
*/
drawPattern() {
const _self = this
const source = this.sourceOfPolygon
const draw = new Draw({
source: source,
type: 'Polygon'
}) // 添加 interaction
this.map.addInteraction(draw)
const snap = new Snap({
source: source
}) // 添加 snap
this.map.addInteraction(snap) draw.on('drawend', function(e) {
const geometry = e.feature.getGeometry()
const corrdinates = geometry.getCoordinates()
console.log(corrdinates)
// 清除画笔
_self.map.removeInteraction(draw)
_self.map.removeInteraction(snap)
})
}
}
ok 顶点坐标获取到了接下来就是业务逻辑了…
openlayers获取绘制多边形的顶点坐标的更多相关文章
- 不规则形状的Ifc构件顶点坐标获取
不规则形状的Ifc构件顶点坐标获取 今天有人问我,ifc构件的顶点坐标怎么获取,自己前年的时候写过类似的程序,但有点记不清了,最近一直用C++解析ifc,慎重起见,还是重新再写一次,java版本的获取 ...
- [WebGL入门]十四,绘制多边形
注意:文章翻译http://wgld.org/.原作者杉本雅広(doxas),文章中假设有我的额外说明,我会加上[lufy:].另外,鄙人webgl研究还不够深入.一些专业词语,假设翻译有误,欢迎大家 ...
- 【Silverlight】Bing Maps学习系列(五):绘制多边形(Polygon)图形(转)
[Silverlight]Bing Maps学习系列(五):绘制多边形(Polygon)图形 Bing Maps Silverlight Control支持用户自定义绘制多边形(Polygon)图形, ...
- JS实现鼠标点击爱心&绘制多边形&每日一言功能
本篇文章主要介绍我的个人博客 程序猿刘川枫 中页面使用的美化功能(基于JS实现): 1.鼠标点击出现不同颜色爱心特效 2.页面浮动多边形跟随鼠标移动 3.每日一言功能 1.鼠标点击出现爱心特效 经常在 ...
- canvas绘制多边形
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Unity3D之Mesh(四)绘制多边形
来自https://www.cnblogs.com/JLZT1223/p/6086191.html 1. 总的来说绘制平面的思想十分简单,就是将需要的平面拆分成几个三角形然后进行绘制就可以啦,主要的思 ...
- Unity动态构建mesh绘制多边形算法流程分析和实践
前言 先说一下,写这篇博文的动机,原文的博主代码写的十分潇洒,以至于代码说明和注释都没有,最近恰逢看到,所以以此博文来分析其中的算法和流程 参考博文:https://blog.csdn.net/lin ...
- Canvas:绘制多边形
前言 CanvasRenderingContext2D 没有提供绘制多边形的函数,所以只能由我们自己来实现绘制多边形的函数.以六边形为基础,需要用到三角函数:sin 和 cos. 点 A 坐标 (一) ...
- osg::NodeVisitor中计算一个节点对应的世界变换矩阵、法向量、顶点坐标
class MyNodeVisitor:public osg::NodeVisitor { pulic: MyNodeVisitor():osg::NodeVisitor(osg::NodeVisit ...
- 用线框模式绘制多边形 glPolygonMode
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); glBegin(GL_TRIANGLES);//开始以g_ViewMode模式绘制 glColor3ub(182. ...
随机推荐
- Tesseract5+OpenCV4(VS2017+win10)实现OCR识别
一.环境配置 较之前采用cppan进行编译的方式,vcpkg的方式已经发生了许多变化,带来的最大不同就是便捷. 对于在NuGet中能够找到的Vcpkg的export,真的实现了开箱即用 这样的话对于普 ...
- 【LeetCode动态规划#02】图解不同路径I + II(首次涉及二维dp数组,)
不同路径 力扣题目链接(opens new window) 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 "Start" ). 机器人每次只能向下或者向右移 ...
- 你需要知道的Symbols
著名symbol 著名symbol是一个在不同领域中都相同且未注册的symbol.如果我们要列出著名symbol,它们会是: Symbol.iterator Symbol.toStringTag Sy ...
- hta--Windows运行html的桌面应用程序(HTML应用程序)
HTA(HTML Application)-- HTML应用程序 作为前端开发,我们能熟练使用html实现各种效果,但是如果要实现一个简单的桌面应用程序那么应该怎么做呢,答案很简单,只需要把html文 ...
- pandas之分组操作
在数据分析中,经常会遇到这样的情况:根据某一列(或多列)标签把数据划分为不同的组别,然后再对其进行数据分析.比如,某网站对注册用户的性别或者年龄等进行分组,从而研究出网站用户的画像(特点).在 Pan ...
- python之PySimpleGUI(二)属性
属性 Size• Key 相当于句柄/ID• Font• Pad• Colors• Enable Events• Visibility• Tooltip• Metadata• Right click ...
- day91:luffy:基于vue+drf的路飞学城项目后端部署
目录 1.安装mysql镜像 2.把本地的数据导入到容器的mysql数据库中 3.安装redis容器 4.把后端项目部署前的处理 5.修改项目的配置文件:prod.py 6.从后端项目中收集静态文件 ...
- Linux(三)磁盘管理
Linux磁盘管理 Linux中的tree工具 tree可以查看目录的树形结构,前提是需要自行安装 yum install tree -y [root@hadoop100 ~]# tree ./ ./ ...
- Semantic Kernel 入门系列:🍋Connector连接器
当我们使用Native Function的时候,除了处理一些基本的逻辑操作之外,更多的还是需要进行外部数据源和服务的对接,要么是获取相关的数据,要么是保存输出结果.这一过程在Semantic Kern ...
- $el,$nextTick,$set
this.$el this.$el DOM的根元素 => 是一个完全唯一的 $el 直到组件挂载完成 (mounted) 之前都会是 undefined. 对于单一根元素的组件,$el 将会指向 ...