飞机起飞剖面航迹的航迹路线-leaflet方式

0 示例演示地址

GIS动态扩散模型-演示版 https://simu.cool/vue/#/

1 安装依赖

npm install leaflet-polylinedecorator

2 引用依赖

import "leaflet-polylinedecorator"

3 定义图层组

  options: {
    //图层组
    markerPtRenderlayerGroup: undefined,
    markerPlRenderlayerGroup: undefined,
  },

  onAdd(map) {
    this._map = map;
    //存放每组点的经纬度
    this.options.latlngs = [];
    this.options.markerPlRenderlayerGroup = L.layerGroup().addTo(this._map);
    this.options.markerPtRenderlayerGroup = L.layerGroup().addTo(this._map);
    // 初始化界面
    this._initLayout();
    return this._container;
  },

5 渲染Geojson线对象

// 标绘飞行路线和方向
  startMarkerVectorFlight(geojsonFeatures) {
    let array = [];
    for (let i = 0; i < geojsonFeatures.length; i++) {
      let geoData = geojsonFeatures[i];
      let geojsonFeature = JSON.parse(geoData.geojsonKeyPt);
      let temp = [];
      temp.push(geojsonFeature.coordinates[1]);
      temp.push(geojsonFeature.coordinates[0]);
      array.push(temp);
    }
    //3.绘制图案
    var pathPattern = L.polylineDecorator(array, {
      //添加模式
      patterns: [
        {
          //模式符号的偏移位置
          offset: 0,
          //模式符号的重复间隔
          repeat: 10,
          //符号实例
          symbol: L.Symbol.dash({
            //符号大小
            pixelSize: 5,
            //符号样式
            pathOptions: {
              //颜色
              color: 'yellow',
              //线宽
              weight: 2,
              //透明度
              opacity: 1
            }
          })
        },
        {
          //模式符号的偏移位置
          offset: '0%',
          //模式符号的重复间隔
          repeat: '20%',
          //符号实例
          symbol: L.Symbol.marker({
            //是否允许旋转
            rotate: true,
            //标记显示样式
            markerOptions: {
              //图标
              icon: L.icon({
                //图标地址
                iconUrl: './img/icon_plane.png',
                //图标位置
                iconAnchor: [16, 16]
              })
            }
          })
        }
      ]
    }).addTo(this.options.markerPlRenderlayerGroup);
  },

注意在目录中放入飞机图片。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值