◕ε◕ 2023-11-01 09:01 采纳率: 0%
浏览 19
已结题

openlayer 在绘制面或者线的时候,可以设置边框样式吗

img

有一个需求,给的数据可以用linestring画出来,但是边框需要按照途中标注的用曲线表示,有点类似linedash的只是把虚线要绘制成途中的样式,各位有好的方法吗。openlayers的ol.style.stroke目前看来只找到了用canvas画布来自定义边框但是效果不理想..canvas设置的边框样例http://viglino.github.io/ol-ext/examples/style/map.style.strokepattern.html

  • 写回答

13条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2023-11-01 09:03
    关注
    获得0.60元问题酬金

    引自强大而免费的微信小程序:皆我百晓生

    在OpenLayers中,可以使用ol.style.Stroke来设置面或者线的边框样式。ol.style.Stroke包含以下属性可供自定义:

    • color:边框的颜色,可以是CSS颜色字符串或者RGBA数组。
    • width:边框的宽度。
    • lineDash:边框的虚线样式。

    要实现按照途中标注的样式来绘制边框,可以使用ol.style.StrokelineDash属性。根据你的需求,你可以将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); // 设置要素的样式
    

    你可以根据实际需求调整colorwidthlineDash属性的设置。

    希望对你有所帮助!

    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 11月9日
  • 创建了问题 11月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恢复数据最后一步发生错误