Skyline 添加定位點數據庫
sgworld.Creator.CreatePosition
CreatePosition( X, //興趣點的東西方向座標,即經度 Y, //興趣點的南北方向座標,即緯度 Altitude, //興趣點的高程,即高度 AltitudeType, /* * 一個枚舉值,定義了高程類型。 * 0表明定位點在地面以上指定高度。 * 1表明定位點在海平面的高度。 * 2表明在地形表面建立定位點。 * 3表明定位點在基於橢球基準面的地形數據庫指定高度位置。 * 4表明以必定高度建立在 3DML 之上 * 注:1 和 2 的值應用於二維的形狀和多邊形。4 只適用於圖片和文本標籤。 * */ Yaw, //視點和興趣點的偏移角度。範圍 0°到 360°,0=北,90=東,180=南,270=西 Pitch, //視點和興趣點的俯仰角度。範圍-90°到+90°,0=水平,+90=自下到上垂直,-90=自上到下垂直。 Roll, //視點和興趣點的翻滾角度。範圍-90°到+90°,0=水平,+90=徹底向右翻滾,-90=徹底向左翻滾。 Distance //距離點座標(X,Y,height)的距離,點必須在視線範圍內。 );
Skyline 添加文本標籤框架
sgworld.Creator.CreateLabel
CreateLabel( Position, //表示點的位置和方向 Text, //須要顯示的文本 ImageFileName, //顯示在標籤中的圖像文件的完整路徑或 URL。若是給參數傳遞 Null 則只建立文本標籤。 LabelStyle, /* 標籤樣式(例如,顏色,字體和可視距離屬性) * Bold 若是這個參數設置爲 TRUE,字體樣式設置爲粗體。 * FontName 字體的名稱。 * FontSize 以像素爲單位的字體大小。文本的大小尺寸範圍從 8 至 72。 * FrameFileName 一個全路徑名或一個框架文件的 URL,爲標籤邊界使用的文件。 * Italic 若是這個參數設置爲 TRUE,字體樣式設置爲斜體。 * Underline 若是是 TRUE,字體樣式設置下劃線。 * LimitScreenSize 若是這個參數設置爲 TRUE,當攝像機靠近的時候,標籤保持其原始大小。 * LineToGround 若是這個參數設置爲 true,一條線從支點向下延伸。 * LockMode 該文本標籤的位置參數,自動調整面對鏡頭並肯定被鎖定的位置組字段值。 * MaxImageSize 圖像的最大尺寸。 * MaxViewingHeight 肯定該標籤可見的最大高度。 * MinViewingHeight 肯定的最低可見高度。飛行時比該值低,標籤消失。 * MultilineJustification 若是有多行文本,此選項決定文本對齊方式。能夠有如下值之一:"left","rihgt"或"center"。(默認:"center")。 * PivotAlignment 決定了標籤相對於其支點對齊:Top, Left; Top, Center; Top, Right; Center, Left; Center, Center; Center, Right; Bottom, Left; Bottom, Center; Bottom, Right。 * Scale 標籤在每一個像素的尺寸,最大字符高度爲文字大小的倍數值。 * ShowTextBehavior 肯定的標籤中包含的文字圖像和文字可否始終顯示或當鼠標光標懸停在標籤上面纔會顯示。0表明始終顯示標籤的文本。1表明僅當鼠標懸停在標籤的圖標顯示標籤的文本。 * SmallestVisibleSize 獲取和設置文字的最小高度。以像素爲單位。當攝像機靠近時,標籤消失。 * TextAlignment 決定了有關的背景文本的水平和垂直對齊方式。該文本的有關背景圖像的水平對齊有如下值之一:Left, TopLeft, TopRight, Top, Right, RightBottom, Bottom, BottomLeft (默認: Bottom). * TextOnImage 若是爲 true,則文本顯示在標籤中的圖像之上。不然,標籤擴大使文字圍繞圖像顯示。若是此標籤集沒有圖像,則此參數被忽略。 */ GroupID, /* 標籤在工程樹中的位置,若是它被設置爲空字符串,對象在根目錄下建立。 也能夠經過下列方法之一,來取得的 GroupID: * 一、使用 IProjectTree66.CreateGroup 建立組。 * 二、若是你知道這個名字,使用 IProjectTree66.FindItem 查找組。 * 三、使用 IProjectTree66 中的方法遍歷組,例如 GetNextItem, 直到找到想要的組的 ID。 */ Description //標籤在項目樹中的名稱,若是這個參數爲一個空字符串,TerraExplorer 自動分配一個惟一的名稱。 )
下面是一個簡單的方法示例能夠進行參考
//傳入點的經度、維度、高度 function DrawLabel(x, y, z) { try { //建立點 var labelPos = sgworld.Creator.CreatePosition(x, y, z, 2); var cLabelStyle = sgworld.Creator.CreateLabelStyle(); cLabelStyle.TextOnImage = false; //設置文本是否顯示在圖像上。設置true(字在圖上),設置false(字在圖下) cLabelStyle.Bold = true; //設置粗體 // cLabelStyle.LineToGroundType = 1;//無此參數 cLabelStyle.MultilineJustification = "center"; //若是有多行文字的話,肯定文本對齊方式 cLabelStyle.TextAlignment = "Bottom"; //決定了有關的背景文本的水平和垂直對齊。 cLabelStyle.MaxViewingHeight = 800; //最大高度,若是超過此高度後,該點將隱藏 var cLabelPath = "F:\\myself\\images\\green_bubble.png"; //圖片路徑 var label1 = sgworld.Creator.CreateLabel(labelPos, "guanxin", cLabelPath, cLabelStyle, sgworld.ProjectTree.FindItem("新建組 ##575097"), "green_bubble"); sgworld.Navigate.FlyTo(label1); labelPos.X += 0.001; labelPos.Altitude += 0; //添加點的高度 var cLabelPath2 = "F:\\myself\\images\\grey_bubble.png"; //圖片路徑 var label2 = sgworld.Creator.CreateLabel(labelPos, "北京科技有限公司.\r\n西安辦事處\r\n", cLabelPath2, cLabelStyle, sgworld.ProjectTree.FindItem("新建組 ##575097"), "grey_bubble"); } catch(e) { alert("Unexpected error: " + e.description); } }