接口Command可以调用的命令是TerraExplorer菜单中的命令,比如打开、保存文件,导航,分析等命令。既然skyline给我们提供了这么好的方式,那么我们在进行程序设计的时(尤其是导航)候有些操作就不用自己单独去写程序了,这点类似ArcEngine中命令的调用,但是在skyline中比较方便只要提供命令的id,并使用Execute(CommandID,parameters)方法就可以了。命令的列表在此就不给出了,可以到api中查找,下面给出两个小例子说明该接口的使用。
1.指北
作用:将观察角度指向正北。
自己写方法:获取当前相机的位置点,然后设置相机旋转角度为0,设置相机新的位置就可以了,其实旋转也是这个原理。
使用命令:
sgworld.Command.Execute(1056,0);//指北
2.旋转
描述:围绕一点,对改点进行环视;
原理:要计算观察点和相机点的角度,然后按照1的方法,相比使用命令这个比较灵活可以指定观察点;
使用命令:
sgworld.Command.Execute(1057, 0);//旋转
下面是两个方法的完整代码,定义了Navigation对象,对象中包含了指北和旋转的代码:
var Navigation = {
/*
指北
*/
North: function () {
try{
var sgworld = document.getElementById('sgworld');
sgworld.Command.Execute(1056,0);//指北
}
catch (e) {
alert("操作失败:" + e.message);
}
},
//旋转
Rotate:function(){
try {
var sgworld = document.getElementById('sgworld');
sgworld.Command.Execute(1057, 0);//旋转
}
catch (e) {
alert("操作失败:" + e.message);
}
}
}