本文主要介紹小地圖的渲染。
1、初始化
小地圖的初始化和可編輯戶型圖的初始化一樣,只需要在初始化的時候添加一個mode字段即可
//<div id='map'></div>
var thumbnail = new Palette({
mode: 'view' // 必須添加,表示當前畫板只做渲染
width: 125,
height: 125,
plottingScale: 1,
containerId: "map",
backgroundImg:'', // 非必要
data: JSON.parse(JSON.stringify(vectorMap)), //orthomap.json的vectorMap字段值
refs: { // 非必要
url: '',
},
rotation: 0,
ratio: 1,
styleOptions: {
wallColor: 0x959595,
},
});
2、ratio字段說明
小地圖和可編輯戶型圖初始化都有ratio字段,表示初始繪制內容的縮放,當兩者關聯渲染時,要做比例兼容
具體如何兼容案例如下:
var boxSize = 550
// scale 初始縮放比例,默認1
// 戶型圖編輯面板
var baseSize = 900;
var palette = new Palette({
// ...
width: 900,
height: 900
ratio:( scale * baseSize) / boxSize
})
// 小地圖
// 900是戶型圖編輯面板的寬度,125是小地圖的寬度
var correct = (baseSize / 900)* 125
var thumbnail = new Palette({
// ...
width: 125,
height: 125
ratio:( scale * correct) / boxSize
})
比例不相同會出現如下情況
3、畫板(背景圖+繪制內容)操作
// 縮放
thumbnail.worldScale(ratio: number)
// 平移
thumbnail.worldTranslate(x: number, y: number)
// 旋轉
thumbnail.rotate(rotation: number)
4、其他方法
// 初始化小地圖數據
thumbnail.initData(vectorMap)
文檔內容是否對您有幫助?