new MapInteractor(g3d)
地图场景模式交互器
该交互模式下,具体行为如下:
鼠标操作:左键 drag 上下移动场景翻转;左键 drag 左右移动围绕中心旋转;滚轮进行走近和远离中心; 右键 pan 抓图,同默认模式不一样的是抓图时不改变相机视角(上下抓 图时相机的仰角);按住 shift 进行右键 pan 的时候同默认模式,此时相机视角可能发生变化;
触屏交互:单指 pan 抓图,抓图时不改变相机视角;双指绕着中心旋转则 rotate 场景;双指拿捏 pinch 方式的缩放;双指同上同下进行视角翻转;三指跟单指一样做 pan 行为, 不同的是抓图时改变相机视角;
属性设置:
panButton,默认 right,表示用哪个键来做 pan 手抓图,改成 left 则切换为左键抓图
keepHorizon,默认 true,抓图过程是否保持相机视角不变(注意,按 shift 会临时切换这个值为反)
minPhi,默认 0,相机最小仰角,默认 0 表示正上方
maxPhi,默认 5/12 Pi,相机最大仰角
Parameters:
Name | Type | Description |
---|---|---|
g3d |
ht.graph3d.Graph3dView | 场景 |
Example
//示例:
var mapInteractor = new ht.graph3d.MapInteractor(g3d);
g3d.setInteractors([ mapInteractor ]);
// 修改最大仰角为 2/5 PI,可选项
mapInteractor.maxPhi = Math.PI * 2 / 5;
// 切换左右键习惯,用左键进行 pan 手抓图
mapInteractor.panButton = 'left';
Extends
Members
-
g3d :ht.graph3d.Graph3dView
-
- Inherited From:
-
gv :ht.graph3d.Graph3dView
-
- Inherited From:
Methods
-
addListeners() → {void}
-
添加事件监听
交互器遍历自身的 handle_xxx 函数,如果发现 xxx 匹配某种事件类型,会增加相应的事件监听
例如:
handle_keydown keydown 事件处理函数Returns:
void- Inherited From:
-
fi(event) → {void}
-
派发交互器事件
Parameters:
Name Type Description event
any Returns:
void- Inherited From:
-
getClass() → {function}
-
获取类声明(构造函数)
Returns:
function- Inherited From:
-
getClassName() → {string}
-
获取类全名
Returns:
string- Inherited From:
-
getSuperClass() → {function}
-
获取父类声明(构造函数),继承类时可以用来调用父类构造或函数
Returns:
function -父类声明(构造函数)
- Inherited From:
-
getView() → {HTMLDivElement}
-
获取拓扑组件的根层div
Returns:
HTMLDivElement- Inherited From:
-
removeListeners() → {void}
-
移除事件监听
Returns:
void- Inherited From:
-
setUp() → {void}
-
安装函数
Returns:
void- Inherited From:
-
startDragging(event) → {void}
-
开始拖拽
Parameters:
Name Type Description event
Event Returns:
void- Inherited From:
-
tearDown() → {void}
-
卸载函数
Returns:
void- Inherited From: