zoukankan      html  css  js  c++  java
  • oplayers中点线面基本样式的写法

    1.点

    (1)以一个圆来表示点

     new Style({
                  image: new CircleStyle({
                    radius: 5,//半径
                    fill: //填充的颜色
        new Fill({
                    color: 'rgba(0, 0, 255, 0.1)'
                    //color: feature.values_.fill,
                  }),
                   stroke: new Stroke({color: 'red',  1}),//外围线的颜色
                  })
                })
    (2)以一个图标来表示点
    new Style({
              image: new Icon({
                src: '../../assets/images/map/juminqu.svg',
                scale: 0.08
              })
            })
     
    2.线
    (1)基本的线样式
     new Style({
                          stroke: new Stroke({
                            color: 'rgba(255,0,0, 1)',//线的颜色
           lineDash: [4],//线的颜色设置为虚线,虚线间隔为4
                             4//线的宽度
                          })
                        })
    (2)末尾以箭头形式表示的线
     style:
              function (feature) {
                var geometry = feature.getGeometry();
                var styles = [
                  new Style({
                    stroke: new Stroke({
                      color: 'rgb(160,82,45)',
                      lineDash: [8],
                       5,
                    }),
                  })];
                let length = geometry.flatCoordinates.length;
                var dx = geometry.flatCoordinates[length - 2] - geometry.flatCoordinates[length - 4];
                var dy = geometry.flatCoordinates[length - 1] - geometry.flatCoordinates[length - 3];
                var rotation = Math.atan2(dy, dx);
                styles.push(
                  new Style({
                    geometry: new Point([geometry.flatCoordinates[length - 2], geometry.flatCoordinates[length - 1]]),
                    image: new Icon({
                      src: '../../../../../assets/images/map/arrow.svg',
                      anchor: [0.75, 0.5],
                      rotateWithView: true,
                      rotation: -rotation,
                      scale: 0.12
                    }),
                  })
                );
                return styles;
              }
    3.面
     return new Style({
                          stroke: new Stroke({//面的边界线的样式
                            color: 'yellow',
                            lineDash: [4],
                             3,
                          }),
                          fill: new Fill({//面的填充
                            color: 'rgba(0, 0, 255, 0.1)',
                          }),
                        })
    4.文字注记
     style: function (feature) {
                return new Style({
                  text: new TextStyle({
                    text: `${feature.waterLength}`,//文字内容
                    fill: new Fill({//文字颜色
                      color: 'rgba(0, 0, 0)'
                    }),
                    offsetX: 0,//文字注记偏移位置
                    offsetY: 18//文字注记偏移位置
                    // backgroundStroke: new Stroke({//背景框样式
                    //   color: 'rgba(255,0,0, 0.7)',
                    //    1
                    // })
                  })
                })
              }
  • 相关阅读:
    CentOS6.4 配置mysql服务器启动多个端口,同步单表数据
    生成CSV文件后再将CSV文件导入到mysql
    Quartz Cron 表达式
    Jquery 提示插件alertify 【备用】
    tnsping 命令解析
    Gearman安装及使用
    Redis安装部署
    Linux多网卡负载均衡 : bond
    ulimit命令
    Nginx 负载均衡
  • 原文地址:https://www.cnblogs.com/maycpou/p/14572302.html
Copyright © 2011-2022 走看看