Camera相機(jī)控制了三維場(chǎng)景的視圖。有很多方法可以操作Camera,如旋轉(zhuǎn)(rotate)蜀漆、縮放(zoom)、平移(pan)和飛到目的地(flyTo)咱旱。同時(shí)也有鼠標(biāo)和觸摸事件用來(lái)處理與Camrea的交互确丢,還有API來(lái)以編程方式操作攝像機(jī)。
#1. map中視角相關(guān)設(shè)置和方法
我們?cè)趧?chuàng)建地圖時(shí)吐限,可以在scene的center參數(shù) (opens new window)中來(lái)設(shè)置默認(rèn)視角鲜侥,如:
var map = new mars3d.Map('mars3dContainer', {
scene: {
center: { lat: 25.389914, lng: 119.084961, alt: 1179575, heading: 346, pitch: -60 }
}
})
當(dāng)前map中與相機(jī)有關(guān)的方式:
方法名 | 說(shuō)明 |
---|---|
map.getCameraView()(opens new window) | 可以獲取當(dāng)前地圖 |
map.setCameraView(cameraView, options)(opens new window) | 將相機(jī)本身定位至指定位置 |
map.setCameraViewList(arr, enfun)(opens new window) | 定位到多個(gè)相機(jī)視角位置,按數(shù)組順序播放 |
map.flyHome()(opens new window) | 飛行到默認(rèn)視角诸典, 一般為config.json中的center參數(shù)配置的視角描函。 |
map.flyTo(target, options)(opens new window) | 飛行定位至 Cesium相關(guān)矢量對(duì)象 處 |
map.flyToGraphic(graphic, options)(opens new window) | 飛行定位至 Graphic矢量對(duì)象 處 |
map.flyToExtent(extent, options)(opens new window) | 飛行定位至 矩形區(qū)域 處 |
map.flyToPositions(positions, options)(opens new window) | 飛行定位至 坐標(biāo)數(shù)組 處 |
map.flyToPoint(point, options)(opens new window) | 視角中心定位至目標(biāo)點(diǎn)(非相機(jī)位置) |
map.cancelFlyTo()(opens new window) | 停止視角定位等操作 |
#2. camera相機(jī)對(duì)象
map.camera (opens new window)相機(jī)對(duì)象,由三維地圖內(nèi)部創(chuàng)建的Camera (opens new window)類(lèi), 描述了相機(jī)的當(dāng)前狀態(tài)狐粱,包括:位置(position),朝向( orientation), 參考空間( reference frame), 視錐體(view frustum).
#2.1 平移位置
move*
和 zoom*
方法舀寓,沿著相機(jī)方向或者某個(gè)給定向量來(lái)平移相機(jī)的位置,相機(jī)朝向不變。
#2.2 旋轉(zhuǎn)朝向
look*
和 twist*
方法肌蜻,旋轉(zhuǎn)相機(jī)朝向互墓,向前向量(direction),向上向量(up)宋欺,向右向量(right)都會(huì)改變,相機(jī)位置保持不變轰豆。
#2.3 平移位置+旋轉(zhuǎn)朝向
rotate*
方法,相對(duì)一個(gè)給定的向量齿诞,旋轉(zhuǎn)相機(jī)的位置和朝向酸休。
#2. screenSpaceCameraController 鼠標(biāo)相機(jī)控制器對(duì)象
map.scene.screenSpaceCameraController 是ScreenSpaceCameraController (opens new window)類(lèi) 。 把屏幕畫(huà)布上的用戶輸入(鼠標(biāo)拖拽點(diǎn)擊或者觸摸事件)來(lái)修改相機(jī)的位置和方向祷杈。 它包含一些屬性斑司,可以啟用/禁用某種用戶輸入,修改慣性、最小最大縮放距離等宿刮。
默認(rèn)地互站,場(chǎng)景支持鼠標(biāo)(電腦端)和手指觸摸(移動(dòng)端)交互,并且支持以下相機(jī)漫游方式:
鼠標(biāo)操作 | 3D視圖 | 2D視圖 | 2.5D視圖 |
---|---|---|---|
左鍵 + 拖拽 | 旋轉(zhuǎn) | 平移 | 平移 |
右鍵 + 拖拽 | 縮放 | 縮放 | 縮放 |
中鍵滾輪 | 縮放 | 縮放 | 縮放 |
中鍵 + 拖拽 | 傾斜 | 無(wú)操作 | 傾斜地球 |