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); } }
/// <summary> /// 定位到经纬度工具 /// </summary> /// <param name="control">三维控件</param> /// <param name="flyheight">飞行高度</param> public LocateToLatLangControler(AxJasSceneControl control, double flyheight = 500) { _sceneControl = control; _flyHeight = flyheight; _bgWorker = new BackgroundWorker(); _bgWorker.WorkerReportsProgress = true; _bgWorker.DoWork += DoWork_Handler; _bgWorker.ProgressChanged += ProgressChanged_Handler; }