# openlayer 绘制多边形
openlayer 绘制多边形
/***
绘制多边形
points:多边形顶点组成的列表
*/
drawPolygon(points) {
let layer = this.getLayerFromMap(this.map, 'polygon') // 先查看一下之前是否存在,如果存在先移除
if (layer) {
this.map.removeLayer(layer)
}
let features = []
var polygon = new Polygon([points])
var feature = new Feature(polygon)
features.push(feature)
var vectorSource = new VectorSource()
vectorSource.addFeatures(features)
const styleFunction = function (feature) {
return new Style({
fill: new Fill({
color: [255, 255, 255, 0.33]
}),
stroke: new Stroke({
width: 2,
color: '#dc5246'
}),
text: new Text({
font: '10px Microsoft YaHei',
text: '多边形',
overflow: true,
textAlign: 'center', // 对齐方式
textBaseline: 'middle', // 文本基线
fill: new Fill({
color: '#0e84ba'
}),
offsetX: 0
})
})
}
var vlayer = new VectorLyr({
title: 'polygon',
source: vectorSource,
style: styleFunction
})
this.map.addLayer(vlayer)
},
获取地图是否存在图层的函数。
// 根据图层title获取地图图层,如果有就返回图层,没有就返回null
getLayerFromMap(map, name) {
var layers = map.getLayers() // 获取地图所有图层
var layer = null
layers.forEach((item, index) => {
if (item.values_.title !== undefined) {
if (item.values_.title === name) {
layer = item
return layer
}
}
})
return layer
}
【版权声明】本博文著作权归作者所有,任何形式的转载都请联系作者获取授权并注明出处!
【重要说明】博文仅作为本人的学习记录,论点和观点仅代表个人而不代表技术的真理,目的是自我学习和有幸成为可以向他人分享的经验,因此有错误会虚心接受改正,但不代表此刻博文无误!
【博客园地址】叫我+V : http://www.cnblogs.com/wjw1014
【CSDN地址】叫我+V : https://wjw1014.blog.csdn.net/
【Gitee地址】叫我+V :https://gitee.com/wjw1014
【重要说明】博文仅作为本人的学习记录,论点和观点仅代表个人而不代表技术的真理,目的是自我学习和有幸成为可以向他人分享的经验,因此有错误会虚心接受改正,但不代表此刻博文无误!
【博客园地址】叫我+V : http://www.cnblogs.com/wjw1014
【CSDN地址】叫我+V : https://wjw1014.blog.csdn.net/
【Gitee地址】叫我+V :https://gitee.com/wjw1014
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2018-03-28 简单的Django向HTML展示动态图片 案例——小白
2018-03-28 简单的Django实现图片上传,并存储进MySQL数据库 案例——小白