2.3 三维地图初始化

本章节将详细介绍如何使用 CooWasm API 完成三维地图的初始化。

编写Hello CooWasm

1.引入cooWasmApi.js

在工程中使用 CooWasm,需先将 CooWasm 目录下的所有文件复制到工程的任意目录,然后在页面中引入cooWasmApi.js文件。

<script type="text/javascript" src="cooWasmApi.js"></script>

2.创建canvas画布

在页面中创建<canvas>元素作为三维地图的显示区域,并设置唯一的id属性:

<canvas id="canvas"></canvas>

3.实现初始化代码

通过CooWasm.Map构造函数完成地图初始化,传入的id需与<canvas>元素的id保持一致。所有 CooWasm API 对象均需添加 CooWasm前缀。

地图初始化完毕,会调用initCallback函数告知:

var map = new CooWasm.Map("canvas",{
    initCallback:() => {
        console.log("初始化完成!");
    }
});

4.进行授权

在初始化时加上对应的授权ip与端口:

var map = new CooWasm.Map("canvas",{
    licIp:127.0.0.1,//授权服务ip
    licPort:8088,//授权服务端口
    initCallback:() => {
        console.log("初始化完成!");
    }
});

5.进度条禁用或修改

如果不喜欢地图自带的等待进度条,想实现自己的进度条,可设置bProgressfalse,关闭默认进度条:

var map = new CooWasm.Map("canvas",{
    licIp:127.0.0.1,//授权服务ip
    licPort:8088,//授权服务端口
    initCallback:() => {
        console.log("初始化完成!");
    }
});

5.初始化动画禁用或修改

如果不喜欢地图自带的初始化动画,想实现自己的初始化动画,可设置bProgressfalse,关闭默认动画:

var map = new CooWasm.Map("canvas",{
    bProgress: false,
    initCallback:() => {
        console.log("初始化完成!");
    }
});

实现自己进度条时,需要注意的是,不要使用地图正在使用的canvas,会导致地图图形环境初始化异常!

6.三维地图隐藏

在业务场景中如需临时隐藏三维地图,可调用visible()方法:

map.visible(false);

7.三维地图销毁

调用方法destroy():

map = map.destroy();

8.三维地图WASM模块缓存机制

考虑到WASM模块占用空间较大,在浏览器访问时,会消耗很多时间在下载、编译上,因此引入了缓存机制,通过bCache控制缓存开启与否。

默认情况下,缓存机制默认开启,用于提高WASM的初始化速度,减少时间消耗,优化用户的使用体验。

bCache设置为false时,会主动在初始化时强制清除当前缓存,也就意味着每次启动都会从服务器端拉取最新代码,此种方式不太推荐。

如果因为版本更新,或者排查问题,想主动清理WASM模块缓存,有两种方式。

API接口清除

map.clearCache();

通过调用该接口,可强制清理当前WASM模块缓存,仅生效一次。

Chrome调试控制台手动清除

通过F12打开Chrome调试控制台,按照如图所示选择、操作:

操作说明

还有一种常规网页缓存,只需要在Chrome调试控制台开启时,如图所示选择、操作,即可快速清理:

操作说明

现在你已经学会使用CooWasm API创建、显隐、销毁三维地图应用。如果想要继续开发更多功能,请继续后面几个章节的学习。

CopyrightFile Modify: 2025-07-10 09:04:25

results matching ""

    No results matching ""