有一个需求,给的数据可以用linestring画出来,但是边框需要按照途中标注的用曲线表示,有点类似linedash的只是把虚线要绘制成途中的样式,各位有好的方法吗。openlayers的ol.style.stroke目前看来只找到了用canvas画布来自定义边框但是效果不理想..canvas设置的边框样例http://viglino.github.io/ol-ext/examples/style/map.style.strokepattern.html
13条回答 默认 最新
关注 获得0.60元问题酬金 引自强大而免费的微信小程序:皆我百晓生。
在OpenLayers中,可以使用
ol.style.Stroke
来设置面或者线的边框样式。ol.style.Stroke
包含以下属性可供自定义:color
:边框的颜色,可以是CSS颜色字符串或者RGBA数组。width
:边框的宽度。lineDash
:边框的虚线样式。
要实现按照途中标注的样式来绘制边框,可以使用
ol.style.Stroke
的lineDash
属性。根据你的需求,你可以将lineDash
属性设置为包含曲线样式的数组,例如[5, 5]
表示5像素实线和5像素空白(间隔)。以下是一个示例代码,展示如何设置面的边框样式:
var fill = new ol.style.Fill({ color: 'rgba(255, 255, 255, 0.6)' }); var stroke = new ol.style.Stroke({ color: 'rgba(0, 0, 255, 1)', width: 2, lineDash: [5, 5] // 曲线样式:5像素实线和5像素空白 }); var style = new ol.style.Style({ fill: fill, stroke: stroke }); var feature = new ol.Feature(...); // 创建一个要素,例如线的几何图形 feature.setStyle(style); // 设置要素的样式
你可以根据实际需求调整
color
、width
和lineDash
属性的设置。希望对你有所帮助!
解决 1无用
悬赏问题
- ¥15 minnio内存占用过大,内存没被回收(Windows环境)
- ¥65 抖音咸鱼付款链接转码支付宝
- ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
- ¥15 求螺旋焊缝的图像处理
- ¥15 blast算法(相关搜索:数据库)
- ¥15 请问有人会紧聚焦相关的matlab知识嘛?
- ¥15 网络通信安全解决方案
- ¥50 yalmip+Gurobi
- ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
- ¥15 itunes恢复数据最后一步发生错误