private void CreateLabel(AxJasSceneControl control, JasVector3 lonlat, JasVector3 offset, string text, JasColour textColour, JasColour frameColour) { var pos = control.MathUtility.Spherical2Cartesian(lonlat.X, lonlat.Y, lonlat.Z); var rootNode = control.SceneManager.CreateSceneNode(jasSceneMemoryType.SMT_Dynamic); var quat = new JasQuaternion(); quat.Set(1, 0, 0, 0); var sceneNode = rootNode.CreateChild(jasSceneMemoryType.SMT_Dynamic, pos, quat); if (_sceneLabelName == null) { //SceneLabel _sceneLabelName = DateTime.Now.Ticks.ToString(); var sceneLabel = control.SceneManager.CreateSceneLabel(_sceneLabelName); sceneLabel.AttachToNode(sceneNode, control.SceneView); sceneLabel.AppendText(text, "微软雅黑", 12, textColour); //背景图片 sceneLabel.CreateLabelContext("BlackWall.png"); //边框 sceneLabel.CreateLabelFrame(frameColour); //创建引线 sceneLabel.CreateTextLine(frameColour, offset); sceneLabel.SetLineType(0, jasLineType.JLT_TRIANGLE); sceneLabel.SetSelectable(false); sceneLabel.SetDepthCheckEnabled(false); } }
private void CreateLabel() { RemoveLabel(); var lonlat = new JasVector3 { X = Longitude, Y = Latitude, Z = Altitude }; var offset = new JasVector3 { X = 10, Y = 10, Z = 0 }; var text = "纬度: " + StringFormat.ConvertDigitalToDegrees(lonlat.Y) + (lonlat.Y < 0 ? " S\n" : " N\n") + "经度: " + StringFormat.ConvertDigitalToDegrees(lonlat.X) + (lonlat.X < 0 ? " W\n" : " E\n") + "高程: " + lonlat.Z.ToString(".00") + " M"; CreateLabel(_sceneControl, lonlat, offset, text, _foreground, _frameColor); }