Cesium + mapv 可视化

最近将 mapv 一些官方示例移植到了 Cesium 上,记录一下问题

mapv示例:mapv (baidu.com)

mapv 本身没有提供类型定义文件,直接通过 npm 下载的 mapv 库也只有 build 好的文件,故直接把 mapv.js 放到到工程内使用

注意,此处第一个坑就出来了,mapv 源码中,有一段代码他需要检测到 Cesium 的存在,之后才开始构建 cesiumMapLayer 类

if (typeof Cesium !== 'undefined') {
    var defIndex = 0;
    var r = Cesium;

    var MapVLayer$1 = function () {
        ...
    }
}

所以需要在全局挂载 Cesium,若想写在一个文件内,还不能用 import,会提升,所以要用require

let win: any = window;
win.Cesium = Cesium;

const mapv = require("./mapvAPI/mapv.js");

此时 mapv 中的 cesiumMapLayer 类就可以正常使用了。

然后只需要把 Demo 中的 baiduMapLayer 换成 cesiumMapLayer,第一个参数换成 viewer 即可。

这里我也没有研究太深入,mapv 的使用以后抽空可以看看,很强的一个可视化库,百度的几个可视化库都很牛。

完整版请移步LiZzhi/cesium-plugin (github.com),如果对您有帮助,请给我一颗star,谢谢。

posted @ 2023-01-19 23:18  邢韬  阅读(405)  评论(0编辑  收藏  举报