遮罩层 mask:true ,与symbol: { type: “polylineC“,冲突解决方案

183 篇文章 2 订阅
165 篇文章 0 订阅

问题场景:添加为遮罩层 mask为true 的时候 添加 symbol: {
  type: "polylineC",
  styleOptions: {
    width: 50, // 线宽
    materialType: "PolylineGlow",
    materialOptions: {
      color: "#ff8b4d",
      opacity: 0.9,
      glowPower: 0.06 // 发光强度
    }
  }
}

此时,发光强度加上去之后,遮罩不起作用。

问题原因:

目前内置的type:“mask” 对应全球遮罩mars3d.graphic.Mask对象。指定了就不是遮罩对象

解决方案:

实现代码:

import * as mars3d from "mars3d"

export let map // mars3d.Map三维地图对象

// 需要覆盖config.json中地图属性参数(当前示例框架中自动处理合并)
export const mapOptions = {
  scene: {
    center: { lat: 30.307787, lng: 117.559842, alt: 312871, heading: 0, pitch: -64 },
    cameraController: {
      zoomFactor: 3.0
      // minimumZoomDistance: 1,
      // maximumZoomDistance: 1000000
    }
  }
}

/**
 * 初始化地图业务,生命周期钩子函数(必须)
 * 框架在地图初始化完成后自动调用该函数
 * @param {mars3d.Map} mapInstance 地图对象
 * @returns {void} 无
 */
export function onMounted(mapInstance) {
  map = mapInstance // 记录首次创建的map

  addDemoGeoJsonLayer1()
  addDemoGraphic1()
}

/**
 * 释放当前地图业务的生命周期函数
 * @returns {void} 无
 */
export function onUnmounted() {
  map = null
}

function addDemoGeoJsonLayer1() {
  // geojson 合肥边界线
  const geoJsonLayer = new mars3d.layer.GeoJsonLayer({
    url: "//data.mars3d.cn/file/geojson/areas/340100.json",
    mask: true, // 标识为遮罩层【重点参数】
    symbol: {
      styleOptions: {
        fill: true,
        color: "rgb(2,26,79)",
        opacity: 0.9,
        outline: true,
        outlineColor: "#39E09B",
        outlineWidth: 8,
        outlineOpacity: 0.8,
        arcType: Cesium.ArcType.GEODESIC,
        // global: false, // 是否全球遮罩,false时为中国区域
        clampToGround: true
      }
    }
    // flyTo: true
  })
  map.addLayer(geoJsonLayer)
}

function addDemoGraphic1() {
  // 创建矢量数据图层
  const geoJsonLayer = new mars3d.layer.GeoJsonLayer({
    url: "//data.mars3d.cn/file/geojson/areas/340100.json",
    symbol: {
      type: "polylineC",
      styleOptions: {
        width: 50, // 线宽
        materialType: "PolylineGlow",
        materialOptions: {
          color: "#ff8b4d",
          opacity: 0.9,
          glowPower: 0.06 // 发光强度
        }
      }
    }
    // flyTo: true
  })
  map.addLayer(geoJsonLayer)
}

链接:

功能示例(Vue版) | Mars3D三维可视化平台 | 火星科技

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值