"调用API切换场景"-注意事项:
1.该方案支持室内模式下多次切换地图场景;
2.如果是城市模式使用,室外城市地图仅加载一次,但可以多次切换室内场景;
3.该方案改动代码相对简单,可有效减少切换地图带来的内存负担。
// *********** 关键API:执行切换场景 ***********
map.openMapById(bid) // 室内模式:根据id切换场景
map.openBuildingById(bid) // 城市模式:只切换室内地图场景
"创建iframe切换场景"-注意事项:
1.创建iframe窗口覆盖当前视窗,该方案支持任意模式下切换场景;
2.改动代码相对复杂,但切换速度优势和业务区分更明显;
3.原理是通过iframe创建新场景页面掩盖住原场景,同样支持实现多场景同时展示。
// *********** 关键API:停止原地图场景渲染 ***********
map.stopRender() // 停止原场景的渲染有效减少性能损耗
map.reRender() // 在切换回原场景时调用恢复渲染
其他注意事项:
点击错位,动态调整三维场景容器大小
// 可能会遇到容器宽度或者高度发生变化导致渲染错位
map.mapView.updateSize() // 容器宽高更改后调用
若出现白屏的情况,请给容器设置宽高
#map-container {
position: absolute;
left: 0;
top: 0;
width: 100vw;
height: 100vh;
}