geojson文件默认已有的style会导致webGL渲染错误处理办法

161 篇文章 2 订阅
144 篇文章 0 订阅

geojson文件默认已有的style会导致webGL渲染错误处理办法

相关链接:

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

代码:

export function showDraw(isFlyTo) {
  removeLayer()

  graphicLayer = new mars3d.layer.GeoJsonLayer({
    data: {
      type: "FeatureCollection",
      features: [
        {
          type: "Feature",
          geometry: {
            type: "Point",
            coordinates: [121.453893, 29.888391],
          },
          properties: {
            gid: "1",
            code: "1718850737365",
            type: 'circleP',
            style: {
              radius: 1693.63
            }
          },
          id: "fid--45368680_1902ac1ce0f_-7fde",
        },
      ],
    },
    symbol: {
      styleOptions: {
        color: "#FF0000",
      },
    },
    flyTo: true
  });
  map.addLayer(graphicLayer);
}

效果:

报错:

Cesium.js:15236 An error occurred while rendering.  Rendering has stopped.
DeveloperError: normalized result is not a number
Error

处理办法:

设置下 merge为true即可,

正确代码:

export function showDraw(isFlyTo) {
  removeLayer()

  graphicLayer = new mars3d.layer.GeoJsonLayer({
    data: {
      type: "FeatureCollection",
      features: [
        {
          type: "Feature",
          geometry: {
            type: "Point",
            coordinates: [121.453893, 29.888391],
          },
          properties: {
            gid: "1",
            code: "1718850737365",
            type: 'circleP',
            style: {
              radius: 1693.63
            }
          },
          id: "fid--45368680_1902ac1ce0f_-7fde",
        },
      ],
    },
    symbol: {
      merge: true,
      styleOptions: {
        color: "#FF0000",
      },
    },
    flyTo: true
  });
  map.addLayer(graphicLayer);
}

正常效果:

原因:

1.内置的style与symbol配置冲突,需要合并并覆盖json中已有的style

相关api:

Mars3D三维可视化平台 | 火星科技

 

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值