您的位置:首页 > 移动开发 > Objective-C

如何利用Skyline6.1的接口创建动态对象DynamicObject

2012-12-26 10:23 387 查看
思路:根据已知的一条Polyline来创建一个动态对象,沿着这个Polyline轨迹运动的对象;

在实际的项目应用中,我们可以用这种对象来模拟台风运动轨迹、跟踪车辆GPS轨迹等;

程序很简单,如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>DynamicObject</title>
<script type = "text/javascript" language = "javascript">
var gPolyObj = null;
function StartCal() {
var SGWorld = new CreateSGObj();
gPolyObj = SGWorld.Creator.CreateDynamicObject(0, 1, 1, "010", 100, 0, 0, "010");
gPolyObj.CircularRoute = 0;
gPolyObj.TurnSpeed = 100;

var ItemID = SGWorld.ProjectTree.FindItem("Polyline");
if (ItemID > 0) {
var obj = SGWorld.ProjectTree.GetObject(ItemID);
for (var i = 0; i < obj.Geometry.Points.count; i++) {
var RouteWaypoint = SGWorld.Creator.CreateRouteWaypoint(obj.Geometry.Points.Item(i).X, obj.Geometry.Points.Item(i).Y, obj.Geometry.Points.Item(i).Z,800,0,0,0,0,0,-1);

gPolyObj.Waypoints.AddWaypoint(RouteWaypoint);
}
}

SGWorld.Navigate.FlyTo(gPolyObj,11);
}

function CreateTempGroup(groupname) {
var SGWorld = new CreateSGObj();
var gid = SGWorld.ProjectTree.FindItem(groupname);
if (gid > 0) {

}
else {
gid = SGWorld.ProjectTree.CreateLockedGroup(groupname, 0);
}
return gid;
}

function DelTemp(groupname) {
var SGWorld = new CreateSGObj();
var gid = SGWorld.ProjectTree.FindItem(groupname);
if (gid > 0) {
SGWorld.ProjectTree.DeleteItem(gid);
}
}

/*
功能:   创建sgworld对象
备注:   赵贺 2011.04.01.
*/
function CreateSGObj() {
var obj = $("sgworld");
if (obj == null) {
obj = document.createElement('object');
document.body.appendChild(obj);
obj.name = "sgworld";
obj.id = "sgworld";
obj.classid = "CLSID:3a4f91b1-65a8-11d5-85c1-0001023952c1";
}
return obj;
}
function $(id) {
return window.document.getElementById(id);
}
</script>
</head>
<body>
<table style="margin: 0px; border: 0px;">
<tr>
<td colspan="4">
<input id="Button6" type="button" value="绘制" onclick="StartCal()" />
</td>
</tr>
</table>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: